将 2 个 BGP 上的网络与 2 个 ISP 分离

将 2 个 BGP 上的网络与 2 个 ISP 分离

我有一台 Cisco 路由器,带有来自两个 ISP 的 2 个 bgp 会话,并且想要分离我的网络,例如 80.80.80.0/24 通过第一个 ISP,90.90.90.0/24 通过第二个 ISP,但如果其中一个出现故障,则可以选择重新路由流量。

有没有办法做到这一点。

问候,Damjan

答案1

从您的问题来看,我推测您实际上只想控制从 ISP 到您的 2 个网络的入站流量。

您需要改变上游网络的路由决策,可以使用 2 个独立 ISP 来执行此操作,方法如下:

  • 在向要充当备份的提供商宣传网络时增加 AS 路径(AS 路径前置)
  • 通过通告比原始聚合路由更具体的多条路由(更具体的路由)

使用 AS 路径前置,您实际上是将 AS 多次插入 AS 路径以人为地增加长度。要在 cisco 上前置,请使用如下所示的路由图:

route-map PREPEND permit 10
   match ip address prefix-list PREPREND_ROUTES
   set as-path prepend 65001 65001 65001 65001

按照您的示例,您可以在向 ISP2 通告时添加 80.80.80.0/24,在向 ISP1 通告时添加 90.90.90.0/24。这将导致 90.90.90.0/24 的流量在正常情况下通过 ISP2 到达,而 80.80.80.0/24 则相反。

要使用更具体的路由,您可以采用 /23 路由作为示例,并改为通告 2 个内部 /24 路由​​,从而使这些路由比任何较大(不太具体)的聚合路由更具体且更受欢迎。使用您的示例网络:

ISP1 - advertise 80.80.80.80/24, 90.90.90.0/25, 90.90.90.128/25
ISP2 - advertise 80.80.80.0/25, 80.80.80.128/25 90.90.90.0/24

上述情况将导致 80.80.80.80/24 的流量在正常情况下通过 ISP1 传输,而 90.90.90.0/24 的流量通过 ISP2 传输。

如果上游提供商允许您向他们通告更具体的前缀长度,则更具体的路由选项会更可靠,例如,某些提供商可能会阻止所有前缀长度超过 24 的路由。它更可靠的原因是,使用 AS 路径前置,某些网络仍可能通过前置路由获得更短的路径,因为网络的实际路径更短。

相关内容