Tailscale¶
- 最快方法:运行官方一键脚本
curl -fsSL https://tailscale.com/install.sh | sh。 - 激活网络:安装后执行
sudo tailscale up进行身份验证。- 终端会显示一个以
https://login.tailscale.com/a/开头的 URL。 - 在浏览器中打开此链接并登录您的 Tailscale 账户。
- 点击 Authorize 授权该设备。
- 终端会显示一个以
- 验证状态:使用
tailscale status查看已连接的设备。
QNAP通过Docker安装¶
配置文件:
version: '3'
services:
tailscale:
image: tailscale/tailscale:latest # 始终拉取最新版
container_name: tailscale
hostname: qnap-nas-docker # 在Tailscale后台显示的设备名
network_mode: host # 关键:使用主机网络模式,性能最好且支持IPv6
privileged: true # 关键:获取网络控制权限
cap_add: # 补充权限
- NET_ADMIN
- SYS_MODULE
volumes:
- /share/Container/tailscale:/var/lib/tailscale # 改为你刚才创建的文件夹路径
- /dev/net/tun:/dev/net/tun # 必须映射TUN设备
restart: unless-stopped
environment:
- TS_STATE_DIR=/var/lib/tailscale
# - TS_AUTHKEY=tskey-auth-xxxxx # 可选:填入你的Auth Key实现自动登录
常用命令¶
tailscale ip -4,查看分配给当前设备的 Tailscale 内部 IPv4 地址。
tailscale status,列出 Tailnet 中所有在线设备及其状态。
tailscale ping <IP/Hostname>,测试与特定节点的连通性。
sudo tailscale down,断开连接,但不关闭后台进程。
配置 Tailscale Exit Node (出口節點)¶
配置分為兩個步驟:1. 設置出口節點(服務端),2. 授權並使用(控制台與客戶端)。
第一步:將一台機器設為 Exit Node¶
你需要一台穩定運行的機器(Linux, macOS, Windows, 或 Apple TV)作為出口。
Linux (推薦,如 NAS, 樹莓派, VPS)
在終端機執行以下命令來宣告自己是出口節點:
sudo tailscale set --advertise-exit-node
如果這台機器同時也是 Subnet Router(子網路由),可以合併命令:
sudo tailscale set --advertise-exit-node --advertise-routes=192.168.1.0/24
Windows
- 右鍵點擊任務欄的 Tailscale 圖標。
- 選擇 Exit Node > Run exit node 。
macOS
- 點擊頂部選單欄的 Tailscale 圖標。
- 選擇 Exit Node > Run exit node。
第二步:在控制台批准 (Admin Console)¶
出於安全考量,宣告自己是 Exit Node 後,必須由管理員手動批准才能生效。
- 登入 Tailscale Admin Console。
- 找到你剛剛設定的那台機器(會看到一個灰色的 Exit Node 標籤)。
- 點擊右側的 "..." (更多選項) > Edit route settings。
- 勾選 Use as exit node。
- 點擊 Save。現在標籤會變成綠色,表示已啟用 。
第三步:在客戶端使用 Exit Node¶
現在你可以讓手機或筆電通過這台機器上網了。
iPhone / Android
- 打開 Tailscale App。
- 點擊右上角的 Exit node 選項(預設是 None)。
- 選擇你剛剛設定的那台機器。
- 連線後,你的所有流量都會通過那台機器轉發。
Windows / macOS / Linux
- Windows/macOS: 點擊 Tailscale 圖標 > Exit Node > 選擇目標機器。
- Linux: 使用命令行:
sudo tailscale set --exit-node=<目標機器的IP或名稱>
例如: sudo tailscale set --exit-node=nas-home
常見問題與進階設定¶
- 開了 Exit Node 後無法訪問本地網路 (LAN)?
預設情況下,啟用 Exit Node 後,客戶端會把所有流量(包括區網流量)都發送出去,導致無法訪問你當前所在地的印表機或 NAS。
- 解決方法:在客戶端啟用 "Allow Local Network Access" (允許區域網路存取)。
- 手機/電腦 App: 在 Exit Node 選單下方勾選 Allow LAN access 。
- Linux CLI: 增加參數
--exit-node-allow-lan-access。
- 網速變慢?
這是正常的。因為流量需要先加密 -> 傳輸到家裡 -> 解密 -> 訪問互聯網 -> 回傳。受限於你家裡的上傳頻寬(Upload Speed)。如果家裡上傳只有 30Mbps,你在外面用 Exit Node 的下載速度就不會超過 30Mbps。
- 無法上網?
- 檢查出口節點機器是否開啟了 IP Forwarding(Linux 需手動開啟
/proc/sys/net/ipv4/ip_forward,不過 Tailscale 安裝腳本通常會自動處理)。 - 檢查出口節點機器的防火牆是否允許轉發流量。