☁Zero Trust 上手指南
简体中文
Telegram Cloudflare 文档 ↗

模块 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

  1. 👉 请你的 Cloudflare 客户团队启用专用出口 IP(企业版附加组件),或配置 BYOIP(自带 IP)。
  2. 📋 记下分配给你账户的 IPv4 地址 与 IPv6 段。

✅ 检查点: 你已记下至少一个专用 IPv4 地址和一个 IPv6 段。

⚠️ 注意: 若 Egress policies 选项卡或“使用专用出口 IP”选项呈灰色,说明该附加组件尚未在你账户生效——这是这里最常见的拦路虎。


B 部分 — 创建专用出口策略(SaaS 白名单示例)

我们把去往某 SaaS 提供商的所有流量,经你的专用 IP 送出。

  1. 👉 在控制台前往 Zero Trust → Traffic policies → Egress policies。

  2. 👉 点击 Add a policy。

  3. ⌨️ 策略名称: Egress — Salesforce via dedicated IP。

  4. 👉 构建匹配规则(此策略作用于哪些流量):

    选择器 运算符 取值
    Destination IP in 该 SaaS 提供商公布的 IP 段

    💡 或使用 Application 选择器(Beta),按名称匹配该提供商,而不用 IP 段。

  5. 👉 在 Select an egress IP 下,选择 Use dedicated Cloudflare egress IPs。

  6. 👉 从下拉中选择你的主 IPv4 与 IPv6 地址。

  7. 👉 设置一个次要 IPv4 地址(为可用性所必需):

    • 0.0.0.0 → 若主 IP 所在数据中心宕机,流量从离用户最近的位置送出,或
    • 一个与主 IP 不同的特定 Cloudflare 位置。
    • 💡 无需次要 IPv6——IPv6 可从任意 Cloudflare 数据中心送出。
  8. 👉 点击 Create policy。

然后在提供商侧加入白名单

  1. 👉 在该 SaaS 提供商的管理控制台中,把你的专用出口 IP 加入其白名单 / 受信任 IP,让它只接受来自你组织的连接。

💡 最佳实践: 与一条 HTTP 策略(模块 5)搭配——如阻止上传到个人租户、强制 DLP、或要求设备姿态——让访问既来自你的 IP又被检查。


C 部分 — 添加一条兜底策略(重要)

没有兜底策略时,任何未匹配的流量都会尝试使用最近的专用出口位置,可能导致意料之外的源 IP。把其余流量固定到默认(快速、共享)出口。

  1. 👉 Egress policies → Add a policy。

  2. ⌨️ 策略名称: Default egress policy。

  3. 👉 规则:

    选择器 运算符 取值
    Protocol in 所有选项
  4. 👉 出口方式: Use default Cloudflare egress method。

  5. 👉 点击 Create policy。

  6. 👉 把此策略拖到列表最底部。

⚠️ 注意: 出口策略自上而下评估,首个匹配生效。把具体策略(B 部分)放在兜底之上,否则一切都会先命中兜底。

✅ 检查点: 你的出口列表中具体策略在上,Default egress policy 在最底部。


D 部分 — 关闭 IPv6(强制 IPv4)

某些上游服务在 IPv6 上表现异常,或你只想要单一、可预测的 IP 版本。你通过一条 DNS 策略阻止 AAAA(IPv6)DNS 记录解析来“关闭 IPv6”——用户随后只走 IPv4。

  1. 👉 先确认你在过滤 DNS 流量(模块 5 A 部分)——这是一条 DNS 策略。

  2. 👉 前往 Zero Trust → Traffic policies → DNS → Add a policy。

  3. ⌨️ 策略名称: Disable IPv6 (Force IPv4)。

  4. 👉 构建规则:

    选择器 运算符 取值 动作
    Query Record Type is AAAA Block
  5. 👉 点击 Create policy。

  6. ⚠️ 重要: 在该策略设置 / Gateway 设置中关闭 Modify Gateway block behavior,让被阻止的 AAAA 查询干净地回退到 IPv4,而不是返回拦截页。

💡 按需限定范围: 添加 Domain 选择器,只对特定站点强制 IPv4,而非全局。 💡 反向(强制 IPv6): 同样的策略,但 Query Record Type is A → Block。

验证

  1. 👉 在一台已连接的设备上运行:
    nslookup -type=AAAA cloudflare.com     # 应无 IPv6 地址返回(被阻止)
    nslookup -type=A cloudflare.com        # 应正常解析
    
  2. 👉 或访问 https://ipv6.google.com → 它应无法加载,而普通 IPv4 站点正常。
  3. 👉 查看 Logs → Gateway → DNS——你会看到被阻止的 AAAA 查询。

✅ 检查点: AAAA 查询被阻止、A 查询正常、仅 IPv6 的测试站点无法加载。


E 部分 — 验证你的出口 IP

  1. 👉 在一台经专用出口策略路由的设备上,访问 IP 回显站点:https://ifconfig.me 或 https://www.cloudflare.com/cdn-cgi/trace/。
  2. 📺 对匹配 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

检测并阻止敏感数据离开你的组织。