OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  tailscale: 通过 CLI 与 API 深度管理 Tailscale 私有网格网络

tailscale: 通过 CLI 与 API 深度管理 Tailscale 私有网格网络

 
  cd ·  2026-02-02 12:14:30 · 3 次点击  · 0 条评论  

名称: tailscale
版本: 1.0.0
描述: 通过 CLI 和 API 管理 Tailscale 网络。适用于用户询问“检查 tailscale 状态”、“列出 tailscale 设备”、“ping 设备”、“通过 tailscale 发送文件”、“tailscale funnel”、“创建认证密钥”、“查看谁在线”或提及 Tailscale 网络管理等场景。


Tailscale 技能

混合技能:使用 CLI 进行本地操作,使用 API 进行全网管理。

设置

API 配置(可选,用于全网操作):~/.clawdbot/credentials/tailscale/config.json

{
  "apiKey": "tskey-api-k...",
  "tailnet": "-"
}

从以下位置获取 API 密钥:Tailscale 管理控制台 → 设置 → 密钥 → 生成 API 密钥。

tailnet 可以是 -(自动检测)、你的组织名称或邮箱域名。


本地操作 (CLI)

这些操作仅对当前机器有效。

状态与诊断

# 当前状态(对等节点、连接状态)
tailscale status
tailscale status --json | jq '.Peer | to_entries[] | {name: .value.HostName, ip: .value.TailscaleIPs[0], online: .value.Online}'

# 网络诊断(NAT 类型、DERP、UDP)
tailscale netcheck
tailscale netcheck --format=json

# 获取本机 Tailscale IP
tailscale ip -4

# 识别 Tailscale IP
tailscale whois 100.x.x.x

连接性

# Ping 对等节点(显示直连或中继)
tailscale ping <主机名或IP>

# 连接/断开连接
tailscale up
tailscale down

# 使用出口节点
tailscale up --exit-node=<节点名称>
tailscale exit-node list
tailscale exit-node suggest

文件传输 (Taildrop)

# 发送文件到设备
tailscale file cp myfile.txt <设备名称>:

# 接收文件(从收件箱移动到目录)
tailscale file get ~/Downloads
tailscale file get --wait ~/Downloads  # 阻塞直到文件到达

暴露服务

# 在 tailnet 内共享(私有)
tailscale serve 3000
tailscale serve https://localhost:8080

# 公开共享到互联网
tailscale funnel 8080

# 检查正在共享的服务
tailscale serve status
tailscale funnel status

SSH

# 通过 Tailscale SSH(使用 MagicDNS)
tailscale ssh user@主机名

# 在本机启用 SSH 服务器
tailscale up --ssh

全网操作 (API)

这些操作管理整个 tailnet。需要 API 密钥。

列出所有设备

./scripts/ts-api.sh devices

# 带详细信息
./scripts/ts-api.sh devices --verbose

设备详情

./scripts/ts-api.sh device <设备ID或名称>

检查在线状态

# 快速检查所有设备的在线状态
./scripts/ts-api.sh online

授权/删除设备

./scripts/ts-api.sh authorize <设备ID>
./scripts/ts-api.sh delete <设备ID>

设备标签与路由

./scripts/ts-api.sh tags <设备ID> tag:server,tag:prod
./scripts/ts-api.sh routes <设备ID>

认证密钥

# 创建可重复使用的认证密钥
./scripts/ts-api.sh create-key --reusable --tags tag:server

# 创建临时密钥(设备离线时自动移除)
./scripts/ts-api.sh create-key --ephemeral

# 列出密钥
./scripts/ts-api.sh keys

DNS 管理

./scripts/ts-api.sh dns                 # 显示 DNS 配置
./scripts/ts-api.sh dns-nameservers     # 列出域名服务器
./scripts/ts-api.sh magic-dns on|off    # 切换 MagicDNS

ACLs

./scripts/ts-api.sh acl                 # 获取当前 ACL
./scripts/ts-api.sh acl-validate <文件> # 验证 ACL 文件

常见用例

“现在谁在线?”

./scripts/ts-api.sh online

“把这个文件发送到我的手机”

tailscale file cp document.pdf my-phone:

“公开暴露我的开发服务器”

tailscale funnel 3000

“为新服务器创建密钥”

./scripts/ts-api.sh create-key --reusable --tags tag:server --expiry 7d

“连接是直连还是中继的?”

tailscale ping my-server
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor