您对设置的初步理解是正确的。您必须通过 BGP 从您的本地到 Azure 通告 0.0.0.0/0 的默认路由,以便您的所有 Azure 流量都通过 ExpressRoute 发送到您的本地。为了通过 NVA 过滤所有流量,您可以在所有子网(NVA 子网除外)上添加一个 0.0.0.0/0 的 UDR,并将下一跃点作为您的 Cisco 防火墙 NVA。
此设置将负责从 Azure 到本地的路由,如下所示:所有子网 --> Cisco NVA --> ExpressRoute 网关 --> 本地。
现在回到关于返回流量的问题,是的,GatewaySubnet 不支持 0.0.0.0/0 UDR,但它支持具有其他地址前缀的 UDR。
因此,您可以将 UDR 添加到 ExpressRoute GatewaySubnet,其中包含您的 Vnet 范围的地址前缀、下一跃点类型虚拟设备和 Cisco NVA 的 IP 地址。这将确保来自本地 Azure Vnet 范围的任何流量在到达 ExpressRoute 网关时都将转发到 Cisco NVA。
例如:如果您的 Vnet 地址范围是 10.0.0.0/16,那么您可以将 UDR 添加到您的 ExpressRoute GatewaySubnet,如下所示:地址前缀:10.0.0.0/16 --> Next hop = Virtual Appliance --> Next hop = IP Cisco NVA 的地址因此从本地到 Azure 的路由将如下所示:本地 --> ExpressRoute 网关 --> Cisco NVA --> 所有子网。