打破內網藩籬:Cloudflare Tunnel 與 Tailscale 構築的 Home Lab 自由之路
最後修改於 2026年2月10日 • 1 分鐘 閱讀 • 184 字分享如何透過 Cloudflare Tunnel 與 Tailscale,在不更動防火牆與 DMZ 的情況下,實現全方位的服務對外開放與跨地域 SD-WAN 遠端維運。

在我的 Home Lab 實踐中,Procyon、Sirius 與 Betelgeuse 這三台主機支撐起了我所有的數位生活——從 Nextcloud 雲端存取到 Odoo ERP 生產環境。而讓這些服務能夠穩定、安全地跨越地理限制,核心功臣莫過於 Cloudflare Tunnel 與 Tailscale。
讓服務走向世界:Cloudflare Tunnel 的優雅轉發
過去,要架設一個外部可存取的網站(如我的 ERP 系統 erp.395619.xyz),通常需要實體 IP 或複雜的 DDNS 設定。但在我的架構中,我將 Betelgeuse 上的 Odoo 容器透過 Cloudflare Tunnel 直接映射到 Internet。
為什麼這很迷人?
- 無需 DMZ 或 Port Forwarding:我不需要在 5G 路由器或家中的路由器開啟任何危險的入站連接埠,只需一個 Outbound 隧道。
- 內建安全防護:Cloudflare 提供的 CDN 防護與 WAF,讓我的 Home Lab 服務就像傳統的大型網站一樣穩健。
- 靈活部署:無論主機是在家中還是在辦公室,只要有網路,服務就能上線。
讓維運無所不在:Tailscale 構建的私有 SD-WAN
如果說 Cloudflare 是對外的「門戶」,那麼 Tailscale 就是我私人的「任意門」。透過 *.tailba0b79.ts.net 的 Mesh 網路,我的所有設備(包括 MacBook Pro Jupiter、Windows 桌機 Saturn)都能形成一個加密的 SD-WAN。
隨處即是辦公室
- Samba 資源存取:即便在咖啡廳,我也能像在區網一樣掛載 Sirius (Synology) 的備份路徑,進行
/mnt/sirius_backup的資料維護。 - 跨主機溝通:Betelgeuse 上的 Odoo 需要連接 Sirius 的 LDAP 進行驗證時,我直接映射
Tailscale IP。這種穩定性是傳統 VPN 難以比擬的。 - 無痛運維:無論在哪,只要帶著我的機器,都能透過金鑰 SSH 進入任何一台主機,進行審計日誌檢查或執行自動化更新腳本。
現有架構概覽 (Infrastructure)
目前我的網路拓樸已經實現了高度的自動化與日誌中心化:
| 主機名稱 | 核心角色 | 作業系統 | 關鍵技術 |
|---|---|---|---|
| Sirius | Log Central / AD DC | DSM 7.3.2 | 日誌過濾、Pushover 即時警報 |
| Procyon | App Server | Ubuntu 24.04 | Nextcloud AIO, Redis Cache |
| Betelgeuse | Production ERP | Ubuntu 24.04 | Docker Stack, Odoo 19.0 |
未來的探索方向
雖然目前的架構已足夠穩定,但 Home Lab 的精神在於永不停歇的優化。未來我計畫朝以下幾個方向深入研究:
- Tailscale Subnet Router 與 Exit Node 優化: 嘗試在 Sirius 上更完整地部署 Subnet Router,讓家中不支援安裝 Tailscale 的舊設備也能被遠端存取。
- Infrastructure as Code (IaC):
目前環境配置多為手動維護(如
Env.md),未來考慮引入 Ansible 來管理三台主機的設定與apt-auto-update.sh腳本的同步。 - 雲端監控整合: 利用 Cloudflare Tunnel 的回傳數據,結合 Sirius Log Center 的日誌,產出更直觀的流量分析圖表,監控 ERP 系統的存取狀況。
Cloudflare 與 Tailscale 的結合,不僅是技術上的便利,更是一種對「數位主權」的實踐。我們不再受限於 ISP 的 IP 分配,也不再被局域網的物理邊界所困。
留言