当前位置: 首页 > news >正文

家里吃灰的电脑再利用,买个域名就能当服务器用

家里吃灰的电脑再利用,买个域名就能当服务器用

家里不用的旧电脑经过简单的配置也能当服务器使用。不是那种只能在局域网里自嗨的"服务器",是从外面用手机5G、用公司WiFi都能直接通过域名访问的那种。而且全程只需要花39元购买一个域名。

之前我租了台最低配的ECS跑个人项目,到期续费时发现涨价了不少。为了省点钱,不如把旧电脑再利用一下。IPV6 + DDNS 方案,只需要准备一个域名,就能实现家里电脑当服务器用。

你家宽带大概率已经有IPv6了

我用的是移动宽带,光纤入户。之前一直以为IPv6是个很遥远的东西,直到有天在路由器后台瞥了一眼——嗯?居然已经分配了IPv6地址?

查了一下才发现,三大运营商这几年已经把IPv6铺得差不多了。移动尤其积极,基本上只要你家光猫不是十年前的古董,IPv6默认就是开的。

光猫有IPv6不代表万事大吉了。后面还有几个坑得我挨个说。

配置路由器支持ipv6

路由器也需要配置,我使用的是小米路由器,在路由器运行模式的界面切换到中继模式。连接到路由器的设备直接被分配了ipv6地址,光猫负责ipv6地址的分配。

光猫的IPv6防火墙

光猫设备拿到了公网IPv6地址。路由器工作在了中继模式。从电脑ping外网的IPv6地址也通了。

但是外网设备能访问家里设备吗?不行。后来经过调查发现,光猫默认开启了IPv6入站防火墙,把所有来自外部的请求全挡了。

问题也好解决,登录光猫后关闭ipv6防火墙就好了。

进光猫后台,找"安全"或者"防火墙"相关的设置页,把IPv6入站防火墙关掉。每个光猫的选项位置不同,有的叫"IPv6 SPI防火墙",有的叫"IPv6入站规则"。总之找到它,关掉它。

关掉之后,从外面访问家里的IPv6地址——通了!


IPv6地址居然会变?

家庭宽带的IPv6前缀是通过DHCPv6-PD动态分配的。路由器重启、ISP那边维护、或者DHCPv6租约到期重新获取——这些情况都可能导致你的前缀发生变化。前缀一变,后面所有设备的地址就全跟着变了。 为了应对ipv6地址变化,我们需要一个DDNS(Dynamic DNS)服务。通过将域名和IPv6地址做一个映射,来实现动态更新IPv6地址。

DDNS方案:Python脚本 + 阿里云域名

写个脚本,每隔几分钟检测一次本机的稳定IPv6地址,如果变了就调阿里云API更新域名的AAAA记录。

域名我用的阿里云,便宜。.cn后缀的一年三十多块,.com也就六七十。在阿里云控制台申请就行,跟买东西一样,没什么好说的。

然后是权限。别用你的主账号AccessKey,去RAM访问控制创建一个子账号,专门给DDNS脚本用。权限给最小化——只需要三个操作:DescribeDomainRecordsAddDomainRecordUpdateDomainRecord

脚本的逻辑其实很简单:

整个脚本不到200行,纯Python标准库,不需要pip install任何东西。Python 3.6以上就行,现在几乎所有Linux发行版都自带了。

定时任务用cron,每5分钟跑一次:

*/5 * * * * /usr/bin/python3 /opt/ddns/ddns.py>>/var/log/ddns.log2>&1

5分钟这个频率我觉得刚好。够快——就算前缀变了,最多5分钟的不可达时间。也够慢——一个月下来API调用次数也就八千多次,阿里云的免费额度完全够用。


跑起来了

到现在跑了两个多星期,还算稳定。 现在在外面用手机5G打开浏览器,输入域名,直接就能访问到家里那台电脑上的服务。跟访问云服务器没什么区别。

总结

当然,免费的东西总有代价。家里宽带的上行带宽一般就30~50Mbps,跟云服务器比确实差了点意思。另外运营商基本都会封掉80和443端口(家庭宽带不允许对外提供标准Web服务),你得换别的端口,比如8080、8443。

还有稳定性——家里断个电断个网,服务就挂了。不像云服务器有SLA兜底。

但如果你跟我一样,只是跑个个人项目、搭个开发测试环境、挂个API或者私人网盘之类的,这个方案绰绰有余。

http://www.gsyq.cn/news/1592527.html

相关文章:

  • 如何快速配置Realtek 8852AE Wi-Fi 6驱动:完整实用指南
  • uniapp组件uni-datetime-picker常见bug
  • 世界杯主题活动海报转化拆解:信息层级、利益点与生成输入实操
  • 销售离职带不走客户?一部剪流AI员工手机,如何彻底杜绝销售飞单与客户流失
  • 网络安全监控体系
  • FDD大规模MIMO中鲁棒反向注水算法:应对CSI反馈挑战的工程实践
  • 魔兽争霸3辅助工具终极指南:5分钟解决所有兼容性问题
  • 日志管理化技术中的日志收集日志分析日志存储
  • 电池寿命预测的AI革命:微软开源工具BatteryML深度解析
  • DarkHole2靶场渗透实战:从信息收集到权限提升的完整路径解析
  • 绝地求生压枪宏:用Lua脚本实现罗技鼠标精准后坐力控制的完整指南
  • LangChain链式提示工程实战:从Rap生成器解剖AI工作流
  • Java网络编程NIO与Netty框架
  • 南宁青秀区跑了几家店,这家体验最舒服
  • 什么是基于文件的应用
  • Python 异步爬虫限速方案
  • AI文本分块实战指南:16种生产级策略与避坑方法
  • 快速掌握Apache Spark:从入门到实战的完整指南
  • 3分钟完成FF14国际服中文汉化:开源工具让语言不再是障碍
  • 为什么92.6%的VMware密码重置操作导致系统崩溃?——基于137例真实故障日志的根因分析与避坑清单
  • Kazumi视频播放器:揭秘智能进度条预览与高效播放体验的实现之道
  • Paperxie AI PPT 生成器:全场景文稿一键转演示文稿,打通内容创作与版式设计全流程
  • 3分钟快速免费提取Word文档中的Zotero和Mendeley引用:终极解决方案
  • 终极指南:5分钟掌握GHelper - 华硕笔记本性能调校的完整解决方案
  • 如何掌握华硕笔记本性能调优:G-Helper从入门到精通完全指南
  • Go语言的runtime.MemProfile中的开销性能
  • 银行流水公证怎么办?银行流水公证需要什么资料?
  • 技术创新中的知识产权保护与开放合作
  • Kimi K2.5职场提示词协议:认知减负与结构化协作实战指南
  • springboot+langchain4j 实战 Day13 多 Agent 协作(Router + 子 Agent 分流)