争怎路由网/路由器百科/内容

BGP表中有默认路由,但无法进入到路由表?这是什么因素?

路由器百科2024-11-22 阅读

先看一下我们的拓扑

网络架构:R1和R2是ISP1电信,R5和R6是ISP2联通,AS65282是某大型企业,有两个出口,分别跟电信和联通起EBGP,通过BGP选路,访问电信和联通的资源分别走相应运营商的出口,保证网络的高可靠性和访问速度。

遇到的问题:在R7上BGP表中有默认路由,但在路由表中却没有默认路由,如下图所示:

如果没有默认路由,在路由表中没有明细路由的情况下,路由器就不知道如何转发,就会将数据包丢弃,这样网络就不可达了。

我们知道路由放入路由表的原则是下一跳可达,我们现在在R7上ping一下1.1.1.1或2.2.2.2看是否通。

下一跳不可达,所以不能将默认路由放进路由表。为什么学到了路由却放不进路由表呢?

我们知道BGP路由器从EBGP邻居学到的路由转发给IBGP邻居时,默认是不修改下一跳,所以看到默认路由的下一跳,显示的是R1和R2的loopback地址。

在IBGP R7收到该默认路由时,发现下一跳不可达,于是不放入路由表中,这就是为什么BGP表中有路由,但路由表中没有路由的原因。

我们知道了原因,肯定需要想办法解决它,是时候拿出我的武林秘笈了。

从秘笈中发现BGP有一条peer next-hop-local命令用来设置向IBGP对等体(组)通告路由时,把下一跳属性设为自身的IP地址。意思就是在R3和R4上告诉R7,你去往某某的路由,往我这里扔,我帮你转发出去。我们在R3和R4上把这条指令敲上看会是怎么样。

我们再在R7上看一下BGP表和路由表。

可以看到BGP表和路由表下一跳都指向了R3和R4的loopback地址了,现在R7就有默认路由了。

总结:缺省情况下:

后期会持续出企业多BGP出口相关知识,欢迎大家关注一下,有什么疑问可以在下方留言,一起讨论。



……

相关阅读