把一台闲置的把自旧笔记本做成服务器,最大的电脑障碍从来不是硬件性能,而是做成你家宽带根本没有公网IP。运营商在光猫上给你分配的服务访问是100.64开头的内网地址,外网设备连DNS都查不到你。器并这事我折腾了三个周末才彻底搞明白。外网
先确认你手里到底有没有公网IPv4。把自打开浏览器搜"IP地址",电脑记下显示的做成地址,再登录路由器后台看WAN口IP。服务访问两个不一致,器并说明你在大内网里。外网打运营商客服电话申请公网IP,把自电信通常报个工单就给,电脑联通和移动看地区,做成有的直接拒绝。拿到公网IP后,光猫改桥接、路由器拨号,这一步网上教程很多,不展开。
没有公网IP也有办法。ZeroTier或者Tailscale这类虚拟组网工具,原理是打洞直连,打不通就走中转。我家里NAS上跑着Tailscale,在外面用手机4G访问,延迟大约40ms,看个文件、远程桌面够用了。缺点是依赖第三方服务器做协调,哪天它挂了你也跟着挂。另一个方案是Cloudflare Tunnel,把本地服务通过cloudflared进程映射到公网域名,不需要开放任何端口。我拿它跑过一个博客,稳定运行了七个月没掉线。
假设你已经有了公网IP,接下来的事就简单了。在路由器上做端口映射,把外网某个端口转发到内网机器的IP和端口上。比如内网192.168.1.100的80端口,映射到外网8080。注意运营商封了80和443,别用这两个。映射完用手机切到4G,访问你的公网IP:8080,能打开就通了。
动态IP的问题得解决。家宽的公网IP每隔几天会变,重启光猫也会变。DDNS服务可以把一个固定域名指向你当前的IP。我用的是DuckDNS,免费,在服务器上跑一个更新脚本,每五分钟检查一次IP变化。路由器自带DDNS功能的话更省事,直接在后台填域名和token就行。
安全方面别偷懒。直接暴露端口到公网,扫描器几个小时内就会找上门。我曾在日志里看到,一台刚上线的机器,22端口一天内被尝试登录两万多次。改SSH默认端口、禁用密码登录只用密钥、装fail2ban,这三步是底线。Web服务前面挂个Nginx反代,只开443,证书用Let's Encrypt免费签。
性能上别指望旧笔记本能扛住高并发。我拿一台2015年的ThinkPad T450跑Nginx+PHP,同时在线20人左右CPU就跑到70%。内存加到8G,换块SSD,日常个人使用完全够。真要跑生产服务,还是租个云服务器省心,家宽的上传带宽通常只有30Mbps,别人下载你的文件会等到怀疑人生。
最后说个容易被忽略的点:电费。一台笔记本常年开机,功耗约15瓦,一年下来电费大概80块。加上宽带费用和硬件折旧,自己搭服务器的成本并不比买台入门VPS低。但数据在自己手里,想装什么装什么,这种掌控感是租不来的。