傳統設定 NAS 遠端存取的方法,不是要你去路由器開連接埠轉發,就是要搞定 DDNS 動態網域。開連接埠有暴露在公網的安全風險,DDNS 設定完還不見得穩定,一旦 ISP 換了 IP 段或路由器重開機,連線就斷了。如果你家用的是 CGNAT(常見於 4G/5G 行動網路或部分光纖業者),連入口都沒有,更是完全沒辦法。
Tailscale 通常不需要在路由器做入站連接埠轉發,也不需要固定 IP;但實際連線仍取決於 tailnet 權限、NAS 防火牆、DSM 版本與網路環境。安裝後,授權裝置可透過加密的 tailnet 連回 NAS,不代表 NAS 對所有人都不可見或不需要管理權限。
這篇適合誰
| 你的情況 | 建議先看哪段 |
|---|---|
| 想了解 Tailscale 的基本原理再決定裝不裝 | Tailscale 是什麼 |
| 直接想在 NAS 上安裝,跳過原理 | 在 Synology 安裝 Tailscale |
| 想讓家裡整個子網路都能被存取 | 啟用子網路路由 |
| 在外面想用 NAS 當 VPN 出口節點 | Exit Node 設定 |
| 遇到連不上或速度慢的問題 | 常見問題 |
Tailscale 是什麼
Tailscale 是一套基於 WireGuard 協定的現代 VPN 方案,但它和傳統 VPN 有一個根本的不同點:它是 Mesh 網路,不是中心化的 VPN 伺服器。
傳統 VPN 的架構是所有流量都要先繞到一台 VPN 伺服器,再從那裡出去。這台伺服器是瓶頸,也是成本來源。Tailscale 不同,它的 Coordination Server(協調伺服器)只負責做一件事:幫你的裝置交換 WireGuard 公鑰,建立信任關係。一旦金鑰交換完成,兩台裝置就會嘗試直接點對點(P2P)連線,流量不再經過 Tailscale 的伺服器。
這個設計帶來幾個好處:
- 安全:流量端對端 WireGuard 加密,Tailscale 伺服器看不到你傳的內容
- 快速:P2P 直連,延遲低,不受中繼頻寬限制
- 穿透力強:內建 DERP 中繼機制,即使 NAT 穿透失敗也能保持連線
每台加入 Tailscale 的裝置都會拿到一個 100.x.x.x 的私有 IP,這是 Tailscale 保留的 CGNAT 地址段(100.64.0.0/10)。不論你在哪裡,只要用這個 IP 就能連到對應的裝置。
Tailscale 也提供 MagicDNS 功能,讓你可以直接用裝置名稱(例如 synology-nas)取代 IP 來連線,更方便。
免費版的限制
Tailscale 個人免費版對家庭使用者來說非常夠用。2026 年 4 月調整方案後,免費版反而變得更大方:
| 功能 | 免費版(Personal) | 月費 |
|---|---|---|
| 用戶數 | 最多 6 人 | — |
| 用戶裝置數 | 無上限 | — |
| 子網路路由器(Subnet Router) | 支援 | — |
| Exit Node | 支援 | — |
| MagicDNS | 支援 | — |
| 免費 | 是 | $0 |
舊版「1 人/100 台裝置」的限制已經取消——現在免費版就能讓全家最多 6 個帳號共用同一個 tailnet,個人裝置數量也沒有上限。真的需要付費(Standard 方案 $8/user/月起)的情境,通常是公司多人團隊或需要進階存取控制,一般家庭用戶幾乎用不到。
在 Synology 安裝 Tailscale
有兩種方式可以在 Synology NAS 上安裝 Tailscale,選一種即可。
方法一:套件中心安裝(DSM 7.2+,推薦)
Synology 從 DSM 7.2 開始在套件中心加入了 Tailscale 官方套件,這是最簡單的方式。
步驟:
- 登入 DSM 管理介面,打開 套件中心
- 在搜尋框輸入
Tailscale - 找到 Tailscale 套件,點選 安裝
- 安裝完成後,在套件中心找到 Tailscale,點選 開啟
- 點選畫面中的 Log in with Tailscale 按鈕
- 瀏覽器會開啟 Tailscale 登入頁面,用 Google 帳號或 GitHub 帳號登入
- 授權後,DSM 會顯示「已連線」,並顯示分配到的
100.x.x.xIP
登入後,在 Tailscale Admin Console 的 Machines 頁面,就可以看到你的 NAS 已出現在裝置清單中。
DSM 7 限制: 若啟用 TUN 或讓其他服務經由 Tailscale 對外連線,可能需要依官方步驟重新設定套件與主機;若 Synology 防火牆已啟用,通常也要允許
100.64.0.0/10的 Tailscale 流量。DSM 升級或套件更新後,請重新確認這些設定。
方法二:Docker Compose 安裝
如果你的 DSM 版本較舊,或偏好用 Docker 管理服務,可以用官方的 Tailscale container 映像。
在 NAS 上建立以下 docker-compose.yml:
version: "3"
services:
tailscale:
image: tailscale/tailscale:latest
container_name: tailscale
hostname: synology-nas
environment:
- TS_AUTHKEY=${TS_AUTHKEY} # 由環境或 secret 注入,不要提交真實 key
- TS_STATE_DIR=/var/lib/tailscale
- TS_USERSPACE=false
volumes:
- /dev/net/tun:/dev/net/tun
- ./tailscale-data:/var/lib/tailscale
cap_add:
- NET_ADMIN
- SYS_MODULE
network_mode: host
restart: unless-stopped
取得 Auth Key:
- 前往 Tailscale Admin Console → Settings → Keys
- 點選 Generate auth key
- 依用途選擇是否 Reusable、Pre-authorized 或 ephemeral;權限越寬的 key 風險越高,請設定適當的 tags、到期時間與撤銷流程
- 複製產生的 Key,填入
TS_AUTHKEY欄位
存好 docker-compose.yml 之後,在同目錄執行(請確認 ${TS_AUTHKEY} 已由安全的環境或 secret 提供):
docker compose up -d
啟動後,一樣可以在 Admin Console 看到裝置上線。
在其他裝置安裝
NAS 設定好之後,你要連線的每台裝置也需要安裝 Tailscale 客戶端:
| 裝置 | 安裝方式 |
|---|---|
| iPhone / iPad | App Store 搜尋「Tailscale」 |
| Android 手機 | Google Play 搜尋「Tailscale」 |
| Windows 電腦 | tailscale.com/download 下載安裝程式 |
| macOS | App Store 或 Homebrew brew install tailscale |
| Linux | curl -fsSL https://tailscale.com/install.sh \| sh |
每台裝置安裝完後,用同一個帳號(Google 或 GitHub)登入,就會自動加入同一個 Tailscale 網路(稱為 Tailnet)。
安裝完成後,你就可以在手機或電腦上,直接用 NAS 的 100.x.x.x IP 連線,例如在瀏覽器開啟 http://100.x.x.x:5000 進入 DSM。
啟用子網路路由(Subnet Router)
預設狀態下,Tailscale 只讓你連到「有安裝 Tailscale 的裝置」。但你家裡可能還有很多設備——印表機、NVR、路由器管理介面、HomeKit 配件——這些沒辦法裝 Tailscale。
Subnet Router 可以解決這個問題。讓 NAS 作為你家裡子網路的路由器,這樣只要連上 Tailscale,就能存取整個 192.168.1.0/24(或你家的子網段)。
在 NAS 上啟用子網路路由
套件版:
- 打開 DSM 的 Tailscale 套件
- 在設定頁面找到 Subnet Routers 選項
- 輸入你的家庭子網段,例如
192.168.1.0/24 - 儲存,等待套件重新連線
Docker 版:
在 docker-compose.yml 的環境變數區塊加入:
environment:
- TS_ROUTES=192.168.1.0/24
重新啟動 container:
docker compose down && docker compose up -d
在 Admin Console 核准路由
路由不會自動生效,需要在管理員介面核准:
- 前往 Tailscale Admin Console → Machines
- 找到你的 NAS,點選右側的
...選單 - 選擇 Edit route settings
- 在 Subnet routes 區塊,將
192.168.1.0/24旁邊的開關打開 - 儲存
核准後,你在外面用 Tailscale 連線時,就可以直接輸入 192.168.1.x 的 IP 來存取家裡的任何設備。
啟用 MagicDNS
MagicDNS 讓你用裝置名稱代替 IP 連線,例如直接在瀏覽器輸入 http://synology-nas:5000,不用記一串數字。
開啟步驟:
- 前往 Tailscale Admin Console → DNS
- 在 MagicDNS 區塊,點選 Enable MagicDNS
- 儲存
啟用後,你的裝置名稱就會自動成為 DNS,也可以在 DNS 頁面設定自訂的 Tailnet 網域名稱(例如 home.example.com)。
裝置名稱由 Admin Console 的 Machines 頁面管理,可以重新命名成好記的名稱,例如把 NAS 改成 nas,這樣連線網址就是 http://nas。
Exit Node 設定
Exit Node 讓你把 NAS 設為所有流量的出口,相當於把家裡的網路當作你的 VPN 伺服器。
這個功能在你連公共 Wi-Fi(咖啡廳、機場、飯店)時可能有用:把 NAS 設為 Exit Node,你的手機或電腦的網路流量會先走到家裡的 NAS 再出去。但它會增加 NAS 的頻寬、可用性與權限責任,不等同於所有公共網路風險都消失。
在 NAS 上啟用 Exit Node 廣播
套件版:
- 打開 DSM 的 Tailscale 套件
- 找到 Exit Node 選項
- 開啟 Advertise as exit node
Docker 版:
在 docker-compose.yml 加入環境變數:
environment:
- TS_EXTRA_ARGS=--advertise-exit-node
在 Admin Console 核准 Exit Node
- 前往 Admin Console → Machines
- 點選 NAS 的
...選單 - 選 Edit route settings
- 在 Exit node 區塊打開開關
在手機或電腦端啟用
- 手機:打開 Tailscale App → 點選右上角選單 → Exit Node → 選擇你的 NAS
- 電腦(Windows):右下角 Tailscale 圖示 → Exit Node → 選擇 NAS
- 電腦(macOS):選單列 Tailscale 圖示 → Exit Node → 選擇 NAS
啟用後,你的所有流量都會先過 NAS,確認可以去 whatismyip.com 看 IP 是否變成家裡的 IP。
常見問題
Q1:安裝完之後連不上,可能是什麼問題?
A: 先確認幾件事:
- NAS 和你要連線的裝置是否都在同一個 Tailscale 帳號(Tailnet)下
- 在 Admin Console 的 Machines 頁面,兩台裝置是否都顯示「Connected」
- 確認 DSM 防火牆沒有擋住 Tailscale 的通訊(預設不會擋,但若有自訂防火牆規則要確認)
- 如果是 Docker 安裝,確認
network_mode: host有設定正確,且NET_ADMIN權限有開
Q2:連得上但速度很慢,怎麼辦?
A: 速度慢通常是因為 P2P 直連失敗,流量改走 Tailscale 的 DERP 中繼伺服器(relay)。這種情況常見於雙方都在 NAT 後面且路由器不支援 UDP hole punching。
確認方式:在連線的裝置上執行 tailscale status,看 NAS 那筆連線顯示的是 direct 還是 relay。
若是 relay,可以嘗試: - 在路由器設定 UPnP 或手動開放 UDP 41641(Tailscale 預設使用的 port) - 確保路由器的防火牆不擋 UDP 流量
Q3:NAS 重開機後 Tailscale 會自動啟動嗎?
A:
- 套件版:預設會隨 DSM 自動啟動,無需額外設定
- Docker 版:docker-compose.yml 裡設定了 restart: unless-stopped,只要 Docker 服務本身在跑,container 就會自動重啟
如果發現重開機後沒有自動連上,到 DSM → 控制台 → 工作排程器 確認 Docker 服務是否設為開機自動啟動。
Q4:Tailscale 和 QuickConnect 可以同時開嗎?
A: 完全可以,兩者互不衝突。Tailscale 是獨立的 VPN 客戶端,QuickConnect 走的是 Synology 的中繼協定,兩者使用的機制完全不同。
可以把 Tailscale 與 QuickConnect 視為不同的備援路徑;若同時保留,仍要分別管理帳號、2FA、權限與暴露面,不要因為多一條路徑就降低安全設定。
設定完成後你擁有的能力
- 從世界任何地方,用
100.x.x.xIP 或裝置名稱連回 NAS - 不需要在路由器開任何連接埠,NAS 不直接暴露在公網
- 可以存取家裡整個子網路(子網路路由啟用後)
- 用 NAS 當 VPN 出口,在公共 Wi-Fi 下保護流量
- 所有連線 WireGuard 加密,Tailscale 伺服器看不到資料內容
- 個人方案目前允許最多 6 位免費使用者;其他功能與限制仍應以帳號方案頁為準
官方文件與限制
- Tailscale:Synology NAS 官方整合文件:安裝、DSM 7 TUN、防火牆與已知限制。
- Tailscale:Docker 設定參數:
TS_AUTHKEY、TS_STATE_DIR與容器狀態保存方式。 - Tailscale:免費方案說明:Personal 方案使用者數與方案限制。
本文的命令與介面會隨 DSM、Tailscale 套件及方案更新;正式部署前請先用非關鍵服務測試登入、斷線復原、路由核准、NAS 防火牆與權限政策。
🔗 延伸閱讀
- QuickConnect vs DDNS vs Tailscale:遠端存取方式比較
- 用 Synology NAS 遠端喚醒電腦:Wake-on-LAN 完整設定
- Cloudflare Tunnel 完整教學:不開 Port 也能讓服務對外公開
- Synology NAS 2FA + VPN + 防火牆:三層安全設定
Tailscale 可降低遠端連線的部署成本,但仍需要持續管理 tailnet 成員、裝置授權、金鑰、DSM 防火牆與套件更新;它不是設定一次就完全不用維護的安全邊界。