☁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。🎉