手机仍然显示子网路由,控制面板仍然列出通告,而路由器后面的任何东西都没有响应。这看起来像路由或防火墙的回归问题,于是自然的做法是在客户端上重新添加子网。这通常不会改变什么,因为连接器丢失的是身份,而不是配置。过期的设备密钥会让路由保持可见,同时设备停止转发。

路由还在,数据包却停了

Tailscale 把路由通告和设备授权视为两件独立的事实。子网路由器宣告一个前缀,客户端接受并使用它,连接器负责承载流量。设备密钥过期后,节点无法再向协调服务完成身份验证,因此停止参与。客户端可能保留这条路由,因为删除它可能把流量引向非预期的路径。这种失败时关闭的选择解释了那个令人困惑的现象:路由存在,目的地却不存在。

通告仍然是对意图的真实陈述。它不再是对能力的陈述。

读取连接器的密钥和状态

在改动任何客户端之前,先确认连接器的状态。两项输出把身份与可达性分开。

tailscale status
tailscale ping 100.101.102.103

状态输出会把路由器标记为离线或已过期,并报告密钥何时失效;而 ping 指向节点自己的 tailnet 地址,而不是它背后的服务。从不离开客户端的 ping 与写着已过期的状态行,是从两个方向得到的同一个结论。检查另一台使用该路由器的设备是否在同一时刻失败:共同失败指向连接器,单独失败指向单个客户端对路由的接受。不要直接复用旧笔记里的 tailnet 地址,先拿它和实时状态核对。

重新认证,别切断自己的通路

续期可以恢复身份,但在唯一可用的会话上进行续期可能让你被隔离在外。先保留另一条管理通路。

tailscale up --force-reauth
tailscale status --self

在可以访问控制台的节点上,--force-reauth 会重新启动登录流程,并打印一个必须由已授权账户完成的 URL。在远程路由器上,开始之前要确认存在串口控制台、服务商控制台或带外管理通路,因为续期期间 tailnet 会话可能中断。续期之后,确认节点在线,且它通告的路由仍处于启用状态。在客户端上重新添加前缀不是续期步骤,也无法替代续期。

为无人值守设备决定到期策略

密钥到期之所以存在,是为了让丢失的笔记本最终停止工作,而无人值守的基础设施用可用性换取了这层保护。管理员可以为特定设备关闭到期,这适合配线柜里受信任的路由器,但需要清单和移除计划。被标记的设备带有自己的身份和到期行为,因此笔记本的设置并不描述它们。与其依赖几个月前创建的提醒,不如查看设备记录本身。

然后测试路由器后面的资源,而不只是节点。续期后的密钥修好了身份,而 路由批准、策略和转发仍然必须正常工作。

相关文章