通过Tailscale实现异地组网,访问内网ip设备解决方案
一、使用场景
我工作和实验中,常见遇到过这样的场景:
在公司想访问家里的 NAS设备,因为内网,公网设备无法连接
出差在外需要远程家里的电脑,但公网 IP 不固定
有多台设备分布在不同网络,希望它们能互相访问
想要安全地访问内网设备,不想暴露到公网
传统方案如端口映射、VPN、内网穿透等,要么配置复杂,要么不够安全。今天介绍一个简单易用的解决方案——Tailscale。
二、什么是 Tailscale?
Tailscale 是一个基于 WireGuard 的零配置 VPN 服务,具有以下特点:
✅ 零配置:无需复杂的网络知识,一键安装即可使用
✅ 安全可靠:端到端加密,基于 WireGuard 协议
✅ NAT 穿透:无需公网 IP,无需端口映射
✅ 跨平台:支持 Linux、macOS、Windows、iOS、Android 等
✅ 免费使用:个人用户免费,支持最多 100 台设备
✅ 子网路由:可以访问整个内网网段
三、应用场景
远程访问家里的 NAS、服务器
在外网 SSH 连接家里的虚拟机 Linux 设备
访问家里的摄像头、智能家居
多地办公网络互联
云服务器访问内网资源
四、连接流程图

五、安装与配置
5.1 下载 Tailscale并注册 Tailscale 账户
访问 Tailscale 官网
选中自己对应的系统版本,并一直单击下一步安装。
点击 "Get Started" 注册账户
支持使用 Google、GitHub、Microsoft 等账户登录

账号注册完成后,打开软件界面,可以看到相关”Connect“的字眼,这是当前只配置了工作笔记本端的用户,还需要连接家庭网络设备的tailscale
5.2 在家里 Linux 设备上安装 Tailscale
因为我是用于连接家里NAS和Linux虚拟机,介绍的方式是linux系统,如果是Windos和MacOS通过界面步骤安装“下一步”确认,安装完成后打开链接登录connect。
方式一:Linux虚拟机安装官方远程脚本,可实现一键安装,该脚本可查询你的系统版本,脚本已自动匹配系统对应安装。
curl -fsSL https://tailscale.com/install.sh | sh
方式二:根据不同系统版本自定义安装。

安装完成后,可以查看对应的系统状态是running,说明服务是启动状态

初步安装已经完成,在日常使用中有多台内网设备,为了避免逐台安装Tailscale软件,可以配置子网路由的方式,如拓扑图中通过子网路由方式连接,则需要一台设备作为路由中转。

#设置192.168.56网段的设备都无需逐台绑定设备,我配置当前的192.168.56.142设备为路由中转设备
[root@localhost ~]# sudo tailscale up --advertise-routes=192.168.56.0/24
# 启用 IP 转发
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
#系统会显示一个链接地址,浏览器登陆并登陆注册的账号
To authenticate, visit:
https://login.tailscale.com/xxxxx

设置子网路由,需要在web界面上选择对应的路由网段配置


注意:Tailscale为了保护用户的设备安全,有默认的加密安全机制,会设置密钥在一定的天数后会过期,如果能保证使用安全的情况下,可以设备上配置密钥永不过期,避免无法登陆的情况。

这样就完成了异地组网的解决方案,通过异地的设备可通过tailscale加密方式,访问家中的同内网网段设备。

参考资料
Tailscale 官网:https://tailscale.com/
Tailscale 文档:https://tailscale.com/kb/