PuppyIP 资源中心
云服务运维 7 分钟 发布于 2026-11-06

Cloudflare IPsec/GRE 隧道 BGP 配置:Unified Routing、ASN 与路由限制

使用 Unified Routing 的 Cloudflare WAN 或 Magic Transit 账户可在 IPsec/GRE 隧道上配置 BGP,动态交换路由。先核对账户权限与两侧 ASN,再配置隧道和客户路由器;CNI 仍有独立的封闭测试限制。

Cloudflare WAN Magic Transit BGP IPsec GRE

服务对象与地域限制

PuppyIP 仅面向海外合规企业及其授权人员提供服务,不面向中国大陆地区开放或提供代理服务。本服务仅限用于中国大陆境外的合法业务活动,严禁在中国大陆境内使用本服务。

代理 IP 或服务器位于境外,不改变上述限制。不得通过中转、转接、共享或转售向中国大陆境内的最终使用者提供本服务。使用前请阅读用户服务协议。

本文要点

  • IPsec/GRE 隧道 BGP 已正式可用,要求 Unified Routing;CNI with Dataplane v2 仍为封闭测试,新客户暂不可用。
  • CF Account ASN 作用于账户内所有 BGP 会话,必须与每条隧道的客户设备 ASN 不同。
  • BGP 会话必须由客户侧 CPE 发起;hold time 至少 30 秒,Cloudflare 建议至少 90 秒。
  • 每会话最多通告 5,000 个前缀,导入过滤前已执行此路由上限;过滤拒绝的路由仍计数。

先确认账户与接入方式符合范围

Cloudflare 于 2026 年 10 月 5 日宣布,Cloudflare WAN 与 Magic Transit 的 IPsec/GRE 隧道 BGP 已正式可用,可用于生产工作负载。BGP 是让路由器动态交换可达网络信息的协议,可减少网络变化时手工维护静态路由的工作。

2026 年 11 月 6 日复核的公告与配置文档仍要求 Unified Routing。公告称使用 Unified Routing 的账户无需另行启用这项 BGP 能力;这不代表每个 Cloudflare 账户已经具备产品权限。CNI with Dataplane v2 的 BGP 仍为封闭测试,且不向新客户开放。

本次来源没有列出统一价格、所需套餐档位或逐地区可用性。规划前核对自己账户的产品权限与合同;不要把正式可用或无需另行启用理解为免费。

先规划账户 ASN,再分配站点 ASN

ASN 是标识路由系统的号码。CF Account ASN 默认是 13335,也可按文档改为 64512–65534 之间的私有两字节 ASN;它适用于该账户内所有 IPsec/GRE 与 CNI BGP 会话。每条隧道的客户设备 ASN 必须与 Cloudflare 侧不同,因此修改账户 ASN 前应检查现有会话。

Cloudflare WAN 会传递客户通告的 AS_PATH(路由经过的 ASN 列表)。多个站点重复使用同一个 ASN 时,标准环路防护可能拒收对方路由。文档给出的选择是各站点使用不同 ASN,或由网络负责人明确配置设备接受包含自身 ASN 的路径;不要为排错直接关闭环路防护。

Magic Transit 使用的公共 ASN 会在开通过程中核验。隧道 BGP 会话中的 ASN 与 Cloudflare 边缘向互联网通告 anycast 前缀所用的 ASN 是不同配置范围,不能把两者混为一谈。

按三步配置隧道对等关系

第一步,在对应产品控制台的 Routes 页面打开 WAN configuration,确认 CF Account ASN;需要修改时再选择 Update。已有正确账户 ASN 时不必重复修改。

第二步,进入 Connectors,在 IPsec/GRE tunnels 中找到目标隧道,打开三点菜单中的 Configure BGP,填写 Customer device ASN。额外通告前缀与 MD5 key 均为可选项;没有额外通告需求时保持前缀列表为空,核对后保存。

第三步,在自己有权管理的客户路由器上配置与隧道 IPv4 接口地址的 BGP 对等。客户侧设备称为 CPE(Customer Premises Equipment),必须由它发起会话,Cloudflare 不会主动发起。Cloudflare WAN 与 Magic Transit 用户应分别按文末对应产品指南操作。

会话建不起来时检查地址与计时器

BGP 对端使用隧道的 IPv4 接口地址;客户侧地址不要求一定是同一 /31 或 /30 接口网段中的另一个地址。如果对接 Azure VPN gateway,隧道接口不要使用链路本地地址:Cloudflare 文档说明 Azure 不会向这种地址发起 BGP,应改用 RFC 1918 地址。

Hold time 至少为 30 秒,Cloudflare 建议至少 90 秒;Cloudflare 自己通告 240 秒,客户设置高于 240 秒时协商值会是 240 秒。连接重试时间应较短,官方举例为 5 或 10 秒。这些是会话参数,不是业务故障恢复时限保证。

MD5 为可选项,最长 80 个字符。Cloudflare 明确指出,它只用于防止意外配置错误,不是抵御恶意攻击的安全机制,MD5 key 也不按秘密值处理。启用后不能用 Telnet 测试 BGP 连通性,因为 Telnet 不支持 TCP MD5。

过滤路由前,先算清 5,000 条上限

CPE 在每个 BGP 会话中最多通告 5,000 个前缀。Cloudflare 在导入过滤之前执行 5,000 条 RIB-in 上限;RIB-in 是接收对端通告后保留的路由信息。因此,即使过滤器拒绝了某些路由,它们仍占用这项容量。

过滤配置文件是账户级对象,需要唯一名称、一个匹配动作,最多支持 1,000 个 CIDR 目标。allow 接受匹配路由并拒绝其他路由;deny 拒绝匹配路由并接受其他路由。每条隧道可配置一个导入过滤器和一个导出过滤器。

导入过滤器控制 Cloudflare 接受的路由;导出过滤器控制向对端通告的已选路由。隧道 extra_prefixes 字段中的前缀会绕过导出过滤器,应该单独核对,不能仅检查过滤器名称就认为所有通告都已受限。

把会话建立与业务路由验收分开

建议由获授权的网络管理员先记录预期通告、接受和拒绝的前缀,再对照客户设备与 Cloudflare 路由表核验结果。会话建立并不能单独证明所需前缀已被接受,或业务流量已经按预期转发。

例如,假设两个 Cloudflare WAN 站点使用相同 ASN,隧道和 BGP 会话均已建立,但其中一个站点拒收带有自身 ASN 的 AS_PATH。此时应核对站点 ASN 与环路防护策略,而不是把“已建立”当作路由正确的证明;这是假设排查例子,并非本文实测结果。

资料来源

常见问题

启用 BGP 后要把原来的静态路由全部删除吗?

本次公告没有要求删除所有静态路由。动态学习路由与现有静态配置应按对应产品的路由优先级、前缀范围及变更计划核对,不要仅因为功能正式可用就批量删除现有路由。

这项功能保证多少秒完成故障切换?

本次公告和两份配置指南未给出可作为本文结论的统一故障切换 SLA。Hold time 与重试值是 BGP 会话参数,不能直接当作应用恢复时间或可用性保证。