Featured image of post Tailscale 组网:自建 VPS 的零配置穿透方案

Tailscale 组网:自建 VPS 的零配置穿透方案

告别复杂端口映射,用 Tailscale 为你的多台 VPS 构建安全私有网络——零配置、端到端加密、跨地域互通,自托管运维的最后一公里

引言

你管理着多台 VPS,分布在不同的云服务商或地区。日常运维中,你是否遇到过这些痛点?

  • 每台服务器都要单独配置端口映射,防火墙规则复杂且容易出错;
  • 远程桌面、SSH、数据库连接需要暴露公网 IP,安全风险高;
  • 不同 VPS 之间的服务调用要经过公网,延迟高且不稳定;
  • 想用 WireGuard 自建 VPN,但配置繁琐,密钥管理麻烦。

Tailscale 的出现让这些问题迎刃而解。它是一个基于 WireGuard 的零配置 Mesh VPN,只需在每台设备上安装客户端,就能自动建立安全的私有网络。所有设备共享同一个虚拟 IP 段,无需手动配置路由、端口映射或防火墙规则。

本文将带你从零开始,使用 Tailscale 为你的 VPS 构建一套完整的私有组网方案。

为什么选择 Tailscale?

核心优势

特性Tailscale传统 VPNCloudflare Tunnel
配置复杂度⭐ 零配置⭐⭐⭐ 复杂⭐⭐ 中等
设备间互通✅ 原生支持✅ 需配置❌ 不支持
跨地域延迟✅ 低延迟✅ 正常⚠️ 经代理
安全性✅ 端到端加密✅ 加密✅ 加密
成本✅ 免费(5 设备)✅ 自建免费✅ 免费
适用场景多设备组网远程访问Web 服务发布

技术原理

Tailscale 基于 WireGuard 协议,采用以下架构:

  1. 控制平面:Tailscale 服务器负责设备认证、NAT 穿透协调
  2. 数据平面:设备之间直接建立 WireGuard 连接(P2P)
  3. DERP 中继:当 P2P 失败时,通过 Tailscale 的中继服务器转发

这意味着你的数据传输是端到端加密的,即使经过中继服务器,内容也无法被解密。

安装与配置

第一步:注册账号

访问 Tailscale 官网,使用 Google、GitHub 或 Microsoft 账号登录。个人用户免费,最多支持 5 台设备。

第二步:安装客户端

Linux (Debian/Ubuntu)

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

Linux (CentOS/RHEL)

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

Windows

下载 Windows 客户端,运行安装程序后登录即可。

macOS

brew install --cask tailscale
sudo tailscale up

第三步:配置 VPS

以 Ubuntu 22.04 为例:

# 安装 Tailscale
curl -fsSL https://tailscale.com/install.sh | sh

# 启动并认证
sudo tailscale up

# 查看本机 Tailscale IP
tailscale ip -4

# 查看已连接设备
tailscale status

第四步:配置防火墙

Tailscale 会自动处理防火墙规则。你只需要确保:

# 允许 Tailscale 接口通信
sudo ufw allow from 100.64.0.0/10
sudo ufw reload

如果使用 firewalld:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="100.64.0.0/10" accept'
sudo firewall-cmd --reload

实际应用场景

场景一:SSH 远程管理

配置前:

# 需要知道每台 VPS 的公网 IP
ssh root@192.168.1.100
ssh root@10.0.0.50

配置后:

# 使用 Tailscale IP,自动路由
ssh root@100.64.0.1
ssh root@100.64.0.2

优势:

  • 无需暴露 SSH 端口到公网
  • 即使 VPS 公网 IP 变化,Tailscale IP 不变
  • 所有连接端到端加密

场景二:服务间互通

假设你有三台 VPS:

  • VPS-A:运行数据库 (MySQL)
  • VPS-B:运行应用服务器
  • VPS-C:运行 Web 前端

配置后,应用服务器可以直接通过 Tailscale IP 访问数据库:

# VPS-B 访问 VPS-A 的 MySQL
mysql -h 100.64.0.1 -u app_user -p

Web 前端也可以直接访问应用服务器:

# VPS-C 访问 VPS-B 的 API
curl http://100.64.0.2:8080/api

场景三:多地域 VPS 互通

不同云服务商的 VPS 之间也可以组建私有网络:

# 阿里云 VPS
sudo tailscale up

# 腾讯云 VPS
sudo tailscale up

# AWS VPS
sudo tailscale up

# 现在它们都在同一个虚拟局域网中

高级配置

子网路由

让 Tailscale 网络中的设备访问你的内网资源:

# 在 VPS 上启用子网路由
sudo tailscale up --advertise-routes=192.168.1.0/24

# 在管理后台批准该路由

访问控制

在 Tailscale 控制台配置 ACL:

{
  "acls": [
    {
      "action": "accept",
      "src": ["autogroup:members"],
      "dst": ["*:*"]
    }
  ]
}

文件共享

利用 Tailscale 的内置功能进行文件传输:

# 发送文件
tailscale file send user@100.64.0.2 /path/to/file.zip

# 接收文件会自动保存到 ~/Downloads/tailscale-file-receive/

与替代方案对比

Tailscale vs WireGuard

特性Tailscale自建 WireGuard
配置难度⭐ 极低⭐⭐⭐ 高
NAT 穿透✅ 自动❌ 需手动
设备管理✅ 控制台❌ 手动
密钥轮换✅ 自动❌ 手动
适合场景快速部署完全掌控

Tailscale vs Cloudflare Tunnel

特性TailscaleCloudflare Tunnel
设备间互通✅ 支持❌ 不支持
Web 服务发布✅ 支持✅ 原生支持
延迟✅ 低⚠️ 经代理
配置复杂度⭐ 低⭐⭐ 中等

最佳实践

1. 使用强密码和 MFA

# 启用两步验证
# Tailscale 控制台 → 账号设置 → 两步验证

2. 定期审计设备

# 查看所有连接设备
tailscale status

# 移除不再使用的设备
# Tailscale 控制台 → 设备 → 删除

3. 限制访问权限

使用 ACL 严格控制哪些设备可以访问哪些服务。

4. 监控网络状态

# 实时监控网络状态
tailscale netcheck

# 测试连通性
tailscale ping 100.64.0.2

常见问题

Q: Tailscale 免费吗?

个人用户免费,最多支持 5 台设备。团队版 $6/用户/月,支持无限设备。

Q: 数据安全吗?

是的。Tailscale 使用 WireGuard 加密,采用端到端加密,即使经过中继服务器也无法解密。

Q: 会影响网络速度吗?

P2P 直连时延迟很低。只有当 P2P 失败时才会使用中继服务器,此时会有轻微延迟。

Q: 可以自托管控制平面吗?

可以。Tailscale 支持自托管 MagicDNS 和控制平面,适合企业级需求。

总结

Tailscale 为自托管爱好者提供了一套简单、安全、高效的组网方案:

  • 零配置:安装即用,无需手动配置路由
  • 安全可靠:端到端加密,访问可控
  • 跨地域互通:不同云服务商的 VPS 也能组成私有网络
  • 成本低廉:个人用户免费

对于管理多台 VPS 的运维人员来说,Tailscale 是提升效率、降低风险的利器。别再让复杂的端口映射和防火墙规则困扰你,试试 Tailscale 吧!

参考资料

📺 看视频版教程 → DuckDB Lab YouTube

Subscribe for more DuckDB & AI automation tutorials