客户端 · Tailscale

Tailscale 提示连不上中继服务器(could not connect to relay server)怎么办:国内设置方法,和易联一起用

在国内用 Tailscale,右上角经常一直挂着一个警告:could not connect to the 'Singapore' relay server。这是 Tailscale 自己的问题,跟易联无关,开不开易联都会出现。原因是 Tailscale 默认选的中继服务器从国内直连不上;只要在 Tailscale 管理后台加一小段设置,让它改用能连上的中继,提示就会消失。

关键词:Tailscale 连不上中继、Tailscale relay server、could not connect to relay server、Tailscale DERP 国内、Tailscale derpMap、Tailscale 中继服务器、Tailscale 易联

最后更新: · 内容维护:易联 Residential IP Solution

为什么会出现这个提示:Tailscale 的设备之间先尝试直接连接;打不通直连时改走 Tailscale 的中继服务器(DERP);它会自动选延迟最低的中继,在国内测出来通常是 Singapore 或 Tokyo;这两个中继从国内直接连接会被拦截;而且 Tailscale 连中继时会绕开易联,直接走家里的宽带,所以右上角一直显示连不上中继。
为什么会出现这个提示

常见的提示(英文界面):

Tailscale could not connect to the 'Singapore' relay server. Your Internet connection might be down, or the server might be temporarily unavailable.

为什么会这样

有什么影响

怎么解决:在 Tailscale 管理后台设置一次,所有设备生效

  1. 用电脑浏览器打开Tailscale 管理后台,登录你的 Tailscale 账号,左边选 Access controls → JSON editor。
  2. 找到文件最后一个 } 的上一行(一般是 ], 那一行的下面),新起一行,整段复制粘贴下面这一行(末尾的英文逗号要保留):
    "derpMap": {"Regions": {"3": null, "7": null, "11": null}},
    不要粘贴在以 // 开头的灰色注释行里,否则这段会被当成注释、不生效(粘贴后这一行应该是彩色的)。
    意思是:不要用 3 号(Singapore)、7 号(Tokyo)、11 号(São Paulo)这几个在国内连不上的中继。Tailscale 会自动改选下一个能连上的,通常是孟买,也可能是香港、夏威夷。
  3. 点页面下方的 Save 保存,右下角提示「Saved tailnet policy file」就成功了。如果提示格式错误,多半是少了或多了逗号。
  4. 每台设备把 Tailscale 关掉再打开(或等一两分钟),警告就会消失。

中继服务器和 derpMap 的完整说明见Tailscale 官方说明。

怎么确认已经好了

改之前和改之后的对比:改之前,电脑上一直显示 could not connect to relay server,中继是 Singapore 或 Tokyo,国内连不上;改之后,警告消失,中继改用孟买、夏威夷等能连上的地区;设置在管理后台改一次,所有设备都生效。
改之前和改之后

9 月 30 日我们在两台 Mac 上照这个方法设置,两台的警告都消失了,中继改连孟买 / 夏威夷。

手机上要注意

安卓和苹果手机的系统,同一时间只允许一个 App 接管网络,所以易联和 Tailscale 在手机上不能同时开:一开易联,Tailscale 就会断,反过来也一样。需要连回家时,先暂停易联再开 Tailscale。电脑上没有这个限制,两个可以同时开。

常见问题

要不要关掉易联再用 Tailscale?

电脑上不用,两个可以同时开。易联已经让 Tailscale 的内网地址和 ts.net 域名直连,设备之间照常互通。

手机上为什么一开易联,Tailscale 就断了?

安卓和苹果手机的系统同一时间只允许一个 App 接管网络,这是手机系统的限制。需要连回家时,先暂停易联再开 Tailscale。

Tailscale 的中继连不上,是易联的问题吗?

不是。Tailscale 连中继时会绕开易联,直接走家里的宽带;它自动选的 Singapore、Tokyo 中继从国内直接连接会被拦截,开不开易联都会出现。

改完以后还是连不上怎么办?

Tailscale 调整过中继编号的话,要按 tailscale netcheck 列出的地区重新检查。这种情况请联系客服,并附上 tailscale netcheck 的结果截图。

相关阅读