我在一个路由器上有两个单独的ISP的上行链路,并通过BGP从每个路由器接收默认路由。两条链路的速度相同,并且BGP仅用于通告我们的前缀。在两个链接之间实现负载平衡的最佳方法是什么?建议最简单的方法是将静态默认路由添加到路由器。

#1 楼

您没有提到供应商,但是如果使用Cisco IOS,则可以使用:

router bgp 43792
  bgp bestpath as-path multipath-relax
  address-family ipv4
    maximum-paths 2
  !
!


多路径放松是必需的,因为通常您只需要具有相同as-path的多路径

我个人坚决反对通过动态路由协议传送默认路由,只要您运行支持递归静态路由的平台,根本就没有任何需要。

考虑到您的运营商路由器与核心路由器断开连接,那么您仍然会收到默认路由,并且流量一直阻塞,直到您手动干预。但是,如果他们向您发送一些候选路由,可能是他们自己的PA块,或者可能是几个对您而言至关重要的PA块,则可以向这些网络添加静态默认路由,如果边缘盒与核心断开连接,则聚合网络不可用,并且您无需人工干预即可收敛。

#2 楼

如@ytti所述,您可以配置eBGP多路径,也可以配置2x静态默认值,每个默认值都带有上游的下一跳。由于它们都在同一台路由器上,并且您从它们那里收到的所有信息都是每个提供商的默认设置,因此设置非常简单。如果您正在运行Cisco,也要确保已关闭CEF每数据包负载平衡(无论如何,默认设置都是禁用的)。