你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

排查 Azure 路由服务器问题

了解如何排查一些常见的 Azure 路由服务器问题。

连接问题

为什么我的网络虚拟设备 (NVA) 在将默认路由 (0.0.0.0.0/0) 播发到路由服务器后会丢失 Internet 连接?

当 NVA 播发默认路由时,路由服务器会针对虚拟网络中的所有虚拟机(VM)(包括 NVA 本身)对其进行程序。 此默认路由将 NVA 设置为所有 Internet 绑定流量的下一个跃点。 如果 NVA 需要 Internet 连接,则需要配置用户定义的路由 (UDR) 来替代 NVA 中的此默认路由,并将 UDR 附加到托管 NVA 的子网。 否则,NVA 主机将继续发送 Internet 绑定流量,包括由 NVA 发送回 NVA 本身的流量。 有关详细信息,请参阅用户定义的路由

路由 下一跃点
0.0.0.0/0 Internet

为什么 NVA 在使用 GatewaySubnet 上的用户定义的路由(UDR)强制发往防火墙的所有流量后,无法连接到路由服务器?

如果要使用防火墙检查本地流量,可以使用 GatewaySubnet 上的用户定义的路由 (UDR)(与具有 UDR 的 GatewaySubnet 关联的路由表)强制所有本地流量流向防火墙。 但是,此 UDR 可能会通过将控制平面流量 (BGP) 强制发送到防火墙来中断路由服务器和网关之间的通信(如果你正在检查发往具有路由服务器的虚拟网络的流量,则会出现此问题)。 为了避免此问题,你需要向 GatewaySubnet 路由表添加另一个 UDR,以排除控制平面流量被强制发送到防火墙(以防不需要/不可能向防火墙添加 BGP 规则):

路由 下一跃点
10.0.0.0/16 10.0.2.1
10.0.1.0/27 VirtualNetwork

10.0.0.0/16 是虚拟网络的地址空间,10.0.1.0/27 是 RouteServerSubnet 的地址空间。 10.0.2.1 是防火墙的 IP 地址。

为什么在设置路由服务器的 BGP 对等互连后,无法从 NVA 到路由服务器的 BGP 对等 IP 进行 TCP ping?

在某些 NVA 中,需要将静态路由添加到路由服务器子网,以便能够从 NVA 对路由服务器执行 TCP ping 操作,并避免 BGP 对等互连。 例如,如果路由服务器位于 10.0.255.0/27 中,并且 NVA 位于 10.0.1.0/24 中,则需要将以下路由添加到 NVA 中的路由表:

路由 下一跃点
10.0.255.0/27 10.0.1.1

10.0.1.1 是托管 NVA(或者,更准确地说是 NIC 之一)的子网中的默认网关 IP。

将路由服务器部署到已具有 ExpressRoute 网关和/或 Azure VPN 网关的虚拟网络时,为何无法通过 ExpressRoute 和/或 Azure VPN 连接到本地网络?

将路由服务器部署到虚拟网络时,我们需要更新网关和虚拟网络之间的控制平面。 在此更新过程中,虚拟网络中的 VM 会在一段时间内失去与本地网络的连接。 强烈建议计划维护,在生产环境中部署路由服务器。

控制平面问题

为什么连接到 Azure VPN 网关的本地网络未收到路由服务器播发的默认路由?

尽管 Azure VPN 网关可以从其 BGP 对等方(包括路由服务器)接收默认路由,但它 不会将默认路由 播发到其他对等方。

即使 BGP 对等互连已启动,我的 NVA 为何不会从路由服务器接收路由?

路由服务器使用的 ASN 为 65515。 请确保为 NVA 配置不同的 ASN,以便 可以在 NVA 和路由服务器之间建立 eBGP 会话,以便自动执行路由传播。 请确保在 BGP 配置中启用“多跃点”,因为 NVA 和路由服务器位于虚拟网络的不同子网中。

NVA 和路由服务器之间的 BGP 对等互连已启动。 我可以看到它们之间正确交换了路由。 为什么 NVA 路由未出现在 VM 的有效路由表中?

  • 如果 VM 与 NVA 和路由服务器位于同一虚拟网络中:

    路由服务器公开两个 BGP 对等 IP,这些 IP 托管在两个 VM 上,这些 IP 负责将路由发送到虚拟网络中运行的其他所有 VM。 每个 NVA 都必须为两个 VM 设置两个相同的 BGP 会话(例如,使用相同的 AS 编号和相同的 AS 路径,并播发一组相同的路由),以便虚拟网络中的 VM 可以从 Azure 路由服务器获取一致的路由信息。

    Diagram showing a network virtual appliance (NVA) with Azure Route Server.

    在有两个或更多 NVA 实例时,如果要将一个 NVA 实例指定为活动实例,将其他实例指定为被动实例,可以为来自不同 NVA 实例的相同路由播发不同的路径。

  • 如果 VM 位于与托管 NVA 和路由服务器的虚拟网络不同的虚拟网络中。 请检查是否在两个 Vnet 之间启用了 VNet 对等互连,以及是否在 VM 的虚拟网络中启用了“使用远程路由服务器”。

为什么将路由服务器部署到虚拟网络后,ExpressRoute 的等价多路径(ECMP)功能已关闭?

通过多个 ExpressRoute 连接将同一路由从本地网络播发到 Azure 时,通常 ECMP 默认处于启用状态,以便发往这些路由的流量从 Azure 返回本地网络。 目前,部署路由服务器时,ExpressRoute 与路由服务器之间的 BGP 交换中会丢失多路径信息,因此,来自 Azure 的流量只会在一个 ExpressRoute 连接上遍历。

后续步骤

要了解如何创建和配置 Azure 路由服务器,请参阅: