概述
你有两台 VPS,一台在国内,一台在海外。想从 A 连 B 的 SSH,但 B 没有公网 IP,或者防火墙把 22 端口封了。怎么办?
Tailscale 能帮你解决这个问题。它通过 WireGuard 协议建立加密隧道,把不同网络下的设备组成一个私有局域网。不需要公网 IP,不需要路由器配置端口转发,装好就能用。
下面手把手教你在 VPS 上部署 Tailscale。
准备工作
你需要这些条件:
- 至少一台 VPS(推荐 Ubuntu 20.04 或更高版本)
- 一个 Tailscale 账号(用 Google、GitHub 或 Microsoft 账号登录即可,免费)
- 能访问外网的网络连接
步骤
第一步:安装 Tailscale
Ubuntu/Debian 系统最方便:
# 添加 Tailscale 官方源
curl -fsSL https://tailscale.com/install.sh | sh
# 启动 Tailscale 服务
sudo systemctl enable --now tailscaled
CentOS/RHEL 系统:
sudo yum install -y https://pkgs.tailscale.com/stable/tailscale.x86_64.rpm
sudo yum install -y tailscale
sudo systemctl enable --now tailscaled
第二步:登录并加入 Tailnet
# 执行登录命令,会输出一个 URL
sudo tailscale up
# 在浏览器中打开那个 URL,用你的账号授权
# 授权后终端会显示 "Success!"
登录成功后,你会得到一个 xxx.tailxxxxx.ts.net 的后缀域名。这就是你在 Tailnet 中的地址。
第三步:验证连接
# 查看当前节点状态
tailscale status
# 测试连通性(假设另一台机器叫 server-b)
ping server-b.tailxxxxx.ts.net
如果看到回复,说明连接成功。
第四步:多台 VPS 组网
重复第一步和第二步,在所有你想组网的 VPS 上都安装并登录 Tailscale。它们会自动出现在同一个 Tailnet 里。
# 在所有机器上执行 tailscale status
# 你会看到所有已登录的设备列表
tailscale status
第五步:通过 Tailnet 地址访问服务
现在你可以直接用 Tailnet 地址访问任何一台机器的服务了。
SSH 连接:
ssh root@server-a.tailxxxxx.ts.net
访问 Web 面板:
# 浏览器访问
http://server-b.tailxxxxx.ts.net:3001
访问数据库:
# MySQL
mysql -h server-c.tailxxxxx.ts.net -u root -P 3306
# Redis
redis-cli -h server-d.tailxxxxx.ts.net -p 6379
第六步:配置子网路由(可选)
如果你想让 Tailnet 里的设备还能访问你 VPS 所在内网的其他机器:
# 在 VPS 上设置子网路由
sudo tailscale up --advertise-routes=192.168.1.0/24
# 在管理后台开启路由权限
# 访问 https://login.tailscale.com/admin/acls
# 确保 subnet-routes 已启用
第七步:设置开机自启
Tailscale 安装时默认就开启了自启。确认一下:
systemctl is-enabled tailscaled
systemctl is-active tailscaled
验证
部署完成后做以下检查:
- 节点在线 运行
tailscale status,能看到其他已登录的节点 - SSH 直连 用
ssh user@hostname.tailxxxxx.ts.net直接连上另一台 VPS,不需要跳板机 - 服务互通 在内网服务(如 Docker 容器、本地数据库)配置监听
0.0.0.0,Tailnet 其他机器可以直接访问 - 加密传输 运行
tailscale debug,确认连接使用的是 WireGuard 加密隧道
常见问题
Q: Tailscale 免费版有限制吗?
免费版支持最多 100 个设备和 200 个子网路由。对个人和小团队完全够用。企业版才需要付费。
Q: 延迟高吗?
取决于你的地理位置。如果两台 VPS 都在国内,延迟通常在 5-20ms。跨洋连接一般在 100-200ms。Tailscale 会自动选择最优的中继节点。
Q: 安全吗?
非常安全。所有流量都经过 WireGuard 加密,只有你授权的设备才能加入 Tailnet。即使有人截获了数据包,也无法解密内容。
Q: 能替代 VPN 吗?
对于点对点组网场景可以。但如果需要访问公司内网的多个网段,还是传统 VPN 更合适。
Q: 国内能用吗?
能。Tailscale 在中国有中继服务器,连接速度比走海外节点快很多。如果偶尔不稳定,可以尝试指定中继服务器:
sudo tailscale up --advertise-relay=false
Q: 怎么退出 Tailnet?
sudo tailscale down
这会断开当前设备的连接,但不会删除你的账号。
Tailscale 就是这样,装好、登录、组网,三步搞定。没有复杂的配置,没有端口映射的烦恼。你的 VPS 们瞬间组成了一个安全的内网。
试试把你那台吃灰的旧 VPS 也加进来?