当前位置:首页 > 休闲

路由器内网穿透

家里宽带跑着千兆,器内NAS里存了一堆电影,网穿人在外面却连不上——这事我忍了三年。器内直到上个月出差,网穿酒店WiFi限速到2Mbps,器内想从家里服务器拖个300MB的网穿PPT都卡成幻灯片,才下决心把内网穿透彻底搞通。器内

先说个反直觉的网穿事实:你家的公网IP大概率已经没了。2019年之后,器内三大运营商在大部分地区默认只给内网IP,网穿100.64开头的器内地址段就是证据。打电话投诉?网穿客服会告诉你"IPv4资源枯竭",然后推荐你办企业专线。器内别折腾了,网穿这条路基本堵死。器内

DDNS是个陷阱

网上教程最爱推DDNS,花生壳、No-IP这些。我试过,路由器里填个域名,端口映射一开,理论上外网就能访问。问题是——你连公网IP都没有,DDNS解析到哪个地址?有些教程教你用路由器的WAN口IP,那玩意儿是运营商内网的,外面根本路由不到。白忙活。

真正能用的是反向代理隧道。原理不复杂:家里设备主动连一台有公网IP的服务器,把流量从那条连接里"引"回来。NAT不拦出站连接,所以这条路走得通。

我实际跑通的方案

试了四个工具,最后留下两个。

Tailscale最省心。装完登录,家里NAS、路由器、手机全在一个虚拟局域网里,IP直接互访。底层是WireGuard,速度能跑满宽带上行。缺点是依赖它家的协调服务器,虽然流量是端到端加密的,但心里总有点疙瘩。适合不想折腾的人,五分钟搞定。

frp更自由。需要一台公网VPS,我用的腾讯云轻量,一年百来块。服务端跑frps,家里路由器(OpenWrt)跑frpc,配置文件写清楚本地端口和远程端口。比如把NAS的5000端口映射到VPS的15000,外面访问vps_ip:15000就是家里的NAS。延迟比Tailscale低,因为走的是直连VPS。代价是要自己维护,VPS被墙了还得换。

有个细节:frp的TCP模式够用,别碰HTTP模式。HTTP模式要绑域名、配证书,除非你要挂网站,否则纯属给自己找事。

路由器上的坑

OpenWrt装frpc,opkg源里那个版本旧得离谱,不支持最新的token认证。建议去GitHub下静态编译的二进制,扔到/usr/bin/,写个init脚本开机自启。别用LuCI插件,那玩意儿配置界面逻辑混乱,改完不知道存哪了。

还有防火墙。Tailscale会自己加iptables规则,frp不会。如果家里路由器开了防火墙,记得放行frpc的出站连接,否则它连VPS都连不上。我在这卡了两小时,日志里只写"connection refused",误导性极强。

速度实测

电信500M下行/50M上行,VPS在上海。frp拖文件,稳定在4.5MB/s左右,差不多是上行跑满。Tailscale稍慢,3.8MB/s,波动大一点。看4K原盘够用,但别指望远程剪辑——延迟摆在那,RDP操作都有肉眼可见的滞后。

如果只是远程管理路由器、看看NAS文件,Tailscale足够。要跑服务、做端口转发给朋友用,frp更合适。两个都装也不冲突,我就这么干的。

最后提醒一句:别把内网穿透当VPN用。它只是打通了路,安全策略得自己加。frp的token设复杂点,Tailscale开设备审批,NAS别用默认密码。我见过有人把RDP直接暴露出去,三天后中勒索病毒,数据全没了。

分享到: