Tailscale 常用 CLI 命令与工具详解

Tailscale 常用 CLI 命令与工具详解:up/down/status/ip/ping/netcheck/set 等命令的用法、参数与实测回显,附工具概览与常见问题。

TailscaleTailscaleCLI 命令运维运维2026/10/09

Tailscale 常用 CLI 命令与工具详解

目标:把 Tailscale 日常必用的 CLI 命令与工具整理成可即查即用的手册——up/down/status/ip/ping/netcheck/set 等,含参数、真实回显与常见问题。命令与回显均以实测 Tailscale 1.104.1 为准。

一、环境信息

项值
CLI 版本Tailscale 1.104.1(tailscale / tailscaled 同版本)
控制台 socket/var/run/tailscale/tailscaled.sock
命令入口tailscale <子命令> [参数]
帮助tailscale --help / tailscale <子命令> --help
返回码0=成功;1=失败(未登录/未连接等)
目标系统Ubuntu 22.04(Linux)

二、工具概览

tailscale --help 实测列出全部子命令,核心日常运维用到的是以下几个:

命令用途
up连接组网、必要时触发登录
down断开组网连接
set精确修改单项偏好(增量)
get查看当前偏好值
status查看本机与所有 peer 的状态
ip显示本机/对端 Tailscale IP
ping在 Tailscale 层 ping 对端,看路由路径
netcheck分析本机网络到 DERP/对等点连通性
version查看版本信息
whoami/whois查看本机/某 IP 的机器与账号信息
sshSSH 到 Tailscale 机器(需开启 --ssh)
exit-node查看/设置 exit node
serve/funnel把本机服务暴露到 tailnet/公网
file经 Taildrop 收发文件

💡 说明:完整子命令清单见文末参考链接;本文聚焦 6 个日常最高频的(up/down/status/ip/ping/netcheck),其余作概述。

三、前置条件

  1. 已按《安装指南》完成 Tailscale 安装,守护进程就绪(tailscaled.service)。
  2. tailscale 命令在 root 下可直接运行;普通用户按需加 sudo 或用 --operator 授权。
  3. 需要控制台交互的命令(up 首次认证)需浏览器;status/ip/netcheck 等无需网络账号也可运行查看。

⚠️ 注意:tailscale up 属全量设置命令(改一个参数需带齐其余或加 --reset);tailscale set 为增量命令(只改指定项)。误操作 --reset 会丢失未指定的自定义项。

四、命令与工具详解

4.1 tailscale up(连接与认证)

连接组网,首次触发浏览器登录认证。

sudo tailscale up

实测回显(登录前,真实输出):

To authenticate, visit:

        https://login.tailscale.com/a/651224501c5f1

常用参数:

参数说明
--auth-key=<key>用认证密钥免交互登录(file: 前缀可从文件读)
--hostname=<名>覆盖节点名
--advertise-routes=<cidr>广播子网路由,做子网路由器
--advertise-exit-node作为出口节点
--accept-routes接受对端广播路由
--accept-dns接受控制台 DNS(默认 true)
--shields-up拒绝所有入站(默认 false)
--exit-node=<节点>走指定出口节点
--force-reauth强制重新认证
--reset未指定项恢复默认

⚠️ 注意:登录认证需人工打开上述 URL 授权,无法在纯命令行自动完成。生产无人值守用 --auth-key。

4.2 tailscale status(查看状态)

查看本机与所有 peer 节点。未登录时真实回显:

tailscale status
Logged out.
Log in at: https://login.tailscale.com/a/651224501c5f1

登录后真实形态(示例为完整结构,具体值以实际 tailnet 为准):

# Health check:
#     - not connected to home DERP region 1
100.101.102.103  edge-r1        linux   -
100.104.105.106  bastion-n1     linux   active; direct 12.3.4.5:41641
                 bastion-n1-subnet-router 20.20.20.0/24

参数:--peers(只看 peer,默认 true)、--self(只看本机)、--json(JSON 输出)、--active(只看活跃会话)。

4.3 tailscale ip(查看 Tailscale IP)

显示本机(或指定节点)的 Tailscale IP。

未登录时真实回显:

tailscale ip
no current Tailscale IPs; state: NeedsLogin

登录后:

tailscale ip -4        # 只看 IPv4(100.101.102.103)
tailscale ip -6        # 只看 IPv6
tailscale ip -1        # 只输出一个
tailscale ip <对端>    # 查对端 IP

💡 说明:tailscale0 接口上的 IP 形如 100.x.y.z(100.64.0.0/10 CGNAT 段)。--assert=<ip> 可断言本机 IP 是否为某值。

4.4 tailscale ping(Tailscale 层 ping 对端)

在 Tailscale 层 ping 对端,并报告每条响应的路由路径(首次多半走 DERP,打洞成功转直连)。

tailscale ping <对端主机名或100.x.y.z>

登录后真实输出形态:

pong from bastion-n1 (100.104.105.106) via DERP(hkg) in 82ms
pong from bastion-n1 (100.104.105.106) via direct in 3ms

参数:--c=<n>(ping 次数,默认最多 10 次,0 为不限)、--timeout=<d>(默认 5s)、--until-direct(默认 true,打洞成功即停)、--icmp/--tsmp/--peerapi(不同层级 ping)、--size、--verbose。

💡 说明:tailscale ping 走 WireGuard 隧道层、不注入对端 TUN,因此比普通 ping 更能定位「隧道通但 OS 防火墙挡包」的问题:隧道通、普通 ping 不通,一般是 OS 防火墙。

4.5 tailscale netcheck(网络连通性分析)

分析本机到控制面/DERP 中继/对等点的连通性,用于排查「打洞失败、只能走中继」。未登录也可运行,实测回显(节选):

tailscale netcheck
2026/10/09 03:56:15 No DERP map from tailscaled; using default.
2026/10/09 03:56:15 attempting to fetch a DERPMap from https://controlplane.tailscale.com
Report:
        * Time: 2026-10-09 03:56:18.575843462Z
        * UDP: true
        * IPv4: yes, 42.63.89.89:25019
        * IPv6: no, but OS has support
        * MappingVariesByDestIP: false
        * PortMapping:
        * CaptivePortal: false
        * Nearest DERP: Hong Kong
        * DERP latency:
                - hkg: 115.2ms (Hong Kong)
                - sfo: 182.9ms (San Francisco)
                - tok: 255.1ms (Tokyo)

💡 说明:UDP: true 表示 UDP 打洞可行;Nearest DERP 与本机最近的区域中继及其延迟。若 UDP: false/CaptivePortal: true,多半被 NAT/CGNAT 或安全组挡住了,届时即便登录也主要走 DERP 中继而非直连。

4.6 tailscale down(断开)

断开本机与组网的连接(不退出登录)。

sudo tailscale down

无回显(返回 0)。参数:--force 可强制断开(一般不需要)。

💡 说明:down 只断连不注销;tailscale logout 才注销并作废当前节点密钥。

4.7 tailscale set(增量改偏好)

只修改显式指定项,不碰其余偏好,比 up 更安全。

sudo tailscale set --hostname=edge-r1
sudo tailscale set --accept-routes=true --accept-dns=false
sudo tailscale set --ssh=true --shields-up=true

对应 --help 摘要:

USAGE
  tailscale set [flags]
Unlike "tailscale up", this command does not require the complete set of desired settings.
Only settings explicitly mentioned will be set. There are no default values.

4.8 tailscale version / whoami

  • 版本信息:
tailscale version
1.104.1
  tailscale commit: 7f4efe814ff14b064eb080344389ceb9ea2d37ac
  long version: 1.104.1-t7f4efe814-g8da26756c
  other commit: 8da26756c9a2af700dfd05fa38d21b1eef2bcaa2
  go version: go1.27.1 (tailscale/go 24ee2fd061)
  • 本机身份与登录账号:
tailscale whoami
User:     admin@example.com
Logins:   admin@example.com
Machine:   1a3c6f4744a0 (tailscale-node)

💡 说明:whoami 需登录态;登录前会报 Logged out.。

五、注意事项

  • 命令可用范围:up 首次认证需浏览器控制台,无法纯命令行自动完成;status/ip/netcheck/version 无需网络账号也能运行。
  • up 是全量设置:改一个参数需带齐其余期望参数或加 --reset;set 是增量。用错 --reset 会丢弃未指定的自定义项。
  • 权限:Tailscale 控制 socket 属 root;普通用户建议 sudo 或用 --operator=admin 授权。
  • 高危险性参数:--force-reauth(可能中断现有连接)、--advertise-routes 大网段、--advertise-exit-node——确认风险后再加 --accept-risk=all。

六、常见问题(FAQ)

Q1:tailscale status 报 can't connect to local tailscaled? 守护进程没起来。真机 sudo systemctl enable --now tailscaled。也可 tailscale --socket=/path 指定不同 socket。

Q2:tailscale up 停在 NeedsLogin? 尚未完成浏览器授权。见回显中的 https://login.tailscale.com/a/xxxx 完成登录;或改用 --auth-key 无人值守。

Q3:tailscale ping 通但普通 ping 不通? tailscale ping 在隧道层且不注入对端 TUN,普通 ping 被对端 OS 防火墙拦截。放行对端防火墙或对端不开 --shields-up。

Q4:tailscale netcheck 显示 UDP: false? NAT 或安全组挡了 UDP 打洞,会退化为 DERP 中继(仍可用但更高延迟)。检查宿主防火墙/云安全组放行 UDP 出站与打洞端口。

Q5:怎么查看本机 Port/IP 并固定 UDP 端口? tailscale ip -4 看 IP、tailscale netcheck 看出口;固定 UDP 端口用 daemon 参数 --port=41641(/etc/default/tailscaled 的 PORT,或 TS_TAILSCALED_EXTRA_ARGS 透传)。

七、参考链接