4.2 KiB
4.2 KiB
Tailscale 安装笔记 (Linux Mint/Ubuntu)
安装方式选择
方式 A:apt 源(Ubuntu/Mint,2026-06-15 实测有效)
# 1. 下载 GPG 密钥(注意用 noarmor.gpg,不是 bookworm.gpg)
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.noarmor.gpg \
-o /usr/share/keyrings/tailscale-archive-keyring.gpg
# 2. 添加源列表
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.tailscale-keyring.list \
-o /etc/apt/sources.list.d/tailscale.list
# 3. 安装
sudo apt-get update
sudo apt-get install -y tailscale tailscale-archive-keyring
# 4. 启动并加入网络
sudo systemctl enable --now tailscaled
tailscale up --authkey=tskey-auth-xxxxx
注意:
noble是 Ubuntu 24.04/Mint 22.3 的代号(jammy 是 22.04)。旧文档的bookworm.gpg链接可能 404。
方式 B:静态二进制(Deepin/Debian,绕过 apt 源 404 问题)
# 下载 tarball(URL 固定为 latest,不需要查版本号)
wget https://pkgs.tailscale.com/stable/tailscale_latest_amd64.tgz -O /tmp/tailscale.tgz
# 解压
cd /tmp && tar -xzf tailscale.tgz
ls tailscale_*/ # 查看版本目录名
# 安装二进制
sudo cp tailscale_*/tailscaled /usr/local/bin/
sudo cp tailscale_*/tailscale /usr/local/bin/
sudo chmod +x /usr/local/bin/tailscaled /usr/local/bin/tailscale
# 安装 systemd(如需要开机自启)
sudo cp tailscale_*/systemd/tailscaled.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable tailscaled
# 启动
sudo tailscaled &
sleep 3
sudo tailscale up --authkey=<tskey-auth-xxx>
Auth Key vs API Token(必须分清)
| 类型 | 格式 | 用途 |
|---|---|---|
| Auth Key | tskey-auth-k... |
节点认证,加入 Tailscale 网络 |
| API Token | tskey-api-k... |
管理 API 调用,不能用于节点认证 |
tailscale up --authkey= 必须用 tskey-auth- 格式的 key,否则报错 invalid key: unable to validate API key 或 key cannot be used for node auth。
Userspace 模式 vs Kernel 模式(关键区别)
| 特性 | Userspace 模式 | Kernel 模式(默认) |
|---|---|---|
tailscale0 TUN 设备 |
❌ 不创建 | ✅ 创建 |
Subnet 路由(--accept-routes) |
❌ 不支持 | ✅ 支持 |
| 适用场景 | 容器/沙箱环境 | 正常 Linux 机器 |
如何判断当前模式:
ip a show tailscale0 # 只有内核模式才有此接口
常见坑
| 问题 | 原因 | 解法 |
|---|---|---|
curl: (22) 404(GPG URL) |
密钥 URL 失效 | 用 noble.noarmor.gpg 而非 bookworm.gpg |
sudo: 需要密码 |
Hermes terminal 不支持交互 sudo | 用 echo 'pw' | sudo -S cmd |
curl | sh 被阻止 |
安全扫描拦截 pipe-to-sh | 分两步或用 wget 下载 tarball |
failed to connect to local tailscaled |
守护进程未运行 | 先 sudo tailscaled & 再执行 up |
invalid key: unable to validate API key |
用了 tskey-api- 而非 tskey-auth- |
用正确格式的 auth key |
坑1:systemd ExecStart 路径错误
apt 安装的 systemd unit 文件指向 /usr/sbin/tailscaled,但静态二进制安装到 /usr/local/bin/tailscaled,导致 systemctl start tailscaled 报 203/EXEC。
修复:
sudo sed -i 's|/usr/sbin/tailscaled|/usr/local/bin/tailscaled|g' /etc/systemd/system/tailscaled.service
sudo systemctl daemon-reload
sudo systemctl enable --now tailscaled
坑2:/etc/default/tailscaled 强制 userspace 模式
即使修复了 systemd ExecStart 路径,如果 /etc/default/tailscaled 中有 FLAGS="--tun=userspace-networking",systemd 启动的 tailscaled 仍会用 userspace 模式。
完整修复步骤(静态二进制 + systemd):
# 1. 修复 systemd service 路径
sudo sed -i 's|/usr/sbin/tailscaled|/usr/local/bin/tailscaled|g' /etc/systemd/system/tailscaled.service
# 2. 注释掉强制 userspace 模式
sudo sed -i 's/^FLAGS=/# FLAGS=/' /etc/default/tailscaled
# 3. 重载 systemd 并启动
sudo systemctl daemon-reload
sudo systemctl restart tailscaled
# 4. 验证 TUN 网卡存在
ip a show tailscale0
# 5. 开启自启
sudo systemctl enable tailscaled
验证连接
tailscale status # 查看节点在线状态
ping -c 1 100.109.14.87 # ping 其他节点