用途:诊断并修复 Tailscale 子网路由器(subnet router)的连通性故障,按顺序执行七项检查,覆盖从路由通告到回程验证的完整生命周期。
主要能力与检查步骤:
- 验证路由已通告:tailscale status --json | jq '.Self.AllowedIPs',失败时用 tailscale set --advertise-routes=<CIDR>;Docker 中检查 TS_ROUTES 环境变量。
- 验证路由已审批:查看管理控制台,或从对端节点查询 Peer 的 AllowedIPs;可在 ACL 中配置 autoApprovers。
- 验证客户端接受路由:tailscale debug prefs | grep -i route,失败时 tailscale set --accept-routes=true;Docker 中在 TS_EXTRA_ARGS 加 --accept-routes,不要用 tailscale down。
- 验证策略路由表:ip route show table 52,并检查 ip rule show。注意默认 ip route 只显示主表,Tailscale 使用表 52,这是最常见的误判来源。
- 验证 IP 转发:cat /proc/sys/net/ipv4/ip_forward,失败时 sysctl -w net.ipv4.ip_forward=1;Docker Compose 设置 sysctls。
- 验证子网路由器到目标的网络路径:ping <target-ip>、ip addr show,失败通常属本地网络问题。
- 验证回程路径:目标需将响应路由回子网路由器,可加静态路由或启用 MASQUERADE;Tailscale 1.64+ 默认启用 --snat-subnet-routes。
使用方式:按顺序执行,遇到首个失败即停止并修复后再继续,后续步骤依赖前序结果。若修复需重启 Tailscale 或重建容器,应提示用户操作后从第 1 步重跑。
适用场景:客户端能 ping 通路由器但访问不了子网设备、控制台显示已审批但 ip route 为空、Docker 容器通过 TS_ROUTES 通告失败、流量到达目标但响应不回、仅路由器自身可访问等。
限制:资料未提供该技能的安装方式、运行环境要求、收费信息及具体平台支持范围。