Tailscale 操作手册
本页目录
登录状态、节点路径、子网路由和访问策略分别验证。tailnet 内能 ping 到网关,不等于网关后面的业务端口可达;DERP 转发也不等于连接失败。
| 当前任务 | 入口 |
|---|---|
| 节点不通 / 很慢 | 身份与实际路径 |
| 访问内网网段 | 发布、批准、接收 |
| 用出口节点上网 | 默认出口与本地网络 |
先看客户端当前状态
身份与在线状态先确认
# 确认客户端与守护进程版本
选项以本机 help 为准;排障时记录版本便于解释平台差异。
# 查看本机与目标节点、用户和连接状态
找到 PEER_NAME;未登录先处理身份,不能直接进入路由发布。需要机器可读字段时另用 status --json。
# 取得本节点的 Tailscale IPv4 地址
不是局域网地址;实际服务监听须覆盖该地址或相应通配地址。
路径探测与业务验证分开
# 探测到已核对节点的 Tailscale 路径
观察 direct / relay 及 RTT,初次走 relay 后可能转为 direct;成功仍需用实际协议访问目标端口。
# 读取本机 UDP、NAT 与 DERP 探测
它是本机网络诊断,不是指定节点吞吐测试;与 status/ping 的实际路径对照。
# 在 Linux daemon 主机读取近期服务日志
非 systemd 平台用其客户端诊断入口;查登录、路由设置与网络切换的时间,而不是仅重启进程。
登录、断开和退出是不同动作
# 在需要登录或重新启用时启动连接流程
按输出完成认证;已有非默认配置时读提示,不加 --reset 丢弃配置。临时断开选择 down;确需注销身份才用 logout,之后重新登录验证。
PEER_NAME 替换为目标。status/ping 中观察 direct 或 relay、地址和变化;netcheck 描述本机 UDP/NAT/DERP 探测,不替代目标应用测试。先使用目标 IP 与实际端口测试,再分离 MagicDNS;系统 getent 与直接问 100.100.100.100 也不是同一解析路径。wg show 不是用户态 Tailscale WireGuard 的通用诊断入口。
| 操作 | 影响 |
|---|---|
| tailscale up | 登录/启用;重复使用注意已有非默认选项 |
| tailscale set ... | 修改指定偏好,不要求重列所有非默认项 |
| tailscale down | 断开但保留登录身份 |
| tailscale logout | 退出本机登录;不等于在管理后台删除节点记录 |
路由安装与策略授权互相独立
路由器:确认转发并发布网段
# 在子网路由器读取 IPv4 转发开关
值 1 表示启用;IPv6 另查 sysctl net.ipv6.conf.all.forwarding。修改前记录旧值,以下仅示例 IPv4。
# 在已规划的 IPv4 子网路由器临时启用转发
持久化把相同键值写入专用 /etc/sysctl.d/ 文件并通过指定文件 sysctl -p 加载,避免重新加载无关系统参数。转发开关不提供访问授权。
# 在路由器发布其真实可达的网段
替换文档地址;此偏好替换发布列表,多网段用逗号列全。接着在管理台批准或核对 autoApprovers,并确认策略允许客户端到目标端口。
Linux 客户端:接收并验证
# 在需要访问该网段的 Linux 客户端接收路由
这条在客户端执行,不是路由器上的下一步命令。用 ip route get TARGET_IP 核对选路,再请求目标业务;TARGET_IP 是网段内服务地址。
撤销时先评估仍在使用的网段:路由器把 advertise-routes 恢复为旧列表,客户端把 accept-routes 恢复为原值;仅当原来没有其他路由需求时才清空或关闭。转发设置也按原值恢复,并同步持久文件。
CIDR 替换为路由器真实可达的网段;设置 advertise-routes 会替换该偏好的网段列表,保留仍需发布的其他网段。转发按实际 IPv4/IPv6 需求持久化;管理台批准或 autoApprovers、客户端接收、策略允许缺一不可,路由存在也可能被过滤。Linux 客户端通常需显式 accept-routes,其他平台按文档默认值检查。
默认子网路由 SNAT 会让内网目标看到路由器源地址;关闭 SNAT 前建立返回 tailnet/远端子网的路由。HA 路由器不要机械接受自己也发布的相同网段。测试顺序是客户端路由、路由器转发、目标监听、返回包与策略;不要只测 tailscale ping。
出口节点改变互联网默认路径
出口节点先发布并获准
# 在具备转发与互联网出口的节点发布出口能力
先按子网路由器方式检查需要的 IPv4/IPv6 转发,再在管理台允许该节点作为出口,并核对使用者策略。
客户端选择出口,再验证外部请求
# 在客户端选择已批准的出口节点
名称从 status/管理记录取得。用可信的外部 IP 查询服务与业务请求核对出口,并测试 DNS;本地 LAN 访问要单独评估 --exit-node-allow-lan-access=true。
# 客户端不再需要出口节点时取消选择
这是后续撤销步骤,不应紧接选择就执行。再次检查出口与 DNS 恢复到预期;此操作不停止远端出口节点。
选择出口后用实际外部请求验证出口与 DNS。需要访问客户端本地 LAN 时,单独评估 exit-node-allow-lan-access,不把它理解为开放 tailnet ACL。访问策略的 hosts 别名只命名地址;允许谁访问什么由 grants/ACL 决定。用策略测试和实际业务端口验证,别只凭管理台显示在线。
DERP 排障从路径证据开始
relay 正常但慢时,对齐 RTT、吞吐、丢包、CPU 与网络环境,再查 UDP 可达性和 NAT。自建 DERP 的域名、TLS、监听端口和 DERP map 以部署配置为准,不把某个 8443 示例当协议固定端口。debug 子命令随版本变化,先 tailscale debug --help,不使用不存在的 local-creatures 等命令。
Tailscale CLI · Route injection · Subnet routers · Exit nodes