共计 967 个字符,预计需要花费 3 分钟才能阅读完成。
如果你在国内直接使用过 Tailscale,大概率会对它的连接速度有所体会。想要获得稳定可用的体验,自建 DERP 中继节点 几乎是必选项。
但真正动手部署过的朋友,想必都对其中滋味记忆犹新:
- 部署依赖烦琐:得在公网服务器上现装 Go 环境,凭空多出一个依赖项就够头疼了,要是没有配置好镜像源,光是下载就能耗掉半天耐心。
- 配置流程复杂:编译出可执行文件只是开始,生成密钥、折腾自签名证书、再到管理后台添加节点配置,每一步都是坑。
转机出现在 2025 年 10 月 29 日。Tailscale 官方发布了一篇重磅博客,正式介绍了破局的新功能:Peer Relays。
这项功能的精妙之处在于,它重新定义了“中继”。当设备间因严格的 NAT 等网络限制无法直接建立 P2P 连接时,Peer Relay 不再依赖复杂难搞的自建 DERP 服务器,而是 智能地利用你 Tailscale 网络(tailnet)中其他符合条件的设备,作为高速中继节点。
这相当于把你的电脑、办公室的服务器,甚至家中的 NAS 都变成了潜在的网络加速器。官方终于给出了一个无需额外成本、免配置,且能显著提升国内使用体验的优雅方案。
接下来我们直接开始:
执行命令(以 UDP 40000 端口为例):
tailscale set --relay-server-port=40000
关键配置说明:
- 该指令执行后不会有直接反馈,成功即表示已启用。
- 默认使用
40000端口号,您可以将其修改为任意开放的 UDP 端口。 - 服务器安全组打开 40000 的 UDP 端口权限
打开控制后台,Access controls 的 JSON Edtior
"grants": [
{"src": ["*"],
"dst": ["*"],
"ip": ["*"],
},
{"src": ["*"], // 可以中继的设备
"dst": ["100.28.10.25"], // 中继设备的 IP
"app": {"tailscale.com/cap/relay": [], // 打开中继功能
},
},
]
验证结果
tailscale ping < 目标节点 >
如果输出中出现“via peer-relay”,表示连接确实经过中继节点。
以上是最简单的单点中继办法,当然还支持按照 tags 以及权限组划分不同的设备网络和不同的多节点中继等,可以参照官方文档说明:https://tailscale.com/kb/1591/peer-relays