Tailscale 的核心原理基于 WireGuard VPN,它实现了端到端加密的 点对点(P2P)连接,但在必要时会通过 中继服务器(DERP) 进行中转。整体来说,它是一个 零配置的 Mesh VPN,让所有设备看起来像是在同一个本地局域网(LAN)内。
Tailscale 的工作原理
1. 设备身份验证
-
你登录 Tailscale 时,设备会向 Tailscale 控制服务器(Control Server) 进行身份验证。
-
Tailscale 通过 OAuth(比如 Google、GitHub 账户)或自建身份服务器管理设备权限。
2. 设备之间建立 P2P 连接
-
设备会向 Tailscale 服务器 注册自己的公网 IP 和内网 IP。
-
Tailscale 尝试让设备 直接通过 NAT 穿透(NAT Traversal) 建立 P2P 连接:
-
使用 STUN 协议 发现各设备的真实 IP 和端口。
-
通过 UDP Hole Punching 技术穿透 NAT,让两个设备直连。
-
3. 直接通信(如果可以)
-
如果你的手机和电脑 可以直接连通(同一 WiFi、NAT 开放端口等),它们会使用 WireGuard P2P 直连,不会经过任何中继服务器。
-
这时,Tailscale 只是帮忙管理密钥和连接信息,但数据流量不经过它的服务器。
4. 走 Tailscale 中继(如果 P2P 失败)
-
在某些情况下(比如公司防火墙阻挡了 UDP,或某些运营商禁止 P2P 直连),设备 无法直接连接。
-
这时,Tailscale 会使用自己的 DERP(Detour Encrypted Relay for Packets)服务器进行中转:
-
这些服务器只是 中转加密流量,无法解密数据。
-
速度可能会稍慢,因为数据要绕行,但仍然比传统 VPN 快。
-
5. 虚拟 IP 分配
-
每个设备都会获得一个
100.x.x.x
格式的 Tailscale 内网 IP,你可以像在同一局域网(LAN)一样访问其他设备。 -
在终端运行
tailscale status
,你能看到所有设备的 IP。
Tailscale 和传统 VPN 的区别
特性 | Tailscale | 传统 VPN |
---|---|---|
连接方式 | P2P 直连(如可用),否则走中继 | 所有流量通过 VPN 服务器 |
服务器需求 | 只需控制服务器,不中转数据(除非必要) | 需要 VPN 服务器转发所有流量 |
安全性 | 端到端加密,服务器无法解密 | 服务器可能解密数据 |
速度 | 直连时非常快,中继时稍慢 | 受限于 VPN 服务器带宽 |
配置 | 零配置,自动管理 | 需要手动配置服务器、密钥等 |
如何实现 Tailscale 的 P2P 连接?
-
身份认证:使用 OAuth 登录,Tailscale 服务器认证设备身份。
-
NAT 穿透:
-
STUN 获取公网 IP 和 NAT 类型。
-
UDP Hole Punching 让设备直连。
-
-
P2P 连接:
-
设备尝试直接通信(WireGuard)。
-
失败时,使用 Tailscale DERP 中继服务器。
-
-
端到端加密:
- WireGuard 在设备间建立加密隧道,数据不会被第三方解密。
总结
-
Tailscale 不是一个传统 VPN,而是一个基于 WireGuard 的 P2P VPN。
-
它会优先使用 P2P 直连,如果不行才走中继(DERP)。
-
服务器只负责身份认证,不转发流量(除非 P2P 失败)。
-
所有数据都是端到端加密的,Tailscale 服务器无法解密。