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 连接?

  1. 身份认证:使用 OAuth 登录,Tailscale 服务器认证设备身份。

  2. NAT 穿透

    • STUN 获取公网 IP 和 NAT 类型。

    • UDP Hole Punching 让设备直连。

  3. P2P 连接

    • 设备尝试直接通信(WireGuard)。

    • 失败时,使用 Tailscale DERP 中继服务器。

  4. 端到端加密

    • WireGuard 在设备间建立加密隧道,数据不会被第三方解密。

总结

  • Tailscale 不是一个传统 VPN,而是一个基于 WireGuard 的 P2P VPN

  • 它会优先使用 P2P 直连,如果不行才走中继(DERP)。

  • 服务器只负责身份认证,不转发流量(除非 P2P 失败)。

  • 所有数据都是端到端加密的,Tailscale 服务器无法解密

Logo

一站式 AI 云服务平台

更多推荐