☁Zero Trust 上手指南
繁體中文
Telegram Cloudflare 文件 ↗

模組 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 隧道

  1. 👉 在控制台前往 Cloudflare WAN → Configuration → Tunnels。
  2. 👉 點選 Create → IPsec tunnel。
  3. ⌨️ 填入:
    欄位 取值
    Tunnel name hq-london-fw1
    Customer endpoint 你防火牆的公網 IP(若在 NAT 後則留空)
    Cloudflare endpoint Cloudflare 分配給你的任播 IP
    Interface address Cloudflare 為隧道提供的小段(如 /31)
    Pre-shared key (PSK) 點選生成,或貼上你自己的——安全儲存
    Health check 開啟(推薦)
  4. 👉 點選 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 你的網路如何路由

  1. 👉 Cloudflare WAN → Configuration → Routes。
  2. 選擇你的方式:

方式 1 — 靜態路由(簡單、穩定的站點)

  1. 👉 點選 Create route。
  2. ⌨️ 填入:
    欄位 取值
    Prefix 你站點的網段,如 10.10.0.0/16
    Tunnel / next hop hq-london-fw1
    Priority 100(越小越優先)
    Weight 用於兩條隧道間的負載分擔(ECMP)
  3. 👉 再新增一條經 hq-london-fw2 的路由(如優先順序也設 100 做負載分擔,或設 200 作備用)。

方式 2 — BGP(多站點/易變環境推薦)

  1. 👉 在隧道上啟用 BGP,配置 eBGP 對等體:你路由器的 ASN、Cloudflare 的 ASN,以及 MD5 密碼。
  2. 📺 路由現在會自動交換——在站點新增一個網段就會自動傳播,無需改控制台。

⚠️ 注意: 規劃好你的 IP 空間。 若兩個站點使用重疊網段(如都用 192.168.1.0/24),Cloudflare WAN 路由會中斷。請重新編址或使用唯一網段。

✅ 檢查點: 你的站點網段出現在 Magic 路由表中,可經隧道到達。


D 部分 — 新增安全並把流量送往 Gateway

  1. 對網路流量做防火牆: 👉 前往 Magic Firewall → Create rule,在網路層(L3/L4)允許/拒絕流量。⚠️ 在你新增規則前,這些網路流量是不過濾的。
  2. 把你的 Web 策略應用到整個站點: 把站點去往網際網路的流量經 Gateway 路由,讓模組 5–6 的 DNS/HTTP/DLP 策略保護站點上的每臺裝置——即使它沒裝 WARP。
  3. 獲取告警: 👉 Cloudflare Notifications → Add → Magic Tunnel Health → 選擇你的隧道 → 新增接收人,以便在使用者察覺前你就先知道隧道問題。

E 部分 — 測試並驗證故障切換

測試 1 — 連通性

  1. 👉 從站點內(隧道後)的一臺機器,訪問隧道另一端的資源(另一站點,或經 Cloudflare 上網)。
  2. 👉 執行 curl http://ifconfig.me 和 curl https://ifconfig.me。
  3. 📺 兩者都應快速返回。若只有 http 正常而 https 卡住 → 你的 MSS 鉗制設錯了(0 部分)。

測試 2 — 故障切換

  1. 👉 在受控測試中停用第一條隧道(或讓路由器 1 下線)。
  2. 📺 流量應在數秒內重新收斂到第二條隧道;控制台把隧道 1 標為不健康。
  3. 👉 重新啟用並確認它恢復。

✅ 檢查點: 站點連通正常、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。🎉