BGP路由的常见的故障由以下三类产生:
1、错误的配置
2、人为的故障
3、版本兼容问题
建议:对已排除的故障,都应该准确记录故障描述,解决办法。为以后的工程提供参考和经验。
一、常见故障之对等体建立故障
BGP在对等体建立过程中以下问题都会导致建立不成功:
1、TCP连接:BGP连接是建立在TCP基础上,端口号为179,如果179被占用,BGP无法建立邻居关系。
2、IP连通性:BGP是一个路由策略工具,并不是路由发现协议,所以对等体在大多数情况下需要静态路由或者是IGP提供的可达路由。
3、OPEN消息交互:OPEN消息是对等体关系交互的主要报文,包括:AS号,更新报文的源地址以及其他参数。
4、EBGP多跳:建立EBGP的报文默认TTL为1,此种情况是使用直连的物理端口为对邻居关系,如果使用非直连的邻居关系则需要修改TTL,如使用loopback地址作为邻居关系。
5、物理连接不稳定:因为连线的不稳定导致端口一直在up、down变换。应该准确检测连线和接头的接触性。
在该故障中检测办法:物理层面问题需要你能现场发现,配置问题可以对设备进行查看:
[R]dis bgp peer
此命令一出,看对等体的State状态,如果是Active,则说明没有建立TCP连接。
[R]dis tcp status [R]debug tcp packet
上面第一条命令用来查看本地tcp端口是否占用,status状态为”listening“,表明本地没有禁用179端口。
第二条命令为收集tcp信息报文交互情况,用来查看远端179端口是否被占用,因为我们收到了tcp连接请求则说明对面的179没被占用,如果收不到则有可能被占用。在仔细看源地址和目的地址,如果在同一个网段则说明是直连的邻居,如果不是则是非直连的邻居,比如:使用loopback地址建立 邻居关系。如果使用loopback地址来建立对等体,则必须要配置指定端口发送BGP报文,命令为:
[R-BGP100]peer IPadres connect-interface loopback 0
[R] ping -a src dst
此命令就是常见的检测网络连通性的命令。加上-a参数是指定源地址去检测。与之相应的命令 tracert 可以检测出路由在哪一步断掉。同时你还可以使用 dis ip routing-table 来检测本地是否有到目的地址的路由条目。
[R] dis current config bgp
该命令查看BGP的有关配置,可以看是否配置了TTL,以及对等体的编号是否一致,需要在多台路由器上查看哦。配置TTL的命令为: peer ebgp-max-hop 2 。
以上全部考虑基本就排除了对等体的连接错误了。
BGP对等体故障排错和处理办法参考:
http://www.elvhome.com/html/2014-5-15/20145151223064983.html
BGP路由学习故障的排错和处理办法参考:
http://www.elvhome.com/html/2014-5-15/201451513474142311.html
BGP路径选择馆长的排错和处理办法参考:
http://www.elvhome.com/html/2014-5-15/201451514503444822.html





