两个 ISP bgp 链接之间的负载平衡

网络工程 bgp
2021-07-11 18:47:35

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

2个回答

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

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

需要 multipath-relax ,因为通常您只会使用与路径相同的多路径。

我个人强烈反对通过动态路由协议承载默认路由,根本没有任何必要,只要您操作支持递归静态路由的平台。

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

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