1、如图所示,所有的设备只运行了BGP协议,R1、R4分别network相应的业务网段,此时PC1无法正常访问PC2,请问如何排查问题?
先查看BGP对等体是否正常建立邻居关系:
使用display bgp peer 检查IBGP和EBGP的邻居关系是否正常,如果不正常或未建立BGP对等体邻居关系则先排除故障问题。
使用ping和tracert工具检查设备之间的物理链路是否正常,是否能正常连通。
使用display bgp error查看是否存在影响BGP邻居建立的问题。
查看设备之间是否存在策略路由和流量过滤行为如无发现故障则根据以下步骤修改下一跳地址。
从EBGP邻居收到的路由传递给IBGP邻居时,默认下一跳不改变。(以R1设备为例,PC2业务路由从R3传递给R2设备,下一跳为R3互联接口。当R2再次把路由传递给R1时,下一跳不变,但R1没有该下一跳路由)R4同理。BGP会把下一跳不可达的路由标记为无效路由,无效路由无法使用也不会进入全局路由表,所以导致PC1和PC2无法互访。
解决方法:
(1)AS内建立IGP邻居关系,R2和R3把互联接口均发布在IGP协议中。
(2)R2针对R1设备的BGP对等体设备next-hop-local。R3针对R4设备的BGP对等体配置next-hop-local。
(3)R1和R4配置到达R2和R3互联的接口的静态路由
(4)R2传递BGP路由到R1设备时,调用route-policy策略,把下一跳改为R2与R1互联接口地址或建立邻居的地址。R3传递BGP路由到R4设备时,调用route-policy策略,把下一跳改为R3与R4互联接口地址或建立邻居的地址。
2、如何提升BGP的安全性和可靠性?
(1)提升BGP安全性:BGP MD5认证、Keychain认证、BGP GTSM(BGP建立邻居的传递地址,建立隧道使用 IPsec)认证可以保护BGP协议,减少受到攻击的可能。
(2)提升BGP可靠性:BGP Tracking、BFD for BGP(保证邻居能够快速发现故障完成收敛,减少故障对网络的影响时间)。
(3)BGP GR 开启后可以让restart在主备切换过程中避免流量中断,减少对业务的影响。
(4)BGP FRR 可以使BGP在故障后快速切换到备份链路,减少收敛时间和流量中断时间 。