tailscale status症状级落地页索引:每条症状都给出「一条判断命令 + 判定规则 + 下一步」。不用猜,跑完命令就有结论。
按你的症状走对应行:每条命令 10 秒,结论直接指向下一步。
tailscale statusdirect ip:port 还是 relay "code"tailscale ping 100.x.x.xvia IP:port(直连)还是 via DERP(region)(中继)tailscale netcheckUDP: false 是否出现tailscale netcheckMappingVariesByDestIP: truetailscale netcheck 的输出粘进诊断工具,10 秒出结论:直连还是中继、为什么、你缺什么、该买哪档。联系方式选填。
每个症状一节:判断方法、判定规则、结论去向。点目录跳到对应详解。
| 症状词 | 一句话判断 | 去向 |
|---|---|---|
| tailscale 慢 | 先分「慢在网络」还是「慢在应用」:status 看是否 relay | 本页详解 |
| 延迟高 / 延迟突然变高 | ping 看 via 路径;直连仍高 → 就近 DERP 太远 | 本页详解 |
| 一直显示走中继 | ping 全 via DERP → 三种成因,逐个排 | 本页详解 |
| 打洞失败 / 连不上 | netcheck 看 NAT 类型与 UDP 通不通 | 本页详解 |
| netcheck 怎么看 | 逐行解读 8 个关键字段 | 本页详解 |
| 100.x ping 慢 | 先确认 via 路径,再谈延迟数字 | 本页详解 |
| 换 DERP 节点 | 什么时候该换、怎么换、换完怎么验证 | 本页详解 |
| UDP 被封 / 网页打不开 | UDP: false 的两种解法 | 本页详解 |
以下每节都可以单独成立——如果搜索引擎只收录这一页,每一节都仍是完整可用的答案。
80% 的「慢」分两类:链路走了中继(网络问题),或者链路正常但应用本身慢。先用一条命令分开它们。
tailscale status # macOS: /Applications/Tailscale.app/Contents/MacOS/Tailscale status复制
direct ip:port → 已直连,慢的原因不在 Tailscale 链路,去查应用层(SMB 协议、磁盘、路由);后面是 relay "code" → 流量在绕中继,见「一直显示走中继」。两步之内能定位:把 status + netcheck 一起粘进诊断工具,直接出结论。
延迟数字本身不说明问题,先确认流量走的是哪条路,再判断这个数字正不正常。
tailscale ping 100.x.x.x # 换成对方的 100.x 地址复制
via IP:port = 直连,此时国内同城 < 20ms、跨城 30–60ms 算正常;超过 80ms 说明你们之间绕了远路(跨运营商 / 没有就近接入点)。结尾 via DERP(region) = 中继,延迟由中继位置决定,见下一节。直连仍慢的根因通常是缺一个国内就近接入点:看「换 DERP 节点」,或先测一遍你到 10 城的实际延迟。
全走中继不可怕,可怕的是不知道为什么。三种成因按出现频率排:
tailscale netcheck # 关键看 UDP 和 MappingVariesByDestIP 两行复制
UDP: false → 你的网络封了出网 UDP,必然全走中继(见UDP 被封);② MappingVariesByDestIP: true → 对称型 NAT,打洞基本没戏(见打洞失败);③ 两者都正常但还是中继 → 就近 DERP 太远或不可达,属于「缺一个国内就近节点」,换节点即可解决。第三种情况是最典型的成交场景:看看国内 10 城节点定价,或先诊断确认是第几种。
Tailscale 打洞(UDP 打洞)成功率由双方 NAT 类型决定,服务端能做的事情很有限,先确认你属于哪种。
tailscale netcheck # 看 MappingVariesByDestIP 和 UDP 两行复制
MappingVariesByDestIP: true = 对称型 NAT(对称型 NAT 与大四层 NAT 组合时打洞成功率极低),此时换客户端网络(手机热点 / 换 NAT 较轻的路由)比调服务端有效;UDP: false 则见 UDP 被封。NAT 类型改不了,但中继体验可以修:诊断一下你的中继延迟,一个就近中继能把打洞失败的体验从「不可用」拉回「可用」。
netcheck 是 Tailscale 自带的链路体检,字段不多,但每行都有用:
tailscale netcheck # macOS 用完整路径:/Applications/Tailscale.app/Contents/MacOS/Tailscale netcheck复制
UDP = false 则必然全走中继;MappingVariesByDestIP = true 则对称型 NAT;IPv4 / IPv6 告诉你流量走哪个栈;Nearest DERP 是当前分配的中继及延迟表——如果它是境外城市或延迟 > 100ms,就是你缺一个国内就近节点的直接证据;其余行(UPnP、PMP、hairpinning)家里路由场景才需要关心。不想读字段?把整段输出粘进诊断工具,自动解读。
100.x.x.x 是 Tailscale 的虚拟地址,ping 它测的是「你 → 对方」的整条路径,不是单段网络。
tailscale ping 100.x.x.x # 加 --icmp 排除 Tailscale 协议本身的开销复制
via DERP(region) → 慢的是中继段,换就近节点立竿见影;结尾 via IP:port → 慢的是你和对方之间的公网路径,换节点帮助有限,问题在运营商互联或一方网络质量。结论不确定时用工具兜底:贴 ping + netcheck 输出,10 秒出诊断。
DERP 节点是中继服务器。Tailscale 官方国内没有就近节点,这是「国内用着慢」的结构性原因,也是唯一靠花钱能直接解决的一环。
tailscale netcheck,Nearest DERP 应变成国内城市且延迟 8–35ms;再跑 tailscale ping 对比前后。公司网、校园网、部分运营商会封出网 UDP。此时 Tailscale 不可能直连,全部流量走 TCP 中继——链路是通的,但体验取决于中继在哪。
tailscale netcheck # 第一段出现 UDP: false 即确诊复制
UDP 被封 = 必然全走中继 = 中继质量决定一切:看看带标准端口接入的节点档位。
netcheck 只包含网络路径信息(NAT 类型、延迟、中继位置),不含你的设备名、账号或流量内容。tailscale status 会显示设备名,粘贴前建议把设备名打码。