一、故障现象
R1和R2建立EBGP邻居,但是发现R2学习不到R1的BGP路由。
二、组网拓扑

拓扑描述:
R1和R2属于不同的AS,通过物理接口的IP建立EBGP邻居。R2、R3、R4属于相同AS,通过IGP路由协议(本例中为OSPF)实现环回口的可达性后,通过环回口进行IBGP邻居的建立。
三、可能原因
1、没有正确发布路由
2、EBGP水平分割
四、排查步骤
步骤一:检查是否确实没有学到相应BGP路由

通过show ip route bgp命令,查看是否存在相应的B开头的路由。如上图,R2可以学到BGP路由192.168.10.0/24。
步骤二:检查是否没有正确发布路由
BGP路由需要在路由器上发布后,其他路由器才可以学习到。发布路由到BGP中有两种方式:①通过network命令通告路由表里存在的路由(除学到的BGP路由以外,所有路由表里有的本地接口、静态路由、RIP、OSPF、ISIS都可以通告),注意通告的时候需要用准确的掩码,否则会无法通告出相应路由;②重分布接口或者路由到BGP中。
如本例中,需要通告R1的环回口192.168.10.1到BGP中,需要先查看路由表

从上图输出可以发现该环回口路由是/24位的,故通告对应路由的时候,需要通告准确的24位掩码
R1#conf R1(config)#router bgp 65001 R1(config-router)#network 192.168.10.0 mask 255.255.255.0 R1(config-router)#end R1#wr
步骤三:检查是否EBGP水平分割导致学习不到路由
为了避免EBGP邻居出现环路,BGP协议在设计的时候,就不允许从某个AS发出来的BGP路由再发回给相同AS号的BGP路由器。
五、信息收集
信息收集命令参考
ter len 0
show version
show slot
show version slot
show run
show log
show cpu
show memory
show ip interface brief
show interface
show ip fpm count
show ip fpm st
show ip route
show ip ref route
show ip ref adj
show ip route summary
show arp
show ip int brief
show ip protocol
show ip bgp neighbors
show ip bgp summary
show ip bgp
show ip f f | in 179
ter no len
六、总结与建议
EBGP-邻居建立正常-学习不到IBGP路由时,需注意以下几点:
1、没有正确发布路由
2、EBGP水平分割