内网穿透全场景方案:tailscale篇
内网穿透系列的其他几篇可以参考如下链接
通过第三方的内网穿透应用进行异地组网
这部分我更建议使用tailscale,虽然客户端下载有一点麻烦(ios客户端下载需要美区账号,安卓需要到google商店下载,pc使用倒是可以直接官网下载),但稳定性和速度在不跨运营商的情况下基本可以跑满家宽上行。
准备工作:获取tailscale的auth key
打开tailscale官网,点击try for free

出来的登录页面尽量选择微软或者苹果账号登陆,相对来说更容易一些

登录进入后点击settings>keys>generate auth key

将reusable开关打开,点击generate key

将生成的key点击copy复制到本地备用

依然是用绿联云为例,部署比较简单,群晖极空间都可以参考,我们部署下tailscale的docker容器来作为网关
先在docker目录下创建tailscale目录,再在底下创建一个tun和一个lib文件夹

再打开docker>镜像管理>镜像仓库,搜索tailscale,找到tailscale/tailscale,点击下载,出现的弹框直接点击确认

显示All done后点击完成

回到docker>镜像仓库>本地镜像,找到刚才拉取的镜像点击创建容器

勾选创建后启动容器,点击下一步

将交互和TTY打开,容器能力的20项都打开,重启策略选择容器退出时总是重启容器

网络选择host

存储空间点击添加,将创建的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,环境变量填入后点击下一步再点击完成

此时docker容器里面tailscale已经启动成功,并且在tailscale的官网上的machines页签下已经有一个ugree的机器连接上了。

点击右边的三个点,点击disable key expire

再找到Edit route setting,点击打开

将192.xxx地址前的开发打开(此设置可开可不开,打开的话,可以在外网机器上直接通过内网地址访问内网所有机器下的应用,不开的话则只能访问NAS上做了端口转发的服务,且只能使用tailscale生成的ip地址进行访问)

以ios为例,我们在其他区商店下载了tailscale后打开,首次打开需要先加载vpn,点击get started,第二步点击I understand,第三步根据你的需求选择是否开启通知,第四步点击install安装vpn描述文件

描述文件安装完成后,回到应用,点击login登录账号,登录后点击connet将设备和账号绑定

这时,tailsacle官网也出现一条手机对应设备的记录了。

再回到设备将开关打开

如果没有打开上面子网路由开关的话,可以长按nas对应的记录复制ip

到手机浏览器粘贴ip加内网应用的端口号访问内网应用

如果子网路由开发打开的话,则可以直接使用我们本地的内网ip地址加端口号直接访问

总结
至此,三种方法的教程都已经完结了,大家可以根据自己的实际情况和需求选择对应的穿透方式,当然小伙伴们如果有更好的方法,也欢迎告诉我,后续有时间我再完善补充下。
本文总共8200+字,断断续续写了一个星期,希望如果有帮助到你的话,点点关注吧。
另外视频版本也会尽快更新,大家到时候可以对照参考部署。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

值友2331382276
校验提示文案
大熙宝遇见雪纳瑞
校验提示文案
dogreturn
校验提示文案
ZZSama_
校验提示文案
你不要这样看着我
校验提示文案
值友6380370258
校验提示文案
Syed
校验提示文案
Syed
校验提示文案
FaiCA
校验提示文案
值友6380370258
校验提示文案
Alexzhang007
校验提示文案
Alexzhang007
校验提示文案
值友2331382276
校验提示文案
Syed
校验提示文案
值友6380370258
校验提示文案
值友6380370258
校验提示文案
你不要这样看着我
校验提示文案
FaiCA
校验提示文案
Syed
校验提示文案
ZZSama_
校验提示文案
dogreturn
校验提示文案
大熙宝遇见雪纳瑞
校验提示文案