eBGP 双ISP,双边缘路由器

网络工程 路由 bgp
2021-07-09 15:28:57

我目前在我的网络中使用一个非常简单的 eBGP 和 iBGP 配置来通过单个 ISP 路由出去。这张图大致说明了我目前的运作情况: 单宿主 BGP

我的 ISP 1 容量不足,想添加一个额外的 ISP 并创建双宿主设置。我有一个来自 ARIN 的 /20,我正在向 ISP1 做广告。

这是我想要结束的设置:

双宿主 eBGP

我知道我可以使用 local-pref 来控制客户流量应该从我的两个边缘路由器中的哪一个退出。但是,入站路由控制比较困难。

我想向 ISP 1 和 ISP 2 宣传我的相同 /20。有什么办法可以对进入我的网络的传入流量进行负载平衡?我知道有一些技巧,例如路径前置等......

我不想遇到所有入站流量都优先通过 ISP 1 的情况,以至于我将 1G 连接最大化,而 ISP 2 处于空闲状态。

我在边缘路由器上使用 VyOS。

4个回答

入站路由控制更难

轻描淡写的世纪。正如您可以使用 local-pref 将流量从您希望的任何管道中排出一样,其他人也可以。因此,您几乎无法控制流量到达您的方式。AS-PATH 是远程影响路由偏好的唯一可靠方法(本地网络管理员仍然可以覆盖它,但我的经验表明这种情况很少见。)根据您的两个 ISP,可能有各种社区可以限制您的位置路线走。

BGP 的第 1 条规则:“你不能告诉其他人如何处理他们的流量。你只能轻轻地将他们推向正确的方向。”

AS-Path Prepending 是我的建议。如果您的上游删除了前面的内容,请给他们打电话并让他们很好地停下来。:)

Local-Preference 是我对出站负载平衡的建议。您可以轻松创建将本地首选项附加到 BGP 社区的策略。然后,在向您通告路由时标记社区。我工作的 ISP 这样做是为了将国内对等互连与国际对等互连以及公共对等互连交换、不同位置等分开。可以轻松查看路由的来源,然后对其应用 L-Pref。然后,如果您的上游当然支持,您还可以潜在地使用社区来宣传 bgp 远程触发黑洞 (RTBH)。

编辑:只是在想。我们有一种情况,我们希望 100% 保证上游将使用特定路径返回流量。我们向他们宣传个人/24,而不是更大的超网。可能是一个潜在的选择,因为最长的比赛总是胜过其他任何事情。

就像其他人所说的那样,没有万无一失的方法可以做到这一点,并且需要不断调整。也就是说,我们通过去聚合获得了最好的运气。我知道这很不受欢迎,但它似乎非常有效。本质上,继续将 /20 广告给两个提供商,然后还将 /20 的前半部分 (a /21) 广告给 ISP 1,并将 /20 的后半部分 (a /21) 广告给 ISP 2。因此,所有发往第一个 /21 的流量都使用 ISP 1,而所有发往第二个 /21 的流量都使用 ISP 2。如果任一连接失败,则通告给另一个 ISP 的 /20 将保持一切畅通。

就像我说的,我知道这是不好的形式并且不赞成……但它有效。

您可以使用 MED 来影响到您的 AS 的入站流量。