Tailscale CLI
此文档从官方 CLI 文档提取并转为简体中文。更多命令行查看 CLI_EXTRA.md。
Tailscale 客户端内置了一个命令行界面(CLI),您可以用它来管理和排查您在 Tailscale 网络(称为 tailnet)中的设备。
使用 Tailscale CLI
Linux
在 Linux 上,CLI 是您与 Tailscale 交互的主要方式。tailscale 二进制文件通常已经位于您的 $PATH 中,因此可以直接运行:
tailscale <命令>iOS 和 Android 不支持 CLI。
Tab 补全
Tailscale CLI 支持对命令、标志和参数进行 Tab 补全。您可以使用 completion 命令 来配置补全功能。
tailscale completion <shell> [--flags] [--descs]选择您的 shell,然后按照说明加载 Tailscale CLI 补全。
Bash
要为 Bash 加载 Tab 补全,请运行以下命令:
source <(tailscale completion bash)要在 Linux 上为每个新会话加载补全,请运行以下命令,然后重新加载 shell:
tailscale completion bash > /etc/bash_completion.d/tailscale命令参考
所有命令的通用标志:
--socket=<path>tailscaled socket 的路径。
up
将您的设备连接到 Tailscale,并在需要时进行认证。
tailscale up [flags]不带任何标志运行 tailscale up 即可连接到 Tailscale。
常用标志:
--accept-routes接受其他节点广播的子网路由。默认值取决于主机操作系统。对于 Windows、iOS、Android、macOS App Store 版以及 macOS 独立版,默认接受路由;其他平台默认不接受。--advertise-exit-node声明本设备为出口节点,用于 tailnet 的出站互联网流量。默认不声明。--advertise-routes=<ip>向整个 Tailscale 网络暴露物理子网路由。--exit-node=<ip|name>指定要使用的出口节点的 Tailscale IP 或机器名称。要禁用出口节点,可传入空值:--exit-node=。--exit-node-allow-lan-access允许客户端在使用出口节点时访问自己的本地局域网。默认不允许。--force-reauth强制重新认证。--snat-subnet-routes(仅 Linux)禁用源 NAT。通常子网设备看到来自子网路由器的流量源地址。禁用源 NAT 后,目标机器能看到原始机器的局域网 IP 作为源地址。--stateful-filtering为子网路由器和出口节点启用有状态过滤。启用后,除非是来自该节点的已跟踪出站连接的回复,否则丢弃目的 IP 为其他节点的入站包。默认禁用。--shields-up阻止 tailnet 内其他设备主动连接本设备。适合只发起出站连接的个人设备。--ssh运行 Tailscale SSH 服务器,按照 tailnet 管理员定义的访问策略(或默认策略)允许访问。默认 false。
完整标志列表请参考 tailscale up 主题。
down
断开与 Tailscale 的连接。该命令相当于在 Tailscale 客户端中选择断开或退出。
tailscale down断开后,您无法通过 Tailscale 访问其他设备。要重新连接,请再次运行不带标志的 tailscale up。
可用标志:
--accept-risk=<risk>接受风险并跳过确认,可选值:lose-ssh、all或空字符串(不接受风险)。--reason="<description>"当系统策略AlwaysOn.Enabled和AlwaysOn.OverrideWithReason启用时,指定断开原因(需加引号)。示例:tailscale down --reason="DNS issues"。
bugreport
bugreport命令自 Tailscale v1.8 起可用。如果看不到该命令,请考虑更新您的 Tailscale 客户端。
生成包含诊断信息的错误报告。
该命令通过在诊断日志中添加标记,便于 Tailscale 团队进行问题排查。
遇到连接问题时,在问题发生时立即在受影响设备上运行 tailscale bugreport。该命令会向诊断日志中打印一个随机标识符,您可将其分享给我们的团队。
标识符示例:
$ tailscale bugreport
BUG-1b7641a16971a9cd75822c0ed8043fee70ae88cf05c52981dc220eb96a5c49a8-20210427151443Z-fbcd4fd3a4b7ad94此命令不分享任何可识别个人身份的信息,除非您主动分享 bug 标识符,否则不会被使用。
可用标志:
--diagnose在生成bugreport标识符后,向 Tailscale 日志打印更多系统详细信息,供支持团队查看。默认false。--record暂停后生成第二个bugreport。先创建初始标识符,暂停期间重现问题,然后按回车生成第二个标识符。将两个标识符一起分享给团队。默认false。
cert
为主机生成 Let's Encrypt 证书和密钥文件,用于 tailnet 中的 HTTPS 证书。
如果您想共享文件目录或反向代理 HTTP 服务,请改用
tailscale serve命令。
tailscale cert hostname.tailscale.ts.net或者,您可以指定保存证书和私钥的文件路径:
tailscale cert --cert-file=cert.pem --key-file=key.pem hostname.tailscale.ts.netLet's Encrypt 证书有效期为 90 天,需要定期续期。当使用 tailscale cert 将证书保存到磁盘并手动移动到安装位置时,tailscaled 守护进程不知道续期证书的放置位置,因此您需要自行负责续期。
如果证书由 Tailscale 自动处理(例如使用 Caddy 集成),则会自动续期,无需用户干预。
可用标志:
--cert-file=<cert>指定证书输出路径。--key-file=<key>指定私钥输出路径。--min-validity=<duration>请求证书至少剩余的有效期。duration可被time.ParseDuration()解析,例如120h表示 5 天。--serve-demo使用该证书在:443端口提供演示服务,而不是写入磁盘。
--min-validity标志可确保返回的证书至少还有指定时长的有效期。如果指定的时长超过 Let's Encrypt 的证书寿命,则使用 Let's Encrypt 的最大寿命。
dns
dns 命令允许您访问 Tailscale DNS 设置。自 Tailscale v1.74.0 起可用。
子命令:
status打印本地 DNS 转发器配置以及 tailnet 范围的 MagicDNS 配置。query使用本地 DNS 转发器执行 DNS 查询。自 Tailscale v1.76.0 起可用。
status 的可用标志:
--all输出高级调试信息。
drive
使用 Taildrive 与您的 tailnet 共享目录。
tailscale drive share <name> <path>
tailscale drive rename <oldname> <newname>
tailscale drive unshare <name>
tailscale drive list子命令:
share创建或修改共享。rename重命名共享。unshare移除共享。list列出当前共享。
completion
配置 Tailscale CLI 的 Tab 补全。
tailscale completion <subcommand> [flags]子命令:
bash为 bash shell 配置补全。zsh为 zsh shell 配置补全。fish为 fish shell 配置补全。powershell为 PowerShell 配置补全。
可用标志:
--flags=<true|false>是否建议标志(除了子命令)。默认true。--descs=<true|false>是否在建议中包含子命令描述。默认true。
configure
配置要包含在 tailnet 中的资源。
tailscale configure <subcommands>子命令:
kubeconfig(alpha) 配置kubectl使用 Tailscale 连接 Kubernetes 集群。mac-vpn在 macOS App Store 版 和 独立版 上安装或卸载 VPN 配置。synology配置 Synology 以启用 Tailscale 所需的出站连接。sysext在 macOS 独立版 上激活、停用或管理 Tailscale 系统扩展 状态。systray管理 Linux 的systray客户端。
kubeconfig 的可用标志:
--http使用 HTTP 而非 HTTPS 连接认证代理。如果主机名参数中包含协议,则忽略此标志。
mac-vpn 的可用子命令:
install将 Tailscale VPN 配置写入 macOS 设置。uninstall从 macOS 设置中删除 Tailscale VPN 配置。
sysext 的可用子命令:
activate在 macOS 中注册 Tailscale 系统扩展。deactivate在 macOS 中停用 Tailscale 系统扩展。status打印 Tailscale 系统扩展的启用状态。
systray 的可用标志:
--enable-startup=<init-system>为 init 系统安装启动脚本。目前仅支持systemd。
示例:
- 配置本地
kubeconfig文件以使用 Kubernetes 认证代理:
tailscale configure kubeconfig <hostname-or-fqdn>- 配置 Synology 以启用出站连接:
tailscale configure synologyexit-node
获取 tailnet 中 出口节点 的信息。
tailscale exit-node <subcommands>可用子命令:
list列出 tailnet 中的出口节点。suggest建议推荐的出口节点。
list 的可用标志:
--filter=<country>按国家过滤出口节点。
file
访问并使文件可通过 Taildrop 共享。
tailscale file cp <files...> <target>:
tailscale file get <target-directory>可用命令:
cp复制文件到主机。get从 Tailscale 文件收件箱中取出文件。
cp 的可用标志:
--name=<name>使用备用文件名,尤其当<file>为-(stdin)时有用。--targets列出可能的cp目标。--verbose详细输出。
get 的可用标志:
--conflict=<behavior>当目标目录中已存在同名文件时的行为:skip跳过冲突文件:保留在 Taildrop 收件箱并打印错误。获取非冲突文件。overwrite覆盖现有文件。rename写入带编号后缀的新文件名。
--loop循环运行 get,接收不断到达的文件。--verbose详细输出。--wait如果收件箱为空,等待文件到达。
funnel
将内容和本地服务从您的 Tailscale 节点公开到互联网。
若仅限 tailnet 内部访问,请使用 serve 命令。
tailscale funnel <target>
tailscale funnel <subcommand> [flags] <args>子命令:
更多信息请参考 tailscale funnel 主题。
ip
获取设备的 Tailscale IP 地址。
tailscale ip [flags] [<hostname>]默认返回当前设备的 100.x.y.z IPv4 地址 和 IPv6 地址。可使用 -4 或 -6 仅返回一种地址。
$ tailscale ip -4
100.121.112.23也可查询其他设备:
$ tailscale ip raspberrypi
100.126.153.111
fd7a:115c:a1e0:ab12:4843:cd96:627e:9975可用标志:
--4仅返回 IPv4 地址。--6仅返回 IPv6 地址。--1仅返回一个地址,优先 IPv4。
licenses
获取开源许可信息。
tailscale licenseslock
管理 tailnet 的 Tailnet Lock。
tailscale lock <subcommand> [flags] <args>常用子命令:
init初始化 Tailnet Lock。status输出 Tailnet Lock 状态。add添加一个或多个受信任的签名密钥。remove移除一个或多个受信任的签名密钥。sign签名节点密钥并传输到协调服务器。
不带子命令和参数运行 tailscale lock 等同于 tailscale lock status。
完整子命令和标志列表请参考 tailscale lock 主题。
login
登录 Tailscale(并将此设备加入您的 Tailscale 网络)。有关登录的更多信息,请参考 快速用户切换。
tailscale login [flags]可用标志:
--accept-dns接受管理控制台的 DNS 配置。默认接受 DNS 设置。--accept-routes接受其他节点广播的 子网路由。默认值取决于主机操作系统。对于 Windows、iOS、Android、macOS App Store 版以及 macOS 独立版,默认接受路由;其他平台默认不接受。--advertise-connector声明为 应用连接器,用于 tailnet 的特定域名互联网流量。--advertise-exit-node声明为 出口节点,用于 tailnet 的出站互联网流量。默认不声明。--advertise-routes=<ip>向整个 Tailscale 网络暴露物理 子网路由。--advertise-tags=<tags>为本设备赋予标签权限。您必须在"TagOwners"中列出才能应用标签。--auth-key=<key>提供 认证密钥 以自动认证节点为您的用户账户。处理--auth-key的最佳实践请参考 安全处理认证密钥。--client-id用于通过 工作负载身份联合 生成 认证密钥 的客户端 ID。--client-secret用于生成 认证密钥 的 OAuth 客户端 密钥;如果以file:开头,则为包含密钥的文件路径。--exit-node=<ip|name>指定要使用的出口节点的 Tailscale IP 或 机器名称。要禁用出口节点,可传入空值:--exit-node=。--exit-node-allow-lan-access允许客户端在使用出口节点时访问自己的本地局域网。默认不允许。--hostname=<name>指定设备的自定义主机名(替代操作系统提供的名称)。注意:这会更改 MagicDNS 中的机器名称。--id-token来自身份提供商的 ID 令牌,用于与控制服务器交换 工作负载身份联合;如果以file:开头,则为包含令牌的文件路径。--audience请求身份提供商 ID 令牌时使用的受众,用于通过 工作负载身份联合 生成的认证密钥。--login-server=<url>指定控制服务器的基础 URL,替代https://controlplane.tailscale.com。如果使用 Headscale,请使用您的 Headscale 实例 URL。--netfilter-mode=<mode>Netfilter 模式(可选值:on、nodivert、off)。详情请参考 Tailscale netfilter 模式。--nickname=<name>当前账户的 昵称。--operator=<user>指定除root外的 Unix 用户名来操作tailscaled。--qr生成 Web 登录 URL 的二维码。默认不显示二维码。--qr-format=<format>二维码格式:small或large。默认small。--stateful-filtering为 子网路由器 和 出口节点 启用有状态过滤。启用后,除非是来自该节点的已跟踪出站连接的回复,否则丢弃目的 IP 为其他节点的入站包。默认禁用。--shields-up阻止 tailnet 内其他设备主动连接本设备。适合只发起出站连接的个人设备。--snat-subnet-routes对使用--advertise-routes广播的本地路由进行源 NAT。--ssh运行 Tailscale SSH 服务器,按照 tailnet 管理员定义的 访问策略(或默认策略)允许访问。默认 false。--timeout=<duration>等待 Tailscale 服务初始化的最长时间。duration可被time.ParseDuration()解析。默认0s(无限等待)。--unattended(仅 Windows)以 无人值守模式 运行,即使当前用户注销,Tailscale 仍保持运行。
logout
断开 Tailscale 并使当前登录过期。下次运行 tailscale up 时需要重新认证设备。
tailscale logout如果在 临时节点 上运行 tailscale logout,该节点将立即从 tailnet 中移除。
可用标志:
--reason注销原因,如果系统策略要求。
metrics
暴露并收集 Tailscale 客户端指标,供第三方监控系统使用。
tailscale metrics子命令:
print在当前终端显示客户端指标。write将指标值写入文本文件。
netcheck
获取当前物理网络状况报告,用于调试连接问题。
tailscale netcheck输出示例:
Report:
* Time: 2025-03-13T16:35:03.336481Z
* UDP: true
* IPv4: yes, <ipv4-address>
* IPv6: yes, <ipv6-address>
* MappingVariesByDestIP: false
* PortMapping:
* Nearest DERP: Seattle
* DERP latency:
- sea: 24.2ms (Seattle)
- sfo: 50.5ms (San Francisco)
- lax: 57.2ms (Los Angeles)
- den: 58.5ms (Denver)
- dfw: 63ms (Dallas)
- ord: 73.3ms (Chicago)(示例中 DERP 服务器 列表被截断以节省空间。)
UDP显示当前网络是否启用 UDP 流量。若为 false,则 Tailscale 很可能无法建立点对点连接,将依赖 加密 TCP 中继 (DERP)。IPv4和IPv6显示您的公网 IP 地址及双栈支持情况。MappingVariesByDestIP表示设备是否处于根据目标变化的复杂 NAT 后面。HairPinning表示路由器是否支持从局域网端点回环到局域网的全局映射 IPv4 地址/端口。PortMapping列出路由器上存在的三种端口映射服务:UPnP、NAT-PMP、PCP。DERP latency和Nearest DERP显示到 加密 TCP 中继 (DERP) 的延迟,最低延迟(“最近”)的服务器将被用于流量。
若某些字段为空,表示 Tailscale 无法测量该网络属性。
tailscale netcheck 的所有信息也可在管理控制台的 Machines 页面中查看,选择特定设备即可。
可用标志:
--every=<duration>若非零,则按给定频率进行增量报告。--format=<format>输出格式:空(人类可读)、json或json-line。--verbose详细日志。
nc
连接到主机的端口,并连接 stdin/stdout。
tailscale nc <hostname-or-IP> <port>ping
仅通过 Tailscale 尝试 ping 另一设备。
普通 ping 命令通常能在 Tailscale 上正常工作,但 tailscale ping 提供更多 Tailscale 连接细节,便于排查连接问题。
tailscale ping <hostname-or-ip>可使用 100.x.y.z 地址 或 机器名称 调用。
可用标志:
--c发送的最大 ping 次数。默认 10。--icmp,--icmp=false执行 ICMP 级 ping(通过 WireGuard,但不经过本地主机 OS 协议栈)。默认 false。--peerapi,--peerapi=false尝试访问对端的 PeerAPI HTTP 服务器。默认 false。--size=<size>ping 消息大小(仅适用于默认 ping)。0 表示最小大小。--tsmp,--tsmp=false执行 TSMP 级 ping(通过 WireGuard,但不经过任一主机 OS 协议栈)。默认 false。--timeout=<duration>放弃 ping 前的最长等待时间。duration可被time.ParseDuration()解析。默认5s。--until-direct,--until-direct=false一旦建立直接路径即停止。默认 true。--verbose,--verbose=false显示详细输出。默认 false。
tailscale ping命令支持 四种 ping 消息类型。
serve
在 tailnet 内从您的 Tailscale 节点提供内容和本地服务。
若要公开到互联网,请使用 funnel 命令。
tailscale serve <target>
tailscale serve <subcommand> [flags] <args>子命令:
更多信息请参考 tailscale serve 主题。
set
更改指定的偏好设置。
与 tailscale up 不同,该命令无需提供完整的期望设置集,只更新您明确指定的设置。没有默认值。注意:在使用 快速用户切换 时,更改仅适用于当前连接的 tailnet。
tailscale set [flags]可用标志:
--accept-dns接受管理控制台的 DNS 配置。--accept-risk=<risk>接受风险并跳过确认,可选值:lose-ssh、all或空字符串(不接受风险)。--accept-routes,--accept-routes=false接受其他节点广播的 子网路由。默认值取决于主机操作系统。对于 Windows、iOS、Android、macOS App Store 版以及 macOS 独立版,默认接受路由;其他平台默认不接受。--advertise-connector声明为 应用连接器,用于 tailnet 的特定域名互联网流量。--advertise-exit-node,--advertise-exit-node=false声明为出口节点,用于 tailnet 的互联网流量。--advertise-routes=<ip>向整个 Tailscale 网络暴露物理 子网路由。这是一个逗号分隔的字符串,例如 "10.0.0.0/8,192.168.0.0/24",或空字符串表示不广播路由。--auto-update,--auto-update=false启用或禁用客户端的 自动更新。--exit-node=<ip|name>指定要使用的出口节点的 Tailscale IP 或 机器名称。也可使用--exit-node=auto:any跟踪推荐出口节点,并在可用出口节点或网络条件变化时自动切换。要禁用出口节点,可传入空值:--exit-node=。--exit-node-allow-lan-access,--exit-node-allow-lan-access=false允许客户端在使用出口节点时访问自己的局域网。--hostname=<name>指定设备的自定义主机名(替代操作系统提供的名称)。注意:这会更改 MagicDNS 中的机器名称。--netfilter-mode=<mode>Netfilter 模式(可选值:on、nodivert、off)。详情请参考 Tailscale netfilter 模式。--nickname=<name>当前账户的 昵称。--operator=<user>指定除root外的 Unix 用户名来操作tailscaled。--relay-server-port=<port>指定接受对端中继连接的 UDP 端口。0表示随机选择未使用端口,空字符串表示禁用中继服务器功能。详情请参考 Tailscale Peer Relays。--relay-server-static-endpoints为 Tailscale Peer Relays 使用静态端点。--report-posture允许管理平面收集 设备姿态 信息。--shields-up,--shields-up=false阻止 tailnet 内其他设备主动连接本设备。适合只发起出站连接的个人设备。--snat-subnet-routes对使用--advertise-routes广播的本地路由进行源 NAT。--ssh,--ssh=false运行 Tailscale SSH 服务器,按照 tailnet 管理员定义的 访问策略(或默认策略)允许访问。--stateful-filtering对转发的包(子网路由器、出口节点等)应用有状态过滤。--update-check通知可用 Tailscale 更新。--webclient,--webclient=false在后台持久暴露 Web 界面 到 tailnet,监听端口:5252。
ssh
建立到 Tailscale 机器的 Tailscale SSH 会话。
您通常可以使用普通 ssh 命令或其他 SSH 客户端连接 Tailscale 机器。但当本地节点处于 userspace-networking 模式 且无法直连时,请使用 tailscale ssh。它会设置 SSH ProxyCommand 通过本地 tailscaled 守护进程连接。您也可以在 kernel 模式 下使用 tailscale ssh。
tailscale ssh 命令会自动将目标服务器的 SSH 主机密钥与通过 Tailscale 协调服务器广播的节点 SSH 主机密钥进行比对。
tailscale ssh <args><args> 为以下形式之一:
host目标服务器。交互式会话会提示您输入用户名。user@host会话用户名和目标服务器。
对于两种形式,host 可以是目标服务器的 MagicDNS 名称(即使本地节点设置了 --accept-dns=false),也可以是目标服务器的 Tailscale IP 地址。
在沙盒化的 macOS 构建中无法使用
tailscale ssh——请使用普通ssh客户端。
status
获取与其他 Tailscale 设备的连接状态。
tailscale status该命令返回人类可读的简洁表格:
1 2 3 4 5
100.1.2.3 device-a apenwarr@ linux active; direct <ip-port>, tx 1116 rx 1124
100.4.5.6 device-b crawshaw@ macOS active; relay <relay-server>, tx 1351 rx 4262
100.7.8.9 device-c danderson@ windows idle; tx 1214 rx 50
100.0.1.2 device-d ross@ iOS -从左到右各列含义:
- 第 1 列:Tailscale IP,可用于连接设备。
- 第 2 列:设备的 机器名称。若启用 MagicDNS,也可使用此名称连接。
- 第 3 列:设备所有者的电子邮件地址。
- 第 4 列:设备操作系统。
- 第 5 列:当前连接状态。
连接状态(第 5 列)使用三种术语:
active表示当前正在与该设备发送/接收流量。同时显示连接类型:direct、relay或peer-relay。direct时包含对端 IP 地址。relay时包含 DERP 服务器 的城市代码(nyc、fra、tok、syd 等)。peer-relay时包含对端中继的 Tailscale IP 和使用的 VNI(虚拟网络接口)。
idle表示当前未与该设备发送/接收流量。-表示从未与该设备发送/接收过流量。
active 和 idle 状态还会显示 tx/rx 值,表示已发送(tx)和接收(rx)的字节数。
使用 --json 标志运行 tailscale status 会返回机器可读的 JSON 响应:
tailscale status --json与普通 tailscale status 不同,此标志提供 tailnet 中对端和用户的详细列表,非常适合自动化任务,并包含设备的额外元数据。
结合 jq 可自动化网络数据收集。例如,以下命令统计并排序 Tailscale 对端连接的 relay 服务器:
tailscale status --json | jq -r '.Peer[].Relay | select(.!="")' | sort | uniq -c | sort -nr可用标志:
--active仅过滤有活跃会话的对端(Web 模式下不适用)。--browser在 Web 模式下打开浏览器(默认true)。--header在表格格式中显示列标题(默认false)。--json以 JSON 格式输出(注意:格式可能变更)。--listen=<address>Web 模式的监听地址;端口 0 表示自动(默认127.0.0.1:8384)。--peers显示对端状态(默认true)。--self显示本地机器状态(默认true)。--web运行 Web 服务器并显示状态的 HTML 页面。
switch
切换到其他 Tailscale 账户。有关切换账户的更多信息,请参考 快速用户切换。
tailscale switch <account> [flags]示例:
- 切换到
alice@example.com账户:
tailscale switch alice@example.com- 切换到昵称为 "work" 的账户:
tailscale switch work可用标志:
--list列出可用账户。
子命令:
remove <id>从本地机器移除 Tailscale 账户。此操作不会删除账户本身,但将无法再切换到该账户。您可通过重新登录添加回来。此命令目前处于 alpha 阶段,未来可能变更。
syspolicy
列出、重新加载系统策略,或检查与 tailnet 配置的 系统策略 相关的错误。
tailscale syspolicy子命令:
list显示系统策略、重新加载系统策略,或探索设备上配置的 系统策略 相关错误。reload强制 Tailscale 客户端重新加载并应用设备上的系统策略设置。
可用标志:
--json返回机器可读的 JSON 响应。
systray
systray命令适用于 Linux 客户端,目前处于 beta 阶段,自 Tailscale v1.88 起可用。
运行 Linux 桌面客户端的 系统托盘(systray)应用,以访问快速用户切换、选择出口节点等常用操作。
tailscale systray请勿使用超级用户权限运行
tailscale systray(即sudo tailscale systray),因为 systray 未设计为以 root 身份运行,命令将失败。
update
update命令在以下平台可用:Windows 和 Ubuntu/Debian Linux 自 Tailscale v1.36 起,Mac App Store 版和 Synology 自 v1.48.0 起,QNAP 和 macOS 独立版 自 v1.54.0 起。如果您在这些操作系统上未看到此命令,请考虑更新 Tailscale 客户端。
将 Tailscale 客户端更新到最新版本或指定版本。
tailscale update [flags]可用标志:
--dry-run显示更新将执行的操作,但不实际执行,也不提示开始更新。--track检查更新的轨道,可选stable或unstable。未指定时,使用客户端当前生效的轨道。--version指定用于更新或降级的明确版本。不能同时使用--track和--version。macOS 客户端不支持此标志。--yes无交互提示执行更新。默认 false。
如果您降级到不支持 tailscale update 功能的版本,将无法使用 tailscale update 返回上一版本。您需要不使用 CLI 的方式进行更新。
要查看客户端当前版本,请运行 tailscale version。
示例:
更新到当前轨道(stable 或 unstable,取决于您当前运行的版本)的最新版本:
tailscale update无交互提示更新到当前轨道最新版本:
tailscale update --yes更新到 Tailscale v1.34:
tailscale update --version=1.34.0更新到最新不稳定版本:
tailscale update --track=unstableversion
打印 Tailscale 版本。
tailscale version [flags]可用标志:
--daemon同时打印本地节点的守护进程版本。默认 false。--json返回机器可读的 JSON 响应。--upstream打印来自pkgs.tailscale.com的最新上游发布版本。默认 false。
运行 tailscale version 还会打印其他信息,包括 Go 版本。示例输出:
tailscale version
1.72.0
tailscale commit: 9a0f00ea8ed08d1a94b357fb232ac9d44a512664
other commit: 387e0b40ad87031fb4444372ee80a97156e8deb9
go version: go1.22.5web
启动用于控制 tailscaled 守护进程的 Web 服务器。在 CLI 或原生应用不方便的场景(例如 NAS 设备)下很有用。
tailscale web [flags]可用标志:
--cgi=<true|false>以 CGI 脚本方式运行 Web 服务器。默认 false。--listen=<ip|name>设置监听地址。端口0表示自动。默认localhost:8088。--origin=<hostname>Web UI 被服务的来源(用于反向代理或 CGI 场景)。--prefix=<string>为请求添加的 URL 前缀(用于 CGI 或反向代理)。--readonly以只读模式运行 Web 服务器。
whois
查询 Tailscale IP 对应的机器和用户。
tailscale whois ip[:port]对于用户设备,返回:
Machine:
Name:
ID:
Addresses:
AllowedIPs:
User:
Name:
ID:
Capabilities:对于带标签的设备,返回:
Machine:
Name:
ID:
Addresses:
AllowedIPs:
Tags:
Capabilities:各字段含义:
Machine,Name:设备的 机器名称。若启用 MagicDNS,也可使用此名称连接。Machine,ID:设备的 节点 ID。Machine,Addresses:Tailscale IP,可用于连接设备。Machine,AllowedIPs:设备可用的子网路由。Machine,Tags:设备所属的标签。User,Name:设备所有者的电子邮件地址。User,ID:用户的唯一 ID。Capabilities:设备的权限。
使用 --json 标志运行 tailscale whois 将返回机器可读的 JSON 响应。(注意:--json 选项必须放在 ip[:port] 参数之前。)
tailscale whois --json ip[:port]可用标志:
--json以 JSON 格式输出。--proto=<proto>WhoIs 请求的协议:tcp或udp;为空表示两者均支持。
appc-routes
打印当前 应用连接器 路由状态。
默认情况下,该命令打印应用连接器配置中设置的域名以及每个域名已学习的路由数量。
tailscale appc-routes [flags]可用标志:
--all打印已学习域名和路由,以及额外策略配置的路由。--map打印已学习域名的映射。--n打印本节点广播的路由总数。