在远程服务器上强制发起新的 Tailscale 登录,可能在设备完成重新登录之前就切断 tailnet 连接。这不是命令的缺陷,而是在你使用的路径上,该操作按设计正常工作。规则很简单:在续期设备密钥之前,先准备好第二条通往该机器的通道。其余一切都只是为那一刻做准备。

为什么该命令可能切断你的连接

设备密钥让节点得以加入 tailnet。续期意味着旧密钥不再被接受,节点必须完成一次新的登录才能重新加入。如果你唯一的会话正运行在这条 tailnet 上,重新加入会在你不知情时发生。子网路由器会让情况更糟,因为客户端会保留路由,却失去通往其后的路径。

所以顺序比命令本身更重要。先保证访问,再续期。控制台会话、串口控制台或现场同事都算数。

先排除另一种故障

在续期任何东西之前,先确认问题确实出在密钥上。先看管理控制台中的到期时间,再看设备自身的状态:是否已连接、能看到哪些对等节点。有效密钥加上损坏的路由、ACL 变更或已停止的服务,从远处看很相似。强制续期并不能修复其中任何一种。

tailscale status

如果节点在线且密钥有效,就继续排查。续期是最后手段,不是通用维修。既要看对等节点列表,也要看在线标志,因为半连接的节点仍会报告自己在线。

借助第二条通道续期

在准备好控制台访问或第二条管理通道后,在设备上执行续期。Tailscale 为此记录了 up 命令的 force-reauth 形式,并且需要平台要求的高权限。只执行一次,并观察输出,而不是关闭会话。如果命令切断了你的连接,就通过第二条通道重新连接,并查看本地日志。

sudo tailscale up --force-reauth

如果密钥已经过期,管理控制台可能为符合条件的设备提供临时延期。该延期是恢复访问并完成登录的窗口,而不是永久替代方案。记下它显示的截止时间。

测试设备实际提供什么服务

设备重新加入后,测试它存在的目的所对应的服务。路由器应通过其后的资源测试,出口节点应通过预期的互联网路径测试,普通服务器应通过你实际使用的端口测试。仅显示在线的节点本身并不能证明其中任何一项。要从不是该节点的机器上测试,因为本地检查会完全绕过 tailnet 路径。

tailscale ping 100.101.102.103

然后记下这台机器的到期策略。无人值守的连接器和个人笔记本电脑的容忍度不同,接手服务器的人不该再重新摸索它属于哪一种。这条备注就是有文档的策略与明年意外之间的差别。Tailscale 的密钥到期文档涵盖了续期选项及其限制。

相关文章