Files
tailscale/OPERATIONS.md
Timmy a2946efeda docs: 新增 LXC 部署注意事項、節點對照表、symlink 設定
記錄 Proxmox LXC 環境需使用 --tun=userspace-networking 的解法、
TS_USERSPACE 環境變數在新版失效的坑,以及 /usr/local/bin 的 symlink 設定。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:59:56 +08:00

2.8 KiB
Raw Blame History

Operations Guide

日常操作

啟動服務

./run.sh

啟動 Tailscale Docker 容器(背景執行)。

停止服務

./stop.sh

停止並移除容器。

連線至 Headscale

./docker_exec_tailscale_up.sh

使用預設的 Auth Key 連線至 https://headscale.lotimmy.com,並:

  • 廣播子網路 192.168.88.0/24
  • 啟用出口節點Exit Node
  • 接受其他節點的路由

檢查狀態

./docker_exec_tailscale_status.sh   # 查看連線狀態
./docker_exec_tailscale_ip.sh       # 查詢 Tailscale IP

執行任意 Tailscale 指令

./tailscale status
./tailscale ping <peer>
./tailscale netcheck

./tailscaledocker exec -i tailscale tailscale 的包裝腳本。

部署後建議建立 symlink 讓系統全域可用:

ln -sf /opt/tailscale/tailscale /usr/local/bin/tailscale

之後即可在任何路徑直接執行 tailscale status 等指令。

Proxmox LXC 部署注意事項

LXC 容器環境下 /dev/net/tun 不存在且無法用 mknod 建立tailscaled 會啟動失敗。

解法: 使用 userspace networking 模式:

# docker-compose.yml
command: >
  sh -c "tailscaled --tun=userspace-networking"

並移除 volumes 中的 /dev/net/tun:/dev/net/tun 掛載。

注意:

  • TS_USERSPACE=true 環境變數在新版 Tailscalev1.96+)無效,必須直接傳 --tun=userspace-networking 參數
  • userspace networking 模式不支援 --advertise-routes--advertise-exit-node,該節點無法作為子網路由器或出口節點

節點部署對照表

主機 類型 Tailscale IP 主機名稱 備註
192.168.42.126 Proxmox LXC 100.64.0.8 ip-192-168-42-126 userspace networking無路由/出口功能

防火牆與路由設定

在主機上執行:

sudo ./iptables_reset_and_configure.sh

此腳本會:

  1. 清除所有現有 iptables 規則
  2. 允許 SSH (22)、HTTP (80)、HTTPS (443)、ICMP
  3. 設定 Tailscale CGNAT 範圍 (100.64.0.0/10) 的 NAT MASQUERADE
  4. 啟用 tailscale0eth0 之間的封包轉送
  5. 將規則儲存至 /etc/iptables/rules.v4

環境變數

變數 說明 位置
TS_AUTHKEY Headscale 預認證金鑰 .env

持久化資料

  • Tailscale 狀態檔案:主機的 /opt/tailscale 掛載至容器的 /var/lib/tailscale
  • iptables 規則:/etc/iptables/rules.v4

故障排除

# 確認容器正在執行
docker ps | grep tailscale

# 查看容器日誌
docker logs tailscale

# 確認 TUN 裝置存在
ls -la /dev/net/tun

# 確認 IP 轉送已啟用
cat /proc/sys/net/ipv4/ip_forward

# 登出並重新連線
./tailscale logout
./docker_exec_tailscale_up.sh