EBGP-邻居建立异常
一、故障现象
R1和R2建立EBGP邻居失败。
二、组网拓扑

拓扑描述:
R1和R2属于不同的AS,通过物理接口的IP建立EBGP邻居。R2、R3、R4属于相同AS,通过IGP路由协议(本例中为OSPF)实现环回口的可达性后,通过环回口进行IBGP邻居的建立。
三、可能原因
1、router-id冲突
2、配置中邻居地址或AS号指定错误
3、配置EBGP邻居时,未指定多跳
4、环回口TCP 179端口不可达
5、ACL配置错误,deny了TCP 179端口
四、排查步骤
步骤一:检查是否EBGP邻居建立异常

通过show ip bgp summary的命令,检查BGP邻居状态是否出现异常。若状态为空(如上图),则为成功建立。若状态不空或者无对应邻居条目,均为出现异常。
步骤二:检查是否router-id冲突


在要建立BGP邻居的两台设备上,分别通过show ip bgp summary的命令,检查bgp的router-id是否和对方一样。若是一样,需要修改bgp的router-id,命令为:
conf
router bgp xxx
bgp router-id x.x.x.x
end
wr
步骤三:检查是否配置中邻居地址或AS号指定错误


如图,建立EBGP邻居,要求正确指定对端的环回口IP以及对端的AS号。因为是EBGP邻居,故对端AS号和本端AS号是不一样的。
步骤四:检查是否配置EBGP邻居时,未指定多跳


建立EBGP通常是用物理接口地址建立,且TTL只有1跳。这意味着如果EBGP邻居之间经过了多台设备,EBGP建立邻居报文将被中途丢弃,导致EBGP邻居建立失败。故需如图跳大ebgp-multihop(EBGP多跳)的跳数。
步骤五:检查是否环回口TCP 179端口不可达
建立BGP邻居需要TCP 179端口可达。倘若TCP 179端口不可达,BGP邻居将会建立失败。该端口不可达可能存在中间环境过滤,路由写错等问题。可以通过流表来查看TCP 179端口的发送情况
①开启流表——任意接口配置ip nat inside即可,如:
conf
interface Loopback 0
ip nat inside
end
wr
②使用show ip f f | in 179命令,查看流表:
show ip f f | in 179
6 10.0.12.2 10.0.12.1 40081 179 0 127661 120324
如上流表显示,10.0.12.2到2.2.2.2的TCP 179流量,发了127661字节,收到了120324字节,通信正常。若通信异常,需要检查去往对端环回接口的路由以及对端去往本地环回接口的路由是否正常,以及检查中间环境问题。
步骤六:检查是否ACL配置错误,deny了TCP 179端口


由于BGP邻居的建立依赖于TCP 179端口,故TCP 179端口若被路由器过滤,BGP邻居将建立失败。可以通过show access-group查看建立接口ACL以及show run | in ip fpm session filter查看全局ACL,是否针对TCP 179端口的流量做了过滤。若过滤了,需要放通对应TCP 179端口。
五、信息收集
信息收集命令参考
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邻居建立异常时,需注意以下几点:
1、router-id冲突
2、配置中邻居地址或AS号指定错误
3、配置中未指定update-source
4、配置EBGP邻居时,未指定多跳
5、环回口TCP 179端口不可达
6、ACL配置错误,deny了TCP 179端口
阅读剩余
版权声明:
作者:SE_You
链接:https://www.cnesa.cn/9438.html
文章版权归作者所有,未经允许请勿转载。
THE END