首页 Tailscale 速查
1.80.x 2026-07-28 tailscale/tailscale
打开 Zread CodeWiki
340px

🧭 一句话定位

  • Tailscale:基于 WireGuard 的零配置 VPN 网格(mesh),把多台设备组成私有网络,无需暴露公网端口。
  • 核心能力:NAT 穿透、跨平台客户端、MagicDNS、ACL 访问控制、Subnet Router / Exit Node / Funnel。
  • 使用场景:跨地区访问内网服务、远程开发、家庭/办公组网、临时设备加入。

📦 安装与初始化

安装(按平台)

  • brew install tailscale:或官网下载安装包
  • curl -fsSL https://tailscale.com/install.sh | sh
  • sudo apt-get install tailscale
  • winget install tailscale .exe:PowerShell ,或官网
  • Tailscale:应用商店搜
  • docker run -d --name tailscaled --network=host -v /var/lib/tailscale:/var/lib/tailscale -v /dev/net/tun:/dev/net/tun tailscale/tailscale

启动并登录

  • sudo tailscale up
  • 用浏览器账号登录(Google / Microsoft / GitHub / 邮箱)
  • tailscale status
  • sudo tailscale logout

🧠 核心概念

概念含义
Tailnet你的私有 Tailscale 网络,包含所有已登录设备
MagicDNS自动给每台设备分配 device-name.tailnet.ts.net 域名
ACLTailnet 级别访问控制列表,决定谁能访问谁
Exit Node把某台机器的公网出口共享给整个 Tailnet
Subnet Router让 Tailnet 访问某台机器所在的内网子网
Funnel把内网服务通过 Tailscale 公开成 HTTPS 公网入口
Taildrop在 Tailnet 设备之间直接传文件

🛠️ 常用命令(运维高频)

状态查看

  • tailscale status:列出所有节点、IP、在线状态
  • tailscale ip 100.x.y.z:查看本机 Tailscale IP()
  • tailscale ping <host>:测两节点连通性(走 DERP 中继或 P2P)
  • tailscale netcheck:检测 DERP 中继、UDP/TCP 可用性
  • tailscale version:客户端版本
  • tailscale whois <ip>:查某 IP 归属哪个节点/用户

启动与开关

  • sudo tailscale up:启动并加入 Tailnet
  • sudo tailscale down:退出 Tailnet(保留账号)
  • sudo tailscale set --accept-routes:让本机接受 Subnet Router 路由
  • sudo tailscale set --exit-node=<name|ip>:使用指定 Exit Node
  • sudo tailscale set --exit-node=auto:自动选延迟最低的 Exit Node
  • sudo tailscale set --accept-dns=false:关闭 MagicDNS(自定义 DNS 时)

文件共享

  • tailscale file cp <local> <target>:<path>:传文件到目标设备
  • tailscale file get <target>:<path>:从目标设备取文件
  • tailscale file rm <target>:<path>:删除远端文件

SSH(替代 sshd)

  • tailscale ssh user@host:通过 Tailscale 走 SSH(无需传统 SSH 配置)
  • sudo tailscale set --ssh
  • sudo tailscale set --ssh=false

Funnel / Serve

  • tailscale serve --bg http://localhost:8080:把本机 8080 暴露给 Tailnet
  • tailscale funnel 443 on:开启公网 HTTPS Funnel
  • tailscale serve status:查看当前 serve 配置
  • tailscale serve reset:清空所有 serve 规则

⚙️ 配置文件 tailscale up 常用参数

网络与路由

  • --advertise-routes=192.168.1.0/24,10.0.0.0/24:把本地子网广播到 Tailnet(Subnet Router)
  • --accept-routes:接受其他节点的路由广播
  • --exit-node=<name>:指定当前机器的 Exit Node
  • --exit-node-allow-lan-access:允许 Exit Node 同时访问本地 LAN
  • --netfilter-mode=off:关闭 iptables 自动规则(容器/特殊网络)

身份与安全

  • --operator=<user>:指定非 root 用户也能管 tailscale(sudoers)
  • --ssh:启用 Tailscale SSH 子系统
  • --accept-dns=false:不接管 DNS
  • --hostname=<name>:自定义节点名

标志可重复:使用 tailscale set 持久化

  • sudo tailscale up --accept-dns=false --ssh --operator=ccwq
  • sudo tailscale set --ssh=true --exit-node=auto

🌐 MagicDNS 与域名访问

  • <hostname>.tailnet.ts.net <hostname>.<tailnet-name>.ts.net:或
  • ping my-laptop
  • curl http://my-laptop:8080
  • sudo tailscale set --accept-dns=false
  • sudo tailscale set --dns=1.1.1.1,8.8.8.8

🚪 Exit Node(出口节点)

在出口机器上启用

  • sudo tailscale up --advertise-exit-node
  • https://login.tailscale.com/admin/machines

在客户端使用

  • sudo tailscale set --exit-node=<exit-node-name>
  • sudo tailscale set --exit-node=auto:自动选最低延迟
  • curl https://ifconfig.me:验证出口 IP 已切换

关闭 Exit Node

  • sudo tailscale set --exit-node=

🛰️ Subnet Router(子网路由)

在子网所在机器上

  • echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/99-tailscale.conf && sudo sysctl -p
  • sudo tailscale up --advertise-routes=192.168.1.0/24
  • 控制台批准该路由

在客户端使用

  • sudo tailscale up --accept-routes
  • ping 192.168.1.1:(应能 ping 通子网设备)

🔐 ACL(访问控制)

  • ACL 在 Tailscale Admin 控制台编辑(HuJSON 格式)
  • 最小示例:允许所有设备互相访问
{
  "acls": [
    {"action": "accept", "src": ["*"], "dst": ["*:*"]}
  ]
}
  • "src": ["group:admins"] "dst": ["tag:server:22"]:、
  • 修改后立即生效,所有设备下次连接时拉取新策略

🐳 容器与 Headless 场景

Docker 守护进程

  • docker run -d --name tailscaled --network=host --cap-add=NET_ADMIN --cap-add=SYS_MODULE -v /var/lib/tailscale:/var/lib/tailscale -v /dev/net/tun:/dev/net/tun tailscale/tailscale
  • docker exec tailscaled tailscale up
  • docker exec tailscaled tailscaled --login-server=https://controlplane.tailscale.com --authkey=<TS_KEY_AUTH>
  • 适合 CI / 临时服务器 / NAS

Kubernetes

  • tailscale-operator
  • tailscale.com/expose: "true"

🆘 排障速查

现象命令 / 处理
两节点不通tailscale ping <host>、tailscale netcheck
看到大量 DERP 中继NAT 穿透失败,可加 --advertise-routes 或检查防火墙
DNS 不生效sudo tailscale set --accept-dns=true,检查 tailscale status
路由不生效控制台批准 Subnet Route,客户端需 --accept-routes
SSH 连不上tailscale set --ssh,远端需同样开启;防火墙放行 22
想完全重置sudo tailscale down && sudo tailscale logout && sudo rm -rf /var/lib/tailscale/*
看谁在某节点tailscale whois 100.x.y.z
加速连接在两台机器都用同一区域 DERP:tailscale set --derp=<region>

🔑 Auth Key(自动化场景)

  • https://login.tailscale.com/admin/settings/keys
    • Reusable:可重复用
    • Ephemeral:节点下线自动移除
    • Pre-approved:跳过 ACL 审批
  • sudo tailscale up --authkey=tskey-xxxxx
  • CI / 临时服务器推荐:Reusable + Ephemeral + Pre-approved 三者组合

📚 进阶能力(按需启用)

  • Tailscale SSH:替代传统 sshd,集中管控
  • Taildrop:跨设备文件传输(GUI 拖拽或 CLI)
  • Funnel:把本地 HTTP 服务公开成 HTTPS
  • App Connectors:让 SaaS 流量走 Tailscale
  • Device Approval:新设备加入需管理员审批
  • SCIM / SSO:企业身份集成

🧾 命令速记表

命令作用
tailscale up加入 Tailnet
tailscale down退出(保留账号)
tailscale status节点列表
tailscale ping <h>连通性
tailscale ip本机 IP
tailscale netcheck网络检测
tailscale whois <ip>反查归属
tailscale file cp/get文件互传
tailscale ssh <u@h>走 Tailnet SSH
tailscale serve / funnel暴露服务
tailscale set修改运行时配置

🔗 相关链接

  • 官方文档:https://tailscale.com/kb
  • 客户端下载:https://tailscale.com/download
  • CLI 参考:https://tailscale.com/kb/1080/cli
  • 控制台:https://login.tailscale.com/admin
  • 状态页:https://status.tailscale.com