kavin

路由器故障:IBGP对等体未学到EBGP路由

kavin 运维技术 2022-11-08 433浏览 0

IBGP是内部BGP协议(IBGP)的主要作用是向你的内部路由器提供更多信息,而EBGP 是外部边界网关协议,用于在不同的自治系统间交换路由信息。下面就让我们来看一下IBGP对等体未学到EBGP路由的故障是怎么解决的。

网络环境

在图的网络中,RouterA和RouterB在AS100内建立IBGP邻居,RouterB和RouterC建立EBGP邻居。RouterB通过aggregate命令向外发布掩码长度为22的聚合路由,造成和RouterA连接的部分网段的用户无法访问RouterC。

图IBGP对等体未学到EBGP路由

路由器故障:IBGP对等体未学到EBGP路由

故障分析

步骤 1 在RouterA上,执行display bgp routing-table命令查看所有路由,有与其连接的所有网段的路由,排除链路故障。

步骤 2 在RouterA上,执行ping命令可以ping通用户端,说明RouterA到用户网段通畅。

步骤 3 在RouterB上,执行ping命令不能ping通用户端。

步骤 4 在RouterB上,执行display bgp routing-table命令查看所有BGP路由,发现掩码长度小于22的BGP的路由下一跳指向RouterA,但掩码长度为22的路由下一跳却指向Null0。

由此可知,可能是由于aggregate命令的不正确使用导致。BGP的aggregate命令会自动针对聚合的路由,产生一条指向Null0的黑洞路由。其作用类似以network方式发布聚合路由。由于aggregate命令中配置的聚合路由掩码长度与从RouterA上学习的BGP路由掩码长度一样,导致RouterB自动产生指向Null0的聚合黑洞路由,把所有回程报文全部丢弃。

—-结束

处理步骤

在RouterB上分别执行如下操作。

步骤 1 执行命令system-view,进入系统视图。

步骤 2 执行bgp命令,进入BGP视图。

步骤 3 执行undo aggregate命令取消聚合后,运行display bgp routing-table命令查看RouterB的所有BGP路由,发现掩码长度为22的路由的下一跳为RouterA。

步骤 4 执行aggregate命令(掩码长度须小于22),进行路由聚合。

步骤 5 执行命令return退回到用户视图,执行命令save,保存对配置的修改。

—-结束

配置完成后,在RouterB上可以ping通用户端,故障排除。

案例总结

aggregate命令会自动对要聚合的路由产生下一跳指向Null0的路由。如果要实现路由聚合,聚合路由掩码长度必须小于学习到的精细路由掩码长度,这样自动产生的黑洞路由才不会覆盖具体路由;要抑制具体路由发布,可以添加detail-suppressed参数。

继续浏览有关 网络运维 的文章
发表评论