模組 8 — Cloudflare WAN(連線辦公室與資料中心)
目標: 把整個站點——辦公室、資料中心、雲網絡——接入 Cloudflare,讓其全部流量(不只是裝了 WARP 的筆記本)都被路由和保護,從而替代昂貴的 MPLS 線路和站點間 VPN 網狀連線。
| 👤 誰來做 | 網路團隊(需要路由器/防火牆許可權) |
| ⏱️ 用時 | 每站點約 90 分鐘 |
| 🎯 完成後你將擁有 | 一個通過冗餘隧道接入 Cloudflare 的站點,其流量受你的策略過濾 |
| ✋ 開始前 | 已啟用企業版網路附加元件(Cloudflare WAN);站點路由器/防火牆的管理許可權;你的 IP 地址規劃 |
⚠️ 本模組涉及生產網路。 請安排維護視窗,準備好路由器的控制台訪問和回滾方案。先做一個站點。
流程:(0) MSS 預處理 →(A) 選擇入口匝道 →(B) 建立隧道 →(C) 路由 →(D) 安全 →(E) 測試與故障切換。
0 部分 — 預處理:MSS 鉗制(別跳過!)
由於 Cloudflare 會在你的資料包外再套一層報頭,大數據包可能被悄悄丟棄,除非你在邊緣裝置上限制 TCP 段大小(MSS)。
在隧道啟用之前,在你的路由器/防火牆上設定:
| 隧道型別 | 將 MSS 設為 |
|---|---|
| GRE | 1436 位元組 |
| IPsec | 1360 位元組 |
示例(Cisco):ip tcp adjust-mss 1436 · (Juniper):set … tcp-mss 1436
⚠️ 忘記這步的典型症狀: 普通 http:// 站點正常,但 https:// 站點卡住或超時。之後若遇到此現象,回到這裡。
A 部分 — 選擇你的入口匝道
決定每個站點如何連線:
| 入口匝道 | 適用於 | 說明 |
|---|---|---|
| Cloudflare WAN Connector | 分支辦公室、最簡單 | 一個小型 Cloudflare 裝置(硬體或虛擬);近乎零接觸 |
| IPsec 隧道 | 已有防火牆/路由器的站點 | 加密;支援動態路由(BGP) |
| GRE 隧道 | 資料中心、高吞吐 | 不加密;支援 BGP |
| CNI(直連) | 私有高頻寬鏈路 | 物理/虛擬交叉連線 |
| 雲(MNC) | AWS/Azure/GCP VPC | 自動化雲入口匝道 |
本模組演示 IPsec 隧道(與現有防火牆搭配最常見)。GRE 幾乎相同。
B 部分 — 建立隧道(帶冗餘)
⭐ 始終從兩臺不同的路由器建立兩條隧道。 Cloudflare 一側是“任播(anycast)”——一條隧道就已觸達所有 Cloudflare 位置——因此冗餘是為了防止你這邊的硬體故障。
B1 步 — 在 Cloudflare 中建立第一條 IPsec 隧道
- 👉 在控制台前往 Cloudflare WAN → Configuration → Tunnels。
- 👉 點選 Create → IPsec tunnel。
- ⌨️ 填入:
欄位 取值 Tunnel name hq-london-fw1Customer endpoint 你防火牆的公網 IP(若在 NAT 後則留空) Cloudflare endpoint Cloudflare 分配給你的任播 IP Interface address Cloudflare 為隧道提供的小段(如 /31)Pre-shared key (PSK) 點選生成,或貼上你自己的——安全儲存 Health check 開啟(推薦) - 👉 點選 Save。
B2 步 — 在你的防火牆上匹配這些設定
在你的裝置上建立對應的 IPsec 隧道,使用完全相同的:
| 引數 | 取值 |
|---|---|
| IKE 版本 | IKEv2(僅) |
| Phase 1 & 2 加密 | AES-256-GCM-16 |
| Phase 1 & 2 完整性 / PRF | SHA2-256 |
| Phase 1 & 2 DH group(PFS) | Group 20 |
| 預共享金鑰 | 來自 B1 的 PSK |
| Cloudflare 對端 IP | 來自 B1 的任播端點 |
(UDP 500→4500 的 NAT 穿越會自動處理。)
B3 步 — 為第二條隧道重複
👉 在你的第二臺路由器上建立 hq-london-fw2,並在 Cloudflare 中建立對應的第二條隧道。
✅ 檢查點: 在 Cloudflare WAN → Tunnels 中,兩條隧道都顯示 Healthy(健康檢查通過)。
C 部分 — 告訴 Cloudflare 你的網路如何路由
- 👉 Cloudflare WAN → Configuration → Routes。
- 選擇你的方式:
方式 1 — 靜態路由(簡單、穩定的站點)
- 👉 點選 Create route。
- ⌨️ 填入:
欄位 取值 Prefix 你站點的網段,如 10.10.0.0/16Tunnel / next hop hq-london-fw1Priority 100(越小越優先)Weight 用於兩條隧道間的負載分擔(ECMP) - 👉 再新增一條經
hq-london-fw2的路由(如優先順序也設100做負載分擔,或設200作備用)。
方式 2 — BGP(多站點/易變環境推薦)
- 👉 在隧道上啟用 BGP,配置 eBGP 對等體:你路由器的 ASN、Cloudflare 的 ASN,以及 MD5 密碼。
- 📺 路由現在會自動交換——在站點新增一個網段就會自動傳播,無需改控制台。
⚠️ 注意: 規劃好你的 IP 空間。 若兩個站點使用重疊網段(如都用 192.168.1.0/24),Cloudflare WAN 路由會中斷。請重新編址或使用唯一網段。
✅ 檢查點: 你的站點網段出現在 Magic 路由表中,可經隧道到達。
D 部分 — 新增安全並把流量送往 Gateway
- 對網路流量做防火牆: 👉 前往 Magic Firewall → Create rule,在網路層(L3/L4)允許/拒絕流量。⚠️ 在你新增規則前,這些網路流量是不過濾的。
- 把你的 Web 策略應用到整個站點: 把站點去往網際網路的流量經 Gateway 路由,讓模組 5–6 的 DNS/HTTP/DLP 策略保護站點上的每臺裝置——即使它沒裝 WARP。
- 獲取告警: 👉 Cloudflare Notifications → Add → Magic Tunnel Health → 選擇你的隧道 → 新增接收人,以便在使用者察覺前你就先知道隧道問題。
E 部分 — 測試並驗證故障切換
測試 1 — 連通性
- 👉 從站點內(隧道後)的一臺機器,訪問隧道另一端的資源(另一站點,或經 Cloudflare 上網)。
- 👉 執行
curl http://ifconfig.me和curl https://ifconfig.me。 - 📺 兩者都應快速返回。若只有
http正常而https卡住 → 你的 MSS 鉗制設錯了(0 部分)。
測試 2 — 故障切換
- 👉 在受控測試中停用第一條隧道(或讓路由器 1 下線)。
- 📺 流量應在數秒內重新收斂到第二條隧道;控制台把隧道 1 標為不健康。
- 👉 重新啟用並確認它恢復。
✅ 檢查點: 站點連通正常、HTTPS 健康(MSS 正確)、故障切換有效,且站點流量受 Gateway 過濾。🎉
✅ 模組 8 完成!
你現在擁有:
- ✅ 正確設定的 MSS 鉗制
- ✅ 顯示健康的冗餘隧道(兩臺路由器)
- ✅ 配置好的路由(靜態或 BGP),且 IP 規劃清晰
- ✅ Magic Firewall 規則 + 站點流量經 Gateway
- ✅ 經驗證的連通性與故障切換,外加健康告警
快速排障
| 問題 | 解決辦法 |
|---|---|
https:// 卡住、http:// 正常 |
MSS 鉗制設錯——GRE 1436 / IPsec 1360(0 部分) |
| 隧道起不來 | Phase 1/2 設定不匹配——複查 IKEv2 / AES-256-GCM-16 / SHA2-256 / DH 20(B2 步) |
| 隧道通了但沒流量 | 路由缺失/錯誤,或網段重疊(C 部分) |
| 間歇性丟包 | 非對稱路由或 MTU 不匹配——核對兩條隧道的路由與 MSS |
| 網路流量未過濾 | 新增 Magic Firewall 規則和/或路由到 Gateway(D 部分) |
🏁 你已完成整個上手流程!
回到**總清單**,確認每一項都已打勾。最後的上線事項:
- [ ] 日誌推送到你的 SIEM(Logpush)
- [ ] 試點驗證通過,已擴大到全公司
- [ ] 已遷移應用的舊 VPN 已下線
- [ ] 為任何 IdP 客戶端金鑰/證書設定續期提醒
恭喜——你已端到端部署了 Cloudflare Zero Trust。🎉