使用 Azure 防火墙来路由多枢纽和辐射拓扑结构

中心辐射型拓扑是 Azure 中的常见网络体系结构模式,用于整合网络资源和集中网络服务。 此拓扑为跨不同订阅或租户部署的虚拟网络提供网络连接和安全性。

可以通过两种方式实现中心辐射型体系结构:

  • 自托管中心辐射 型(传统):可以保持对中心虚拟网络和路由配置的完全控制。
  • 虚拟 WAN:Azure 管理中心虚拟网络,并通过 路由意向和路由策略等功能简化管理。

本文重点介绍用户自主管理的中心辐射型拓扑结构,其中用户对中心虚拟网络和 Azure 防火墙的部署具有完全的可见性和控制权。

可以使用 Azure 虚拟网络管理器(AVNM)减少自托管中心辐射实现的管理开销。 AVNM可以自动化路由表的配置,但整体设计和技术与手动方法相比不会有太大变化。 本文的内容适用于您使用 AVNM,或手动配置自主管理的中心辐射型拓扑结构。

辐射虚拟网络中路由表的替代方案是通过Azure 路由服务器向子网注入路由,详见“辐射虚拟网络默认路由注入”一文。 然而,由于 Azure 路由服务器 与 VPN 或 ExpressRoute 虚拟网络网关之间交互可能带来的复杂性,这种模式并不常用。

在自行管理的主从结构设置中:

  • Hub:一个虚拟网络,用作连接到您的本地网络的中央连接点,通过 VPN、ExpressRoute 或软件定义广域网(SD-WAN)。 你在枢纽虚拟网络中部署网络安全设备,比如防火墙。
  • 分支:与中心对等互连并托管您工作负载的虚拟网络。

对于分布在多个区域的工作负荷,通常在每个区域部署一个集线器,以便聚合来自该区域辐条的流量。 下图显示了一个具有两个分支虚拟网络的两个区域自治中心辐射型体系结构:每个区域中有两个分支虚拟网络:

包含两个区域的多区域中心辐射型网络拓扑示意图,每个拓扑包含一个包含 Azure 防火墙和两个辐射虚拟网络的中心虚拟网络。

单区域中心辐射型体系结构

若要了解多区域设计,首先需要了解单区域概念。 下图显示了第一个区域的路由表配置:

单区域自我管理中心辐射型架构的底层路由设计。

考虑单区域设计中每个潜在流量流的路由要求,了解用户定义的路由配置:

  • 辐射网络之间的流量:辐射网络之间没有对等互连,虚拟网络对等互连没有传递性。 每个辐射都默认知道如何路由到中心虚拟网络,但默认情况下不能路由到其他辐射。 应用于所有辐射子网的0.0.0.0/0路由涵盖了两个辐射之间的流量。
  • 辐射到互联网流量:0.0.0.0/0辐射路由表中的路由将公共互联网流量导向 Azure 防火墙。 在拥有默认出站访问的非私有子网中,用户自定义路由覆盖默认互联网系统路由。 使用2026年3月31日后发布的API版本创建的新虚拟网络默认使用私有子网,并要求明确的出站方法。 在这种设计中,Azure 防火墙 提供了显式的出站连接。 有关详细信息,请参阅 Azure 中的默认出站访问。
  • Internet 到分支流量:从 Internet 到分支的流量通常首先通过 Azure 防火墙。 Azure 防火墙配置了目标网络地址转换(DNAT)规则,它还会转换源 IP 地址(源网络地址转换或 SNAT)。 辐射网络中的工作负载将流量视作来自 Azure 防火墙子网。 虚拟网络对等互连创建到中心的系统路由(10.1.0.0/24),因此从属网络知道如何路由返回流量。
  • 本地到分支流量和分支到本地流量:分别考虑每个方向:
    • 本地到分支流量:流量从本地网络到达 VPN 或 ExpressRoute 网关。 在 Azure 中使用默认路由时,系统会在每个分支的 GatewaySubnet(以及中心虚拟网络中的其他子网)中创建系统路由。 必须重写这些系统路由,并将下一跃点设置为 Azure 防火墙的专用 IP 地址。 在此示例中,需要在与网关子网关联的路由表中设置两个路由,一个用于每个分支(10.1.1.0/24 和 10.1.2.0/24)。 使用类似 10.1.0.0/16 这样的汇总来包含所有辐射虚拟网络是无效的,因为网关子网中由虚拟网络对等互连注入的系统路由更具针对性(与 /24 相比 /16 的汇总)。 此路由表必须启用 “传播网关路由 ”切换(设置为 “是”),否则网关路由可能会变得不可预知。
    • 发言到本地流量:集线器和发言之间的虚拟网络对等互连必须在集线器端启用允许网关传输,并在发言端启用使用远程网关。 这些设置是必需的,用来使 VPN 和 ExpressRoute 网关将分支前缀通过边界网关协议(BGP)向本地网络进行播发。 这些设置还会使辐射点默认情况下学习从本地网络向 Azure 宣告的前缀。 由于本地前缀比辐射路由表中用户自定义路由 0.0.0.0/0 更具体,从辐射到本地的流量默认绕过防火墙。 为防止这种情况发生,请在辐射路由表中将 传播网关路由 切换为 No,这样就不会学习到本地部署前缀,并且会使用 0.0.0.0/0 路由将流量发送到本地部署环境。

注释

使用与网关子网关联的路由表中的确切辐射虚拟网络 IP 前缀,而不是网络摘要。 由虚拟网络对等互连引入的系统路由会覆盖用户定义的路由,因为它们更具特定性。

您可以使用 Azure Virtual Network Manager 来管理与辐射子网关联的路由表和网关子网相关的路由表,以减少管理负担。 有关详细信息,请参阅 使用 Azure 防火墙作为下一跃点。

中心虚拟网络工作负荷

在枢纽虚拟网络中部署工作负载,如Active Directory域控、DNS服务器或其他共享基础设施,会增加枢纽辐射设计的复杂度。 避免把工作负载放在集线器里。 相反,应将它们部署在共享服务专用的辐射网络中。

本部分介绍中心工作负荷所需的配置,以便评估此复杂性是否符合要求。 我们还描述了一个常见的错误,可能导致非对称流量和数据包丢弃。

下图显示了一个单一区域设计,其中在中心虚拟网络中包含一个工作负载子网。

适用于单区域自管理中心辐射型体系结构且具有中心工作负荷的低级别路由设计。

关键细节是,在网关子网和辐射子网中配置的用户定义路由是为特定工作负载子网定义的,而不是为整个中心虚拟网络前缀定义的。

  • 网关子网配置:在网关子网中为整个中心虚拟网络10.1.0.0/24 (在本示例中)配置路由会替代中心虚拟网络的系统路由。 这会导致 VPN 或 ExpressRoute 网关之间的子网内控制流量被发送到防火墙,从而可能中断网关作业。
  • 辐射子网配置:在辐射子网中为整个中心虚拟网络配置路由(10.1.0.0/24 在本示例中),将替代由与中心虚拟网络对等互连创建的系统路由。 发送到中心的所有流量都将发送到 Azure 防火墙,这包括源自 Azure 防火墙的流量,例如经过源网络地址转换(SNAT)的互联网到分支的流量。 此配置引入了非对称流量并导致数据包丢弃。

注释

如果在中心虚拟网络中部署工作负荷,请不要在用户定义的路由中使用整个虚拟网络 IP 前缀。

子网间流量检查

在当前设置中,防火墙处理辐射网络之间的流量,但辐射网络内部的流量保留在辐射虚拟网络中,你可以使用 网络安全组 对其进行控制。 此设计将虚拟网络视为安全边界:防火墙仅检查退出或进入虚拟网络的流量。

若要检查同一辐射型虚拟网络中子网之间的流量,请修改与辐射型子网关联的路由表,如下图所示:

单区域自托管中心辐射型体系结构的低级别路由设计,其中子网间流量通过防火墙。

在上图中,每个辐射虚拟网络中引入了两个辐射子网,并描述了虚拟网络 A2 中辐射的路由表。 将子网间流量发送到防火墙要求每个子网都有单独的路由表,因为每个子网中要安装的路由不同。

对于子网 A21,需要以下两个额外的路由:

  • 路由到 10.1.2.0/24:替代虚拟网络内流量的系统路由。 如果没有其他路由,所有虚拟网络内部流量都会发送到 Azure 防火墙,即使是在同一子网中的虚拟机之间的流量。
  • 路由到 10.1.2.0/26 的下一跳 虚拟网络:这是对前一个路由的例外,所以此特定子网的流量不会发送到防火墙,而是本地路由在虚拟网络内。 此路由特定于每个子网,因此需要为每个子网创建单独的路由表。

SD-WAN 网络虚拟设备

如果使用 SD-WAN 网络虚拟设备(NVA)而不是 VPN 或 ExpressRoute 网关,则设计类似,如下图所示:

使用 SD-WAN NVA 的双区域自托管中心辐射型体系结构的低级别路由设计。

你可以通过不同方式将 SD-WAN NVA 集成到 Azure 中。 有关详细信息,请参阅 SD-WAN 与 Azure 中心辐射型网络拓扑的集成。 本文展示了使用Azure 路由服务器的集成,是将流量路由到 SD-WAN 网络的最常用方法之一。 SD-WAN NVA 通过 BGP 向 Azure 路由服务器 通告本地前缀。 Azure 路由服务器在 Azure 防火墙子网中注入这些前缀,以便 Azure 防火墙具有本地网络的路由信息。 分支不会学习本地前缀,因为分支路由表中禁用了“传播网关路由”选项。

如果不想在与 NVA 子网关联的路由表中配置每个子网虚拟网络的前缀,可以将 SD-WAN NVA 放置在其专用虚拟网络中。 NVA 虚拟网络不会了解辐射前缀,因为它们没有直接对等互连,摘要路由如下图所示:

在单独的虚拟网络中使用 SD-WAN NVA 的双区域自托管中心辐射型体系结构的低级别路由设计。

多区域中心辐射型体系结构

了解流量在单个中心辐射区域中的工作原理后,将设计扩展到多区域体系结构非常简单。 下图显示了一个更新的网络设计,其中包含两个区域中的中心(A 和 B):

适用于两区域自管理中心辐射型架构的低层级路由设计。

配置的唯一补充是与每个区域中的 Azure 防火墙子网关联的路由表。 每个中心虚拟网络只知道直接对等互连虚拟网络的前缀,因此没有远程辐射网络前缀的路由。 为每个 Azure 防火墙子网添加用户定义的路由,以便将每个区域的流量路由到相应的 Azure 防火墙。

在此示例中,可以轻松汇总每个区域:

  • 区域 A 包含前缀 10.1.0.0/16
  • 区域 B 包含前缀 10.2.0.0/16

在易于汇总的每个区域中定义 IP 地址会使路由配置更简单。 否则,需要为每一个远程辐射点创建一个路由。

在 Azure 防火墙子网路由表上启用 传播网关路由 ,以便防火墙可以从 VPN 和 ExpressRoute 网关了解本地路由。

注释

如果 Azure 防火墙未部署管理网络接口 (NIC),则 Azure 防火墙子网需要一个默认路由,该路由的下一跃点为“Internet”,以便添加如前所述的更具体路由。

若要简化多区域环境中的用户定义的路由的管理,可以使用 Azure 虚拟网络管理器。 有关详细信息,请参阅 使用 AVNM 跨多个中心辐射型拓扑管理用户定义的路由。

后续步骤