模組 5b — 出口策略與 IP 版本控制
目標: 控制使用者流量離開 Cloudflare 時所用的源 IP(以便 SaaS 提供商把你列入白名單),並控制 Gateway 使用的 IP 版本(IPv4/IPv6)——包括一條關閉 IPv6 的策略。
| 👤 誰來做 | 安全 / 網路團隊 |
| ⏱️ 用時 | 約 30 分鐘 |
| 🎯 完成後你將擁有 | 一條把選定流量從固定 IP 送出的專用出口策略、一條兜底策略,以及一條“關閉 IPv6”的 DNS 策略 |
| ✋ 開始前 | 模組 5 已完成(Gateway with WARP + DNS 過濾)。專用出口 IP 需要企業版附加元件(或 BYOIP)——請向客戶團隊獲取。 |
這是對模組 5 的可選深入。出口策略僅作用於由 Gateway 代理的流量(處於 Gateway with WARP 模式的裝置,或某個網路入口匝道)。
這裡的“出口(egress)”是什麼意思
當 Cloudflare 後面的使用者訪問某站點時,站點看到的是 Cloudflare 源 IP,而非使用者的 IP。預設情況下,那是所有 Zero Trust 客戶共用的共享 IP 段。出口策略讓你按流量型別改變它:
| 出口方式 | 目的地看到… | 適用於 |
|---|---|---|
| 預設 Cloudflare 出口 | 一個共享的 Cloudflare IP(最近的資料中心) | 一般瀏覽——效能最佳 |
| 專用出口 IP | 一個屬於你的固定 IP(Cloudflare 分配或你自帶的 BYOIP) | SaaS 白名單、需要已知源 IP 的合作方/第三方訪問 |
💡 經典用例: 某個 SaaS 應用(Microsoft 365、Salesforce、Workday),你希望它只接受來自你組織的連線。你把該流量經專用出口 IP 送出,並把該 IP 加入該 SaaS 提供商的白名單。
A 部分 — 獲取你的專用出口 IP
- 👉 請你的 Cloudflare 客戶團隊啟用專用出口 IP(企業版附加元件),或配置 BYOIP(自帶 IP)。
- 📋 記下分配給你賬戶的 IPv4 地址 與 IPv6 段。
✅ 檢查點: 你已記下至少一個專用 IPv4 地址和一個 IPv6 段。
⚠️ 注意: 若 Egress policies 選項卡或“使用專用出口 IP”選項呈灰色,說明該附加元件尚未在你賬戶生效——這是這裡最常見的攔路虎。
B 部分 — 建立專用出口策略(SaaS 白名單示例)
我們把去往某 SaaS 提供商的所有流量,經你的專用 IP 送出。
-
👉 在控制台前往 Zero Trust → Traffic policies → Egress policies。
-
👉 點選 Add a policy。
-
⌨️ 策略名稱:
Egress — Salesforce via dedicated IP。 -
👉 構建匹配規則(此策略作用於哪些流量):
選擇器 運算子 取值 Destination IP in 該 SaaS 提供商公佈的 IP 段 💡 或使用 Application 選擇器(Beta),按名稱匹配該提供商,而不用 IP 段。
-
👉 在 Select an egress IP 下,選擇 Use dedicated Cloudflare egress IPs。
-
👉 從下拉中選擇你的主 IPv4 與 IPv6 地址。
-
👉 設定一個次要 IPv4 地址(為可用性所必需):
0.0.0.0→ 若主 IP 所在資料中心宕機,流量從離使用者最近的位置送出,或- 一個與主 IP 不同的特定 Cloudflare 位置。
- 💡 無需次要 IPv6——IPv6 可從任意 Cloudflare 資料中心送出。
-
👉 點選 Create policy。
然後在提供商側加入白名單
- 👉 在該 SaaS 提供商的管理控制台中,把你的專用出口 IP 加入其白名單 / 受信任 IP,讓它只接受來自你組織的連線。
💡 最佳實踐: 與一條 HTTP 策略(模組 5)搭配——如阻止上傳到個人租戶、強制 DLP、或要求裝置姿態——讓訪問既來自你的 IP又被檢查。
C 部分 — 新增一條兜底策略(重要)
沒有兜底策略時,任何未匹配的流量都會嘗試使用最近的專用出口位置,可能導致意料之外的源 IP。把其餘流量固定到預設(快速、共享)出口。
-
👉 Egress policies → Add a policy。
-
⌨️ 策略名稱:
Default egress policy。 -
👉 規則:
選擇器 運算子 取值 Protocol in 所有選項 -
👉 出口方式: Use default Cloudflare egress method。
-
👉 點選 Create policy。
-
👉 把此策略拖到列表最底部。
⚠️ 注意: 出口策略自上而下評估,首個匹配生效。把具體策略(B 部分)放在兜底之上,否則一切都會先命中兜底。
✅ 檢查點: 你的出口列表中具體策略在上,Default egress policy 在最底部。
D 部分 — 關閉 IPv6(強制 IPv4)
某些上游服務在 IPv6 上表現異常,或你只想要單一、可預測的 IP 版本。你通過一條 DNS 策略阻止 AAAA(IPv6)DNS 記錄解析來“關閉 IPv6”——使用者隨後只走 IPv4。
-
👉 先確認你在過濾 DNS 流量(模組 5 A 部分)——這是一條 DNS 策略。
-
👉 前往 Zero Trust → Traffic policies → DNS → Add a policy。
-
⌨️ 策略名稱:
Disable IPv6 (Force IPv4)。 -
👉 構建規則:
選擇器 運算子 取值 動作 Query Record Type is AAAA Block -
👉 點選 Create policy。
-
⚠️ 重要: 在該策略設定 / Gateway 設定中關閉 Modify Gateway block behavior,讓被阻止的 AAAA 查詢乾淨地回退到 IPv4,而不是返回攔截頁。
💡 按需限定範圍: 新增 Domain 選擇器,只對特定站點強制 IPv4,而非全域性。
💡 反向(強制 IPv6): 同樣的策略,但 Query Record Type is A → Block。
驗證
- 👉 在一臺已連線的裝置上執行:
nslookup -type=AAAA cloudflare.com # 應無 IPv6 地址返回(被阻止) nslookup -type=A cloudflare.com # 應正常解析 - 👉 或訪問
https://ipv6.google.com→ 它應無法載入,而普通 IPv4 站點正常。 - 👉 檢視 Logs → Gateway → DNS——你會看到被阻止的
AAAA查詢。
✅ 檢查點: AAAA 查詢被阻止、A 查詢正常、僅 IPv6 的測試站點無法載入。
E 部分 — 驗證你的出口 IP
- 👉 在一臺經專用出口策略路由的裝置上,訪問 IP 回顯站點:
https://ifconfig.me或https://www.cloudflare.com/cdn-cgi/trace/。 - 📺 對匹配 B 部分的流量,報告的源 IP 應為你的專用出口 IP;其餘流量則為預設段。
✅ 檢查點: 匹配流量顯示你的專用 IP;未匹配流量走默認出口;SaaS 應用接受你已列入白名單的連線。
✅ 模組 5b 完成!
你現在擁有:
- ✅ 一條把選定流量從固定 IP 送出的專用出口策略
- ✅ 已在 SaaS 提供商側加入白名單的專用 IP
- ✅ 一條讓其餘流量保持在默認出口上高速執行的兜底策略
- ✅ 一條經驗證的關閉 IPv6(強制 IPv4) DNS 策略
快速排障
| 問題 | 解決辦法 |
|---|---|
| 沒有 Egress policies 選項卡 / 專用選項變灰 | 專用出口附加元件未生效——聯絡客戶團隊(A 部分) |
| 流量從錯誤的 IP 送出 | 檢查策略順序——上方某條更寬泛的策略或兜底先匹配了(C 部分) |
| SaaS 應用仍攔截你 | 確認確切的專用 IP在提供商白名單裡,且你的策略確實匹配該目的地 |
| AAAA 阻止返回了攔截頁 | 關閉 Modify Gateway block behavior(D 部分) |
| 策略後 IPv6 仍可用 | 確保 DNS 過濾已開且裝置處於 Gateway with WARP 模式;裝置可能在快取 DNS——稍候重試 |
| 有專用出口但無故障切換 | 設定次要 IPv4(0.0.0.0 或另一位置)——它是必需的(B 部分) |
👉 下一步:模組 6 — DLP
檢測並阻止敏感資料離開你的組織。