Tailscale 正式发布了对等中继(Peer Relays)功能,无需任何额外部署,只需要一行命令,就能使用已经在 Tailscale 网络中的设备充当中继服务,从而提高10倍网络性能。@Appinn

Tailscale 有一个公共的中继网络,叫 DERP 服务器。但这是所有 Tailscale 用户的免费公共资源,会有额外的延迟,即:速度慢。
因为当 Tailscale 无法建立直接连接时,会让所有流量都经过 DERP 服务器中转。而用户距离 DERP 服务器的物理距离普遍较远。
那么如何通过 Tailscale 保持高速连接呢?
目录
对等中继(点对点中继)

对等中继允许你使用自己的设备 (即已经连上 Tailscale 网络上的设备)作为高吞吐量中继服务器。
换句话说,当无法直连时,流量会通过该设备而不是上面提到的公共 DERP 服务器。
流量保持端到端加密并存储在对等中继的内存中,对等中继永远不会解密任何内容。
一个尴尬的现实(依旧需要公网IP)
如果你要建立一个对等中继,那么这个中继依旧需要公网IP,比如云服务(VPS),比如带公网IP的家宽(动态IP可以的)。
这大概是公网IP又一次值回票价的时刻。
青小蛙的 Tailscale 网络
在春节期间,青小蛙在外省,一直依靠 Tailscale 访问家中服务,尤其最近部署的 OpenClaw,只能远程访问,不过一直使用的是 DERP 网络(下图是 Tailscale 提供的图片),速度勉勉强强,也就是能用。

如何设置对等中继
第一步:开放 UDP 40000 端口
你需要打开节点的 UDP 40000 端口(在路由器上设置端口转发,或者打开 DMZ 服务器),Tailscale 提示与传统的开放端口不同,这里并不会泄漏你的任何内容,以及对网络造成威胁。
第二步:运行对等中继
只需要在拥有公网IP的节点上,运行:
tailscale set --relay-server-port=40000
就好了,只需要一行。
第三步:设置对等中继策略
为你的对等中继设置一个 ACL tags,这个例子中叫 relay。在 Tailscale 后台:

注意:下面这个步骤建议在本地操作,远程操作可能会让你的设备下线(青小蛙第一次修改就失败了,网络下线)。
进入 Access controls,直接编辑 grants 部分:
"grants": [
{
"src": ["*"],
"dst": ["*"],
"ip": ["*"],
},
// Peer Relay
{
"src": ["*"],
"dst": ["tag:relay"],
"app": {
"tailscale.com/cap/relay": [],
},
},
],

请根据你自己的策略修改,核心是把 tailscale.com/cap/relay 这个 app 授予带有 tag:relay 的节点。
测试
青小蛙在 G 地 ping 位于 S 地的设备(位于 Ubuntu 里的 OpenClaw),开始 ping 为 391,使用了位于 sfo 的 DERP 服务器,随后立即进入了对等中继,ping 值降到了 32ms:

看到 via peer-relay 就打洞成功啦。
原文:https://www.appinn.com/tailscale-peer-relays/