摘要

  • Cloudflare 的公开教学示例在划分虚拟网络后,仍把较大的生产地址范围留在默认网络,并说明选择 staging 后可以访问生产范围中重叠区间以外的地址。
  • 当前概览谈到未匹配路由可能回到默认表时,明确限定了 WAN 路由的范围;不能据此断言所有 Tunnel 路由都遵循同一种回退过程。
  • 流量是否进入客户端通道、地址在何种上下文中解析、连接是否获准,是三个不同的问题。网络名称不是一张完整的权限清单。

同一个地址,可以有两种企业内部含义

收购一家企业、接入一个供应商,或把测试系统从生产系统中分离出来,都会让原本各自合理的地址规划相遇。根据 RFC 1918,私有地址需要在企业或协调使用这些地址的企业之间保持适当的唯一性,并不具备全球唯一的身份含义。两个独立环境出现同一地址,问题出在连接需要辨别它们,而不是这个数字天然属于其中一方。

Cloudflare 的虚拟网络配置说明提供了这种辨别上下文。重叠的地址范围可以关联到不同虚拟网络,用户通过 Cloudflare One Client 选择其中一个。目标于是由地址和所选上下文共同确定。产品解决的是寻址歧义,而非自动判定使用者是否应该获得那台系统的权限。

这一区分影响买方如何评价产品。无需立即消除每一处地址重叠,可能让整合更容易安排,但本文没有测量任何工时节省或成本收益。企业只是多了一条可选路径:把部分改号工作转化为维护路由归属、客户端选择和授权证据。工作被重新分配,并没有凭空消失。

教学示例留下的生产通道

Cloudflare 的重叠地址教学页面使用了一组简单范围。最初,生产环境的 10.0.0.0/8 通过 Tunnel A 接入,测试环境的 10.0.1.0/24 通过 Tunnel B 接入,两者都放在默认虚拟网络。更具体的路由使重叠区间的连接走向测试环境,原本想访问同地址生产系统的人便失去了区分能力。

页面随后把重叠区间分别放进 production 和 staging 虚拟网络,并给生产环境补上具体的 10.0.1.0/24 路由。容易忽略的是,较宽的生产 10.0.0.0/8 路由仍留在默认网络。页面文字明确说明,选择 staging 后,重叠区间走向测试环境,而生产范围中其余地址仍然可以到达。

因此,这个示例不能被简写成“测试网络与生产网络完全互不可达”。它演示的是同一地址如何指向不同环境,并同时保留了更广的生产访问范围。留在默认网络里的内容,是读懂示例的必要条件,而非可以跳过的背景。

但它仍然只是公开文档中的例子。本文没有部署这套配置,没有观察客户连接,也没有发现泄露、越权或故障。把例子中的可达范围读清楚,与宣称真实客户发生了隔离失败,是两件完全不同的事。

两份说明不能拼成一个万能算法

这份教学页面最后更新于2026年4月23日。8月25日更新的虚拟网络概览则说明,每个虚拟网络有自己的路由表,某个表中的路由不会出现在另一个表中。它谈到所选表没有匹配项时可能使用默认表,并明确把这一表述限定于 WAN 路由;通过 IPsec、GRE 或 CNI 接入的 WAN 路由只支持默认虚拟网络。

“路由表分开”和“特定条件下还能到达默认范围”并非可以互相替代的产品承诺。前者描述记录的组织方式,后者涉及连接如何找到路径。更不能把有 WAN 范围限定的概览,扩写成所有未匹配 Tunnel 流量必然回退到任意默认 Tunnel 路由。

现有文字在日期、例子和连接方式上存在范围差异。它足以提出验收问题,却不足以让外部作者替 Cloudflare 发明统一的转发算法。买方应该要求适用于所购连接方式的具体说明:哪些默认路径被保留,哪些路径可能被使用,哪些目的地明确不可达。一个听起来整齐的网络名称,不能填补这些说明的缺口。

流量进门,也不等于获得许可

还有一个更靠前的条件:连接必须先进入相关客户端通道。私有 CIDR 连接指南指出,Cloudflare One Client 默认排除 RFC 1918 范围,因此需要调整 Split Tunnels,让预期的私有流量进入通道。指南同时提醒,过度扩大范围可能影响客户端访问本地资源。

这不是网络表里的问题。客户端未送入的流量,不会因为管理员给虚拟网络起了更准确的名字而自动进入。反过来,扩大送入范围,也不意味着新增目的地已经获得安全批准。负责客户端配置的人、负责路由的人和负责权限的人,必须能够说明各自改变了哪一层。

同一指南还说明,默认情况下已登记设备可以连接经 Tunnel 接入的私有网络,并建议使用 Gateway 的总体阻断策略,配合优先级更高的应用或 IP 允许规则。这不是说任意互联网用户都能访问,也不是说网络连接建立后,应用层认证就必然通过。

网络策略说明把策略描述为动作与逻辑条件的组合,提供了匹配经 Cloudflare One Client 使用特定虚拟网络流量的选择条件。虚拟网络可以参与授权判断,却不会因为名字叫 staging 就自行产生一条拒绝其他环境的规则。路径与批准需要各自的证据。

买方购买的是可解释的范围

商业验收若只检查两个同地址端点能否分别打开,会遗漏默认范围仍然承载的连接。另一方面,要求供应商消除全部地址重复,也可能把产品本来提供的整合弹性排除在外。更有用的标准,是让团队能够解释一个已登记用户在每种客户端选择下,哪些流量会进入、目标如何区分、哪些连接被允许、哪些被拒绝。

这份清单应覆盖重叠区间,也应覆盖区间外仍在默认表中的生产范围。它不必假定所有环境都完全互相封闭,但不能把有意保留的通道藏在“隔离”一词里面。业务若需要共享服务,就把共享服务的范围和批准者写清;业务若需要拒绝生产访问,就给出拒绝条件,而不只展示测试网络名称。

Cloudflare 的文档由此暴露的不是一项已证实的安全事件,而是一种采购语言的不足。能够给地址添加上下文,是明确而有用的能力。把这种能力误写成所有目的地的权限边界,则会让路由配置承担它没有被证明承担的职责。

来源