你在一台 Linux 笔记本上,tailscale status 列出了其他机器,而 10.80.0.25 上的 NAS 仍然超时。tailnet 是健康的,子网路由器在线,客户端输出里没有任何内容说明它后面的 LAN 为何不可达。下面的排查从这一症状向外推进:先是这台客户端上的开关,再是路由器上的通告,然后是审批,再是策略,最后才是目的地本身。每道关口都以同样的超时失败,所以顺序比命令更重要。

Linux 客户端拒绝安装什么

Linux 上的 Tailscale 客户端不会主动接受已通告的子网路由,除非你要求它这样做。没有这个设置,客户端会加入 tailnet 并到达对等节点地址,而路由器通告的每个前缀都保持未使用。默认值是刻意为之的,这也是症状看起来像路由器坏了、而不是本地决定的原因。

这里有两种不同的东西都叫路由,而只有一边是你的。路由器把前缀通告进 tailnet;你的机器决定是否安装它。任何一边出问题都会给出同样的超时,所以猜测会浪费一下午。改任何东西之前,先找出是哪一边在拒绝。

为这台机器开启路由接受

在客户端上设置好偏好,然后看实际变化,而不是假定命令已经生效。当前写法会应用设置而不重复登录流程,这在会话进行中很重要。

sudo tailscale set --accept-routes
tailscale status
ip route show table 52

Tailscale 在 Linux 上把已接受的路由装进它自己的表,因此表 52 里出现某个前缀,就是这台客户端已安装该通告的直接证据。如果你的网段不在那张表里,就停下来:问题在本地,在路由器上做多少工作都不会改变它。

较旧的客户端把同样的偏好作为登录命令的开关暴露出来,所以当 tailscale set 不存在时,sudo tailscale up --accept-routes 是备用方案。用它,而不是手动改路由,因为守护进程会重写自己的表,你的修改会在下次重连时消失。从旧文章里复制命令之前先确认版本。

分别检查通告和审批

在子网路由器上,前缀必须被通告,内核必须在接口之间转发数据包。只通告不转发,你会得到一条已批准但会悄悄丢弃流量的路由,这是最常见的半成品配置。

sudo tailscale up --advertise-routes=10.80.0.0/24
sysctl net.ipv4.ip_forward
ip -br addr

把通告的前缀和你真正想访问的地址逐字符比对。通告 10.70.0.0/24 的路由器对 10.80.0.25 上的 NAS 一无所知,而这个不一致在任何状态输出里都看不出来,因为两个数字看起来同样合理。大多数“路由坏了”的报告到这里就结束了。在动下游任何东西之前,先修正通告。

审批是下一道关口,而从 shell 配置路由器时很容易跳过它。必须先在该设备的管理控制台里启用通告,其他机器才能使用。在客户端上接受路由并不会批准任何东西,也不会覆盖任何 访问规则。

先探测私有地址,再看主机名

成功连到路由器自己的 tailnet 地址只能证明 tailnet 正常,这一点你早就知道。真正有用的测试是你实际需要的服务,先针对私有地址,这样 DNS 故障就无法伪装成路由故障。

tailscale ping 10.80.0.1
ping -c 2 10.80.0.25
nc -vz 10.80.0.25 445
getent hosts nas.internal.example

如果地址有响应而主机名没有,那是名称解析问题,不应再当作路由问题处理。如果两者都无响应,退回去一节,确认通告覆盖了该地址。这两个故障从应用层看完全一样,修复的地方却不同。

在责怪 tailnet 之前,值得做一次本地检查。当你当前的 LAN 与远端子网使用相同前缀时,内核会优先选择直连路由,流量永远不会离开这台机器——家庭和办公室都选了 192.168.1.0/24 时就是这样。

为什么客户端开关不是路由器设置

这是两种不同角色、不同要求;把客户端开关复制到路由器上,正是让一个本来正常的 tailnet 产生环路的方式。通告路由的机器需要转发、允许转发流量的防火墙规则,以及决定通告哪些前缀。这些都不是 --accept-routes 所隐含的。

子网路由器文档警告不要在通告同一前缀的冗余路由器上开启路由接受,因为待机节点可能把已经是本地的流量从活动节点推出去。如果你运行 HA 对,把这当作设计约束而不是脚注,并在两台都批准之前决定哪个节点拥有该前缀。在单台路由器上,同一条警告读起来是提醒:接受属于客户端,而不属于做通告的机器。写下来是哪道关口被关上了。

对普通客户端,整个序列以开头失败的那个应用测试收尾。对路由器,按转发、通告、审批、防火墙的顺序复查,因为第一个缺失的环节正好会产生你最初遇到的超时。

相关文章