用 Tailscale 打通多台服务器:告别公网 IP 和复杂配置

前言 大家好,我是Seb。 事情是这样的:我手上有三四台服务器,香港的、新加坡的、美国的,还有一台家里的 NAS。每台机器上都跑着不同的服务——Bot、API 中转、数据分析、文件存储。平时 ssh 过去操作就算了,但这些服务之间经常需要互相通信。 比如我的 Telegram Bot(跑在香港的 VPS 上)需要从家里的 NAS 上拉数据,完成之后再推给新加坡的 API 中转。以前的做法是什么?让每台机器都暴露一个公网端口,然后用 IP + 端口互相访问。结果就是:防火墙规则写了一堆、端口开了一大串、每次加新机器都要重新配置一遍。麻烦不说,安全上也心虚——多开一个端口就多一个攻击面。 后来我试了 Tailscale,用了一段时间,发现这个工具确实把这类问题解决得挺利索。这篇文章就把我的使用过程踩过的坑、总结的经验都写出来,希望对有类似需求的朋友有点帮助。 为什么是 Tailscale? 市面上的组网方案不少,我试过几个,简单说说对比。 WireGuard WireGuard 本身是个非常优秀的 VPN 协议,配置也不算复杂——写个 conf 文件,双方各跑一个 wg-quick 就行。核心问题是:它要求至少一端有公网 IP。如果两台机器都在 NAT 后面(比如家里的 NAS 和公司的笔记本),就需要一台有公网 IP 的中继服务器做"打洞"。而且 WireGuard 没有自动发现机制,每加一台设备都得手动更新所有机器的配置。三台机器还好,五台以上就开始烦了。 FRP FRP 更适合做端口转发,而不是组网。它的模式是:内网机器主动连接到公网服务器,公网服务器再把请求转发到内网。用来暴露一个 Web 服务很方便,但要让多台机器组成一个平面网络,FRP 就有点力不从心了。每次转发都需要配置一个端口,服务多了之后维护成本不低。 ZeroTier ZeroTier 和 Tailscale 理念类似,但我个人体验是 ZeroTier 的连接稳定性不太稳定。同样是 UDP 打洞,Tailscale 的连接成功率明显更高。ZeroTier 的自建控制器也折腾过,配置起来比 Tailscale 复杂不少。 Tailscale Tailscale 的优势总结下来就几点: 零配置组网 — 装好客户端,登录同一个账号,机器自动发现、自动连接 基于 WireGuard — 底层用的是 WireGuard 协议,传输效率和安全性都有保障 NAT 穿透能力强 — 大部分情况下能直接 P2P 打洞,打不通才走中继 ACL(访问控制列表) — 可以精细控制哪些机器能访问哪些端口 免费版够用 — 个人用户 100 台设备以内免费 我的场景比较简单——几台服务器组成一个内网,服务之间互相调用。Tailscale 正好完美覆盖这个需求,而且几乎没有学习成本。 ...

2026-05-24 · 2 min · 374 words · Seb