我家的舊電腦跑著 n8n、影音串流和檔案服務(整個過程見〈不買 NAS、不重灌:人不在家,把舊電腦升級成家庭影音中心〉),影片和檔案是透過 Tailscale 連回家的。
n8n 則經過 Cloudflare 對外。這篇講 Tailscale 怎麼裝、怎麼設,以及兩者怎麼分工。版本以 2026 年 10 月為準。
Tailscale 是什麼
Tailscale 在自己的設備之間拉一條私人的加密通道。手機在外面用 4G,連家裡的主機就像在家一樣;家裡不用開任何 port,也不影響原本 Cloudflare 那套。
個人使用的免費方案就夠了。
Tailscale 和 Cloudflare Tunnel 怎麼分工
| Cloudflare Tunnel | Tailscale | |
|---|---|---|
| 誰能連 | 任何瀏覽器,通過 Gmail 驗證就能進 | 只有裝了 Tailscale、登入自己帳號的設備 |
| 適合 | n8n 網頁、Webhook、瀏覽器 SSH | 影片串流、大檔案、管理介面 |
| 流量經過 | Cloudflare 的伺服器 | 盡量設備之間直連 |
影片不走 Cloudflare,是因為 Cloudflare 的條款不允許透過一般的 Tunnel 大量傳影片,免費方案上傳還有單檔 100MB 的限制。
Webhook 則一定要走 Cloudflare,因為外部服務不可能裝 Tailscale。
我的取捨是:公司電腦不裝 VPN 類軟體,所以在公司連不到影片和檔案,只能用瀏覽器 SSH 管主機。
在主機安裝 Tailscale
用官方安裝程式安裝,它會順便加入官方 apt 套件庫,之後跟著 apt upgrade 更新:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale up 會給一個網址,在任何瀏覽器打開、用 Google 帳號登入就加入了。
接著到 Tailscale 後台的 Machines 頁,把主機設成 Disable key expiry。不設的話大約半年後會自動登出,人在外面就連不回來了。

手機安裝,測試是不是直連
手機從 Google Play 安裝 Tailscale,用同一個 Google 帳號登入。再從主機測試連到手機:
tailscale status
tailscale ping 手機的設備名稱
我前幾次的結果是 via DERP(hkg),延遲 300~700ms。DERP 是 Tailscale 的中繼伺服器,hkg 是香港,代表流量繞去香港再回來。
Tailscale 會先用中繼接上,同時在背後試著打通直連,我的第五次就變成 via 公開IP:port,也就是直連了。手機用行動網路連回家,最低延遲約 30ms。
想看穩定的延遲時,Claude 給了 tailscale ping -c 10,結果只跑一行就停了。
原來這個指令一收到直連回應就會自動停止,要看連續的延遲改用一般的 ping -c 10 手機的 Tailscale IP。
一般 ping 的結果延遲忽高忽低(最低 30ms、平均 249ms),但完全沒有掉包。
這是手機行動網路的省電機制:每秒一個小封包,會讓網路模組反覆休眠又喚醒。看影片時資料是持續傳的,不會這樣,而且串流看的是頻寬,不是延遲。
另外要注意,Android 手機同時只能開一個 VPN,開了 Tailscale 就不能同時開其他 VPN App。
防火牆:服務只開給家裡和 Tailscale
主機上的服務,我的原則是只開給兩個來源:家裡的區網,和 Tailscale 的網路介面 tailscale0。以 Jellyfin(8096 port)為例:
sudo ufw allow from 192.168.1.0/24 to any port 8096 proto tcp
sudo ufw allow in on tailscale0 to any port 8096 proto tcp
用 Docker 架的服務要特別注意:Docker 一般的 port 寫法(ports: "8096:8096")會繞過 Ubuntu 的防火牆,上面的規則等於沒設。
所以我的 Docker 服務不是只綁本機 127.0.0.1,就是用 network_mode: host,讓防火牆管得到。
Tailscale 後台還有「出口節點」「子網路路由」「Tailscale SSH」這些功能,我都沒有開,讓主機只是一台被連的機器,不會變成通往家裡其他設備的通道。
進階:用自己的網域取代 IP:port
裝好之後,手機要開 http://100.x.x.x:8096 這種網址,很難記,瀏覽器還會跳憑證警告。
我後來加了一個叫 Caddy 的工具,用自己的網域給每個服務取網址,例如 media.example.com。
這個網址在 Cloudflare 設成「只限 DNS」(灰色雲朵),指向主機的 Tailscale IP。結果是:網址本身是公開的,但沒開 Tailscale 的人查得到名字、連不進去;影片流量也不經過 Cloudflare,不受上面說的條款限制。HTTPS 憑證由 Let’s Encrypt 免費自動申請和續約。

家裡的電視和電腦沒有裝 Tailscale,就直接用區網 IP(例如 192.168.1.250:8096)連。
這是舊電腦家用伺服器系列的第 6 篇。
上一篇:〈不買 NAS、不重灌:人不在家,把舊電腦升級成家庭影音中心〉;
下一篇〈Jellyfin 教學:用舊顯卡打造自己的 Netflix〉已經上架,寫的是用舊顯卡 GTX 1650 幫 Jellyfin 硬體轉檔,以及怎麼證明真的是顯卡在轉。






