通过第三方的内网穿透应用进行异地组网
这部分我更建议使用tailscale,虽然客户端下载有一点麻烦(ios客户端下载需要美区账号,安卓需要到google商店下载,pc使用倒是可以直接官网下载),但稳定性和速度在不跨运营商的情况下基本可以跑满家宽上行。
准备工作:获取tailscale的auth key
打开tailscale官网,点击try for free
出来的登录页面尽量选择微软或者苹果账号登陆,相对来说更容易一些
![图片[2]-Aisword的探索随笔](/assets/storage/media/2026/03/b5765d8fdb6149ba83f00ee90a6d1ecf.jpg)
登录进入后点击settings>keys>generate auth key
![图片[3]-Aisword的探索随笔](/assets/storage/media/2026/03/155b8976f3ef45aeb3546d49fb5e2e40.jpg)
将reusable开关打开,点击generate key
![图片[4]-Aisword的探索随笔](/assets/storage/media/2026/03/8e36db7956e6436ba92f25081f6974cf.jpg)
将生成的key点击copy复制到本地备用
![图片[5]-Aisword的探索随笔](/assets/storage/media/2026/03/b900a612a7c5450bab4ef69c7910d6d9.jpg)
依然是用绿联云为例,部署比较简单,群晖极空间都可以参考,我们部署下tailscale的docker容器来作为网关
先在docker目录下创建tailscale目录,再在底下创建一个tun和一个lib文件夹
![图片[6]-Aisword的探索随笔](/assets/storage/media/2026/03/cfbc0deeb0df41c4aa26b75edb579a6f.jpg)
再打开docker>镜像管理>镜像仓库,搜索tailscale,找到tailscale/tailscale,点击下载,出现的弹框直接点击确认
]
显示All done后点击完成
[![图片[8]-Aisword的探索随笔](/assets/storage/media/2026/03/c1bae7e97fde4898a69a0772e11b0ac5.jpg)
回到docker>镜像仓库>本地镜像,找到刚才拉取的镜像点击创建容器
![图片[9]-Aisword的探索随笔](/assets/storage/media/2026/03/e379869ea2c24b259e88dffdb55a43dc.jpg)
勾选创建后启动容器,点击下一步
![图片[10]-Aisword的探索随笔](/assets/storage/media/2026/03/1f00c532193c4450be37a492df74ed54.jpg)
将交互和TTY打开,容器能力的20项都打开,重启策略选择容器退出时总是重启容器
![图片[11]-Aisword的探索随笔](/assets/storage/media/2026/03/09176577ca624fa3afaf05f56c1da363.jpg)
网络选择host
![图片[12]-Aisword的探索随笔](/assets/storage/media/2026/03/a8657ec779b140de8624d60f351bc505.jpg)
存储空间点击添加,将创建的tun目录装载到/dev/net/tun,将创建的lib目录装载到/var/lib,注意后面的类型为读写
再点到环境页签,添加以下的几个环境变量
TS_AUTH_KEY ##我们在准备工作中获取的authkey
TS_STATE_DIR ##固定填/var/lib/tailscale
TS_ROUTES ##你的局域网子网地址,如果你的网关是192.168.1.1则此处填入192.168.1.0/24,如果是192.168.31.1则填入192.168.31.0/24,环境变量填入后点击下一步再点击完成
![图片[14]-Aisword的探索随笔](/assets/storage/media/2026/03/a801ce2081a94f35a5f1bce7bcf8fccb.jpg)
此时docker容器里面tailscale已经启动成功,并且在tailscale的官网上的machines页签下已经有一个ugree的机器连接上了。
![图片[15]-Aisword的探索随笔](/assets/storage/media/2026/03/cf5e861da77244508785cd5a4fb602d6.jpg)
点击右边的三个点,点击disable key expire
![图片[16]-Aisword的探索随笔](/assets/storage/media/2026/03/ae2846bf917b4a8aacf21b08cf04b0b8.jpg)
再找到Edit route setting,点击打开
![图片[17]-Aisword的探索随笔](/assets/storage/media/2026/03/bc4659f15d5f444d9ecf5ce93a25ebcd.jpg)
将192.xxx地址前的开发打开(此设置可开可不开,打开的话,可以在外网机器上直接通过内网地址访问内网所有机器下的应用,不开的话则只能访问NAS上做了端口转发的服务,且只能使用tailscale生成的ip地址进行访问)
![图片[18]-Aisword的探索随笔](/assets/storage/media/2026/03/89ef557a6bb147679ffbde6553a84e79.jpg)
以ios为例,我们在其他区商店下载了tailscale后打开,首次打开需要先加载vpn,点击get started,第二步点击I understand,第三步根据你的需求选择是否开启通知,第四步点击install安装vpn描述文件
[
]
描述文件安装完成后,回到应用,点击login登录账号,登录后点击connet将设备和账号绑定
[
]
这时,tailsacle官网也出现一条手机对应设备的记录了。
![图片[21]-Aisword的探索随笔](/assets/storage/media/2026/03/e35bf557af5c40b0aea7ddca21208bd6.jpg)
再回到设备将开关打开
[
]
如果没有打开上面子网路由开关的话,可以长按nas对应的记录复制ip
[
]
到手机浏览器粘贴ip加内网应用的端口号访问内网应用
]
如果子网路由开发打开的话,则可以直接使用我们本地的内网ip地址加端口号直接访问
[![图片[25]-Aisword的探索随笔](/assets/storage/media/2026/03/e8cc9cbadc8c4fe6bcb4f1654ca1f9c0.jpg)
总结
至此,三种方法的教程都已经完结了,大家可以根据自己的实际情况和需求选择对应的穿透方式,当然小伙伴们如果有更好的方法,也欢迎告诉我,后续有时间我再完善补充下。