背景

Tailscale 是一个基于 WireGuard 的零配置 VPN 解决方案,允许用户轻松地在不同设备之间建立安全的连接。在某些情况下,Tailscale 会选择通过中继服务器(DERP)进行通信,而不是直接连接(P2P打洞)。这可能会影响性能和延迟。

判断方法

  1. 使用 tailscale status --peers 命令查看连接状态,会看到类似如下的输出:
100.x.x.x   name1   linux   active; direct 192.168.1.10:41641
100.x.x.x   name2   linux   derp(Singapore)
显示`direct <ip>:<port>`则表示正在 P2P 直连
显示`derp(<location>)`则表示通过中继服务器连接
同时出现 direct 与 relay 则表示同时出现 direct 与 relay
  1. 使用 tailscale ping <peer> 命令进行测试:

输出如下内容表示直连:

pong from name1 (100.x.x.x) via 192.168.1.10:41641 in 1ms

输出如下内容表示中继:

pong from name2 (100.x.x.x) via DERP(derp) in 677ms