用途:管理 Headscale tailnet 中节点的完整生命周期,包括生成预认证密钥、注册、审批、打标签、列出和下线节点。覆盖节点注册、标签、列举与注销,不涉及 Tailscale 客户端安装配置或 ACL 策略编写。
主要能力:两种身份模型——个人节点注册在具体用户下;带标签节点属于 tagged-devices 用户,用一个或多个标签标识,常用于基础设施服务节点。注册方式包括 Web 认证、预认证密钥(auth key,可嵌入标签、用户与过期时间)、CLI/API 直接注册。Auth key 参数含过期时间(默认 1 小时,0 为不过期)、可复用(默认一次性)、临时节点(断开即从 tailnet 移除)与标签。节点列表可按用户、标签、在线状态筛选,输出节点 ID、名称、Tailscale IP、标签、属主、在线状态、最后在线时间、操作系统与客户端版本。标签可添加或替换(加标签默认保留原标签,需 --replace 才替换)。
用法:个人节点先用用户创建 auth key,再在设备上执行 tailscale up --auth-key=<key>,开放注册时需在 Headscale 审批。带标签节点创建带 --tags 的 auth key,执行 tailscale up --auth-key=<key> 后自动审批并打标签。永久下线节点执行 headscale nodes delete -i <node-id>,或调用 REST API DELETE /api/v1/node/<node-id>。API 操作需 HEADSCALE_URL 与 HEADSCALE_API_KEY,均由 headscale apikeys create 获取。附带脚本:hs-create-authkey.sh、hs-list-nodes.sh、hs-approve-nodes.sh、hs-tag-node.sh,支持 --json、--dry-run 等选项。
限制与注意:auth key 默认 1 小时过期,超时注册会失败,需显式设置更长有效期;带标签节点始终属于 tagged-devices 用户;节点须在线(Connected: true)才能测试连通性;交互式优先用 CLI,自动化脚本优先用 REST API;下线不可逆,临时节点断开即自动移除;可复用密钥便利但安全性较低,生产环境慎用。