经常需要从局域网外面的设备访问家里的 NAS,以前都是通过公网来访问的,但是搬家换了网络后不再有公网了,庆幸的是网络是 NAT1,仍然可以通过 tailscale 打洞回家,实现跨网组成局域网。
网络拓扑图#
释义#
- 网络需要公网、NAT1、IPV6,如果都没有走 tailsever 的中转服务器会非常的慢,需要自建 drep。
- 设置旁路由为 DMZ 主机,正常端口转发应该也可以。
- 家庭局域网内所有设备均在同一子网内,例如:192.168.0.0/24
配置旁路由 Openwrt 下的 Tailscale 服务#
- 下载
Tailscale on Openwrt
, - 解压:
tar x -zvC / -f openwrt-tailscale-enabler-<tag>.tgz
- 安装需要的库:
opkg update && opkg install libustream-openssl ca-bundle kmod-tun
- 配置开机自启动:
/etc/init.d/tailscale enable
- 启动测试
/etc/init.d/tailscale start
- 登录 tailscale 服务,并开启子网路由
tailscale up --advertise-routes=192.168.0.0/24 --accept-dns=false
- 192.168.0.0/24:这是我局域网的网段
- 启动后获取登录地址注册账号后登录进去即可
- 配置 Tailscale 服务
- 禁用密钥到期,默认 6 个月会要求重置,我们可以禁用这个
- Edit route settings of xxx:开启子网路由
- (可选项) 配置出口
- 如果你想让局域网内的所有设备都走旁路由,那么可以配置这一项。注意这样有好有坏。
- 只需要启动时添加
--advertise-exit-node
参数即可 tailscale up --advertise-routes=192.168.0.0/24 --accept-dns=false --advertise-exit-node
- 打开管理页面Edit route settings of xxx,勾选 Exit node即可
配置网络接口#
- 添加一个新的网络接口
- 协议:静态
- IPV4 地址:tailscale 网页端看到的 ip 地址,也可以命令行输入
tailscale ip
查看 - 子网掩码:255.0.0.0
- 物理设置 -> 接口:选择tailscale0接口
- 防火墙:lan
- 保存应用重启
- 旁路由模式无需设置防火墙规则
使用#
其他设备下载对应的 tailscale 应用登录同一个账号即可完成组网,非常的方便,路由下的设备可以直接用内网的 ip 地址访问,例如路由器的 IP:192.168.0.1,真的是非常的 NICE。
Enjoy!#
总所周知,电信网络下除了专线外没有好的线路,但是家里宽带是联通的呀,那我手机或者其他设备先回家不就好了呀。
参考:
Docs · Tailscale Docs
OpenWrt 安装配置 Tailscale – ZhiYunHaiBo 智云海博 (zyh8.com)