1.故障排除BGP邻居关系问题
遵循:首先,应检查第1/2层,然后是IP连通性(第3层),TCP连接(第4层),最后是BGP配置。
(1)直接的外部BGP邻居没有初始化
自治系统(AS)不会向AS发送或从AS接收任何IP前缀更新,除非邻居关系达到established状态,该状态是BGP邻居建立的最后阶段。当AS有一条单一的EBGP连接时,直到BGP完成了它的收发IP前缀操作后IP连通性
才能发生。
原因:第2层宕掉了,阻止了与直接的EBGP邻居通信
在BGP配置中有错误的邻居IP地址
命令:show ip bgp summary和 show ip bgp neighbors检查BGP邻居关系
active状态表示邻居间没有发生成功的通信,并且邻居未形成。用PING测试其连通性,失败则表示要修复第1/2层问题。
debug ip bgp能够帮助诊断问题
(2)非直接的外部BGP邻居没有初始化
有些情况下,EBGP邻居不是直连的。BGP邻居关系能够建立在试图形成由一台或多台路由器分隔开的EBGP邻居关系的路由器之间。这种邻居在IOS中被称为EBGP多跳。
当路由器之间存在多个接口并且需要在那些接口之间IP流量负载均衡时,通常在回环接口之间建立EBGP对等实体。
可能的原因:
到非直连对等实体地址的路由从路由选择表中丢失了
BGP配置中缺少ebgp-multihop命令
缺少update-source interface命令
命令:show ip bgp summary 和show bgp neighbors
router bgp 109
neighbor x.x.x.x remote-as 110
neighbor x.x.x.x ebgp-multihop 2
neighbor x.x.x.x update-source loopback0
(3)内部BGP邻居没有初始化
原因:
到非直接IBGP邻居的路由丢失了
BGP配置中缺少update-source interface命令
(4)BGP邻居(外部和内部)没有初始化
接口访问列表/过滤是BGP邻居活动问题的一个常见原因。
2.故障排除BGP路由通告
发生在BGP路由通告的产生和接收中。
(1)没有产生BGP路由
原因:
IP路由选择表中没有匹配的路由
发生了配置错误
BGP自动汇总到有类别/网络边界
(2)向IBGP/EBGP邻居传播/产生一条BGP路由的问题
配置的分布列表过滤可能是该问题的起因,或者是策略路由选择有问题。
(3)向EBGP邻居但没有向IBGP邻居传播一条BGP路由的问题
show run
show ip bgp
show ip bgp summary
解决:
使用IBGP全互联
设计一个路由反射器模型。
router bgp 109
neighbor x.x.x.x route-reflector-client
设计一个聪明模型
(4)向IBGP/EBGP邻接传播一条IBGP路由的问题
一条BGP路由只有首先通过IGP或静态路由获得后才是同步的。
show ip bgp命令的输出显示了BGP表中的不同步路由。
3.排除路由没有装入IP路由选择表中的故障
原因:
(1)IBGP原因
IBGP路由不同步
BGP下一跳不可达
(2)EBGP原因
在多跳EBGP情况下BGP下一跳不可达
BGP路由被抑制
多出口鉴别器(MED)值为无穷
4.BGP下一跳不可达
解决:
使用静态路由或再分布经由IGP宣告EBGP下一跳
router ospf 1
network x.x.x.0 0.0.0.255 area 0
使用next-hop-self命令将下一跳改变为一个内部对等实体地址
router bgp 109
router ospf x.x.x.x next-hop-self
4.BGP路由被抑制
抑制(dampening)是减小本地BGP网络中来自EBGP邻居的不稳定BGP路由所引起的不稳定性的方法。
抑制是一种为一条翻动的BGP路由指派一个罚点的方法。
router bgp 109
bgp dampening