Tailscale Peer Relay 是干嘛的?
Tailscale 两台设备之间连不上(比如都在 NAT 后面),就得靠中转。默认走 Tailscale 官方的 DERP 服务器,稳定但延迟高、带宽小。
解决这个问题有两条路:
- Peer Relay:用自己网络里的一台机器来中转,适合有闲置服务器、只在一个 Tailnet 内用的场景
- 私有 DERP 节点:用专属 DERP 服务器替代官方节点,适合管理多个 Tailnet、或者不想自己维护服务器的场景
连接顺序:直连 → 你的 Peer Relay / 私有 DERP → 官方 DERP
私有 DERP 节点
如果你管理多个 Tailnet,或者不想自己折腾服务器,可以考虑用微林提供的私有 DERP 节点服务。
和官方 DERP 比:延迟更低、带宽更大、节点位置更灵活;和 Peer Relay 比:不绑定单个 Tailnet,多个 Tailnet 都能用,也不需要自己维护任何机器。更重要的是,不存在配额限制带来的烦恼,所有设备直接受益,省去规划和取舍的麻烦。
👉 前往微林了解详情
Peer Relay 配额与节点规划
所有套餐(含免费)永久提供 2 个 Peer Relay 节点。2 个听起来不少,但要注意:节点的位置和授权范围直接决定了效果好不好,规划不当反而可能帮了倒忙。
在开始配置之前,建议先想清楚这两个问题:
① 哪台机器适合当 Relay 节点?
不是随便一台机器都适合,要满足以下条件:
- 系统:除 iOS / Android / Apple TV 以外均可
- 版本:Tailscale 1.86+
- 网络:有公网可访问的 UDP 端口,带宽够、延迟低——这点最关键,网络本来就烂的机器当 Relay 只会更慢
② 哪些设备应该被允许使用这个 Relay?
ACL 里的 src(允许使用 Relay 的设备)要精确填写,不要图省事写 *。原因很简单:免费版只有 2 个节点,如果所有设备都往这两台机器上挤,不仅没有改善,反而可能造成拥堵。
src 通常应该填那些固定在 NAT 后面、直连困难的机器,比如公司服务器、家里的 NAS。经常换网络的设备(笔记本、手机)一般不需要,它们换个网络可能就能直连了。
如果觉得这些规划太麻烦,使用私有 DERP 节点会轻松很多——不限设备数量,不需要这些取舍。
配置步骤
① 把一台机器设成 Relay
tailscale set --relay-server-port=40000
防火墙记得放行这个 UDP 端口,否则其他设备连不上。
② ACL 里授权谁能用它
{
"grants": [{
"src": ["tag:us-east-vpc"], // 需要被中转访问的设备
"dst": ["tag:us-east-relays"], // 充当 Relay 的设备
"app": { "tailscale.com/cap/relay": [] }
}]
}
③ 验证是否生效
tailscale status | grep peer-relay
输出里连接类型从 relay(官方 DERP)变成 peer-relay,就说明配好了。
其他注意事项
- Relay 机器在 NAT 或负载均衡后面,需要额外告诉别人你的真实地址:
tailscale set --relay-server-port=40000 --relay-server-static-endpoints="1.2.3.4:40000"
- Peer Relay 只在同一个 Tailnet 内有效,跨网络不行。使用多个 Tailnet 的场景,还是选私有 DERP 节点更合适。