BGP 前缀公告问题

网络工程 bgp 铸造厂
2021-07-30 17:48:57

我有一个奇怪的问题。这是设置。我们有 2 台 Foundry SX。

SX01 --->  ISPA
|
|
SX02 --->  ISPB

我有一个来自 ISPA 的 /24 和另一个来自 ISPB 的 /24。两个/24 都可以向每个提供者宣布。

iBGP 在两个 SX 之间运行,并且从每个 SX 到各自的 ISP 都使用 eBGP。

所以,我在 SX 上有以下内容:

ip route 1.1.1.0/24 null0
ip route 2.2.2.0/24 null0

我还为每个 /24 配置了前缀列表,并配置了 bgp 邻居以使用前缀列表。

我的问题是,每当我同时将上述空路由添加到两个路由器时,我都会遇到连接问题并导致丢包。我曾尝试更改这些静态路由上的管理距离,但没有成功。如果我只将这些空路由添加到其中一个 SX 并将它们从另一个中删除,那么前缀就会向相应的 ISP 宣布,并且一切正常。

任何想法如何解决?在 cisco 设备上,就像将上述命令添加到两个边缘路由器一样简单,所以不确定为什么目前这不起作用。

2个回答

检查您是否确实具有这些网络的有效内部路由,以将路由覆盖为 null0。如果这些网络没有更具体或更优选的路由,路由器当然会丢弃发往它们的流量。

您的锚定路由是正确的,但要覆盖这些路由,您需要在 IGP 中提供更多细节。你如何去做这真的取决于你的网络布局,但举个例子......

假设您有几个不同的路由器端口,每个端口都分配了 /28。一个路由器现在将具有更多细节,并且不会使发往那些 /28 的流量变黑,但另一台路由器不会知道它们,除非您在 IGP(OSPF、IS-IS 等)中通告它们。路由器仍会将未使用子网的流量发送到 null0,直到您有一个有效的更具体的路由到它们为止。

您希望保留这些锚点路由,以便 BGP 能够通告 /24s。如果您将 /24s 分配给单个端口并且根本没有对它们进行子网划分,那么您就不需要锚路由。基本上,在 BGP 通告这些路由之前,您的路由表需要有一条有效的路由到 /24s(无论是到实时端口还是 null0 静态)。您只需要确保在 IGP 中重新分配更多细节,以便路由器知道将有效流量发送到何处。