用 Tailscale 串起三台异地机器,比想象中好用

Tailscale 的节点拓扑示意
背景
我有三台机器需要互通:家里的 NAS、公司的台式机(NAT 后面,没有公网 IP)、一台 VPS。以前的方案是在 VPS 上跑 frp,但维护起来麻烦,frpc 配置也容易忘。朋友推荐用 Tailscale,用了一个月,确实比 frp 省心很多。
Tailscale 是什么
Tailscale 是一个基于 WireGuard 的 Mesh VPN 工具。每台设备安装客户端后,会通过 Tailscale 的协调服务器(control plane)交换密钥和地址,然后尽量走 P2P 直连(穿透 NAT),实在穿不透才走 DERP 中继服务器。
对用户来说的体验是:每台设备获得一个 100.x.x.x 地址(从 CGNAT 地址段分配,不和公网冲突),在 Tailscale 网络内互相访问就像局域网一样。
Tailscale 安装和基本使用教程(B站)
安装配置
# Linux 一键安装
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
运行后会给一个链接,浏览器打开登录 Tailscale 账号授权,就加入网络了。Windows/macOS 有 GUI 客户端,更简单。
Exit Node 和 Subnet Router
两个进阶功能很好用:
- Exit Node:把某台机器(比如 VPS)设为出口节点,其他设备的流量可以走那台机器出去,相当于临时 VPN。
- Subnet Router:让某台机器代理整个子网,比如家里 NAS 代理
192.168.1.0/24,在公司机器上就能直接访问家里局域网里的其他设备(智能家居、打印机等)。
# 开启 Subnet Router,把整个局域网暴露给 Tailscale 网络
sudo tailscale up --advertise-routes=192.168.1.0/24
# 在管理后台批准这条路由后生效

Tailscale 管理后台的设备列表
和 frp 比
| 维度 | frp | Tailscale |
|---|---|---|
| 配置复杂度 | 中,需要维护 frps/frpc 配置 | 低,安装即用 |
| 延迟 | 取决于服务器位置 | P2P 穿透成功则很低 |
| 需要公网服务器 | 是 | 否(但有中继节点) |
| 免费额度 | 开源自建,无限制 | 免费 100 台设备 |
日常使用 Tailscale 足够了。如果需要更细粒度的端口控制,或者不想依赖外部服务,frp 更灵活。