无需公网IP:华硕梅林路由器安装Tailscale实现外网访问内网教程
大家好,我是爱折腾的生活自由人。
大概1年半前,我把家里的宽带升级成了电信FTTR,HN8156XR-10那个光猫,带三个子设备,全屋信号确实满了,看视频打游戏都挺爽。但一直困扰我的一个老问题还是没解决——我在外面怎么连回家里那台NAS?
这台黑群晖,里面存了孩子成长这些年拍的所有照片,还有一些工作文件。平时在家用得好好的,一出门想找份文档或者翻张老照片,就心里落空空了。以前我用过DDNS,但那是IPv4公网IP时代的事了,现在IPv6虽然有了,可运营商的防火墙搞得人头大。DDNSTO之类的内网穿透工具我也试过,速度实在感人,传个小文件还行,看视频就卡得没法用。
所以这次换完FTTR之后,我下定决心,一定要把外网访问这件事彻底搞定。
过程挺曲折的,前前后后折腾了一周多,踩了不少坑。今天写这篇文章,就是把最终成功的那条路完整记录下来。如果你也是华硕梅林路由器,也有类似的需求,照着做应该能成。

先说一下我家的网络结构,这样后面步骤看起来更清楚:
光猫是电信的HN8156XR-10,负责拨号和DHCP,下面通过光纤接了三个子设备。其中一个子设备的LAN口拉了一根网线出来,接到我的华硕RT-AC1900P路由器上。这台华硕我刷了梅林固件,版本是386.14_2,工作模式设成了AP模式,WAN口空着没用。
电脑和NAS都直接插在这台华硕路由器的LAN口上。NAS我设了一个固定IP,192.168.1.100,方便后面配置。
整个折腾过程,我觉得最烦人的倒不是技术本身,而是各种小问题叠加在一起。

第一个卡住我的就是光猫的防火墙。HN8156XR-10这台光猫默认开了IPv6防火墙,从外网主动发起连接基本进不来。我一开始想在光猫后台找开关,结果发现普通用户进去那个“启用IPv6防火墙”选项是灰的,根本点不了。
后来在网上翻帖子,看到有人说可以用“检查元素”的方式去掉那个选项的disabled属性,然后在浏览器控制台执行SubmitForm()提交保存。我照做了,确实能关掉。但说实话这个方法对普通用户来说太麻烦了,而且每次光猫重启就要重新操作一遍,不持久。
后来我换了个思路——直接问装宽带的师傅要超管账号。师傅人不错,给了一个超级管理员密码,用那个账号登录光猫的8080端口后台,防火墙选项直接就能改,保存一次永久生效。这里我建议如果你也遇到同样的问题,别自己折腾那些奇技淫巧了,直接联系装维师傅要超管账号,省事得多。

光猫这关过了之后,我开始琢磨路由器这边怎么处理。
一开始我想装Lucky,这个软件集成了DDNS和端口转发,功能很全,社区口碑也不错。我在华硕的软件中心里搜了一圈,没找到。然后我去GitHub下载了armv7版本的安装包,打算离线安装,结果软件中心报错说没有install.sh脚本。我试了好几个版本都不行,折腾了两天,放弃了。

后来我把目光转向Tailscale。这东西不需要公网IP就能组虚拟局域网,手机上装个App就可以随时随地访问家里所有设备。我研究了一下,确实合适。
安装过程比我想象的简单得多。我在网上找到了一个Tailscale的离线安装包,文件名是tailscale_merlin_armv7.tar.gz,专门针对梅林固件的。下载下来之后,直接进了华硕路由器的软件中心,点手动安装,上传这个tar.gz文件,点击上传并安装,等了几秒钟就提示安装完成了,什么都不用改,不用输命令,不用解压,就是傻瓜式操作。
当时我还有点不敢相信,怎么这么顺利。然后去已安装列表里一看,Tailscale已经在里面了。那一刻真的是松了一口气,之前折腾Lucky花了整整两天,结果换个软件,几分钟就搞定了。

安装完成之后配置部分倒是不难。
在软件中心里打开Tailscale插件,会看到一个认证链接,复制到浏览器打开,登录我的Tailscale账号,点一下连接,路由器就和账号绑定了。
然后最关键的一步是开启子网路由。因为如果只是默认连接,从外网只能访问路由器本身,访问不了路由器下面的NAS和电脑。在插件的设置页面里,找到子网路由的选项,填上192.168.1.0/24,保存就行了。
这一行配置的意思是:我家里的所有设备都在192.168.1.x这个网段里,你在外网可以透过路由器访问它们。
填完之后还要去Tailscale的管理后台点一下启用,否则路由不会生效。登录后台,在设备列表里找到路由器,点设置菜单,选编辑路由设置,把刚才发布的网段打开就行。一秒钟就生效了。
最后我在手机上装了Tailscale的客户端,登录同一个账号,关掉Wi-Fi用5G网络试了一下,在浏览器里输入NAS的内网IP 192.168.1.100,5000端口,群晖的登录页面出来了。那一刻确实挺高兴的。

简单总结一下这套方案的好处。
第一,不需要公网IP。我家宽带没有固定公网IPv4,IPv6虽然有但是运营商的防火墙不好搞,Tailscale绕过了这个问题。
第二,不需要申请域名。不用花钱买域名,也不用配置DDNS,少了一道工序。
第三,不需要做端口转发。不用在路由器上开任何端口,安全很多,不会有被人扫描的风险。
第四,所有流量都是加密的。基于WireGuard协议,比普通的端口转发安全得多。
第五,免费版够用。Tailscale免费支持100台设备,家里手机、平板、笔记本全加起来也不超过十台,绰绰有余。
当然它也不是完美无缺的。Tailscale的传输速度取决于两个设备之间能不能建立P2P直连。如果双方都在对称型NAT后面,可能会走中转服务器,速度会降一些。但据我实际体验,日常看NAS上的照片、听音乐、翻文档都没问题,看视频偶尔会缓冲,但完全可用。
如果你也打算试一下,我把完整的操作步骤整理在下面:
第一步,光猫那边要用超管账号登录,把IPv6防火墙关掉。
第二步,在华硕路由器软件中心里,点手动安装,上传tailscale_merlin_armv7.tar.gz这个离线包,等几秒就装好了。
第三步,打开Tailscale插件,复制认证链接去浏览器登录。
第四步,在插件设置里填上你家局域网的网段,比如192.168.1.0/24,开启子网路由。
第五步,去Tailscale管理后台把路由启用。
第六步,手机装App登录,用5G网络访问NAS的IP试试。
就这几步,没有复杂的命令,没有诡异的报错。
说实话,这一周折腾下来,最有成就感的就是最后那一步——在外面用手机打开NAS的那一刻。技术这东西就是这样,过程可能很烦,但解决问题的瞬间还是值得的。
