某局点进行公网出口线路的冗余测试,此次测试共涉及到三条线路,分别是CEN、CNC、CT,其中CEN、CNC采用默认路由方式出公网,CT则采用BGP方式(运营商处下发BGP默认路由)出公网,如下图。CT切换存在一定问题(切换后无法恢复,即E03上行断开后流量通过E04出,恢复后流量依然从E04出,无法切回。
关于CT BGP切换后无法恢复的描述:
1.E03-WC1、E04-WC1是两台S10508交换机,他们分别与CT建立EBGP邻居。CT侧下发默认路由,E03-WC1和E04-WC1分别通过默认路由访问CT。
2.同时E03-WC1、E04-WC1之间建立OSPF邻居宣告环回口,之间建立iBGP邻居。并且在OSPF使用default-route-advertise发布默认路由。
3.在E03-WC1上dis ip rout vpn CT 在路由表中,默认情况下可以看到通过BGP学习来的默认路由优先级是255。
4.当进行线路切换测试时,将E03-WC1的上行接口shutdown,后发现原来优先级为255的BGP默认路由消失,同时优先级为150的OSPF路由生效(从E04学习过来),流量切换到E04-WC1再到CT。
5.当再将E03-WC1的上行接口undo shutdown后,OSPF的默认路由依然存在,BGP的默认路由无法恢复。即本来应该从E03-WC1默认路由到CT的流量由于BGP默认路由没有恢复,流量还会经过E04-WC1到CT。
6.现场恢复:通过在E03-WC1上调整eBGP的preference优选BGP的默认路由,业务恢复。
1.由于BGP配置中没有配置preference,默认eBGP的默认优先级为255。开始的时候应该BGP邻居先建立连接,两台S10508对端设备分别下发默认路由。产生默认路由后在OSPF中引入默认路由。
2.当E03-WC1上行down后,E03-WC无法从CT上学习到BGP默认路由,于此同时E04-WC1发布的OSPF ASE路由生效,优先级为150,当上行端口undo shutdown后,虽然BGP会下发默认路由但是由于E03-WC1已经有较优的OSPF默认路由了,再来的优先级为255的BGP默认路由就不会被优选。此时流量模型已经改变了。
3.现场OSPF进程下配置了default-route-advertise导致该问题,该命令说明如下:
仅当本地路由器的路由表中存在活跃的非本OSPF进程的缺省路由,才可以产生一个描述缺省路由的Type-5 LSA发布出去。
当路由器产生并发布了一个描述缺省路由的Type-5 LSA时,路由器不再计算来自其他路由器的缺省路由。(可以通过permit-calculate-other开启计算对端发布过来的默认5类LSA )
4.E03-WC1上行down后,E03-WC1下发的BGP默认路由消失,路由表中不存在BGP的默认路由,根据default-route-advertise的规则,OSPF不会再发布5类LSA给对端,只计算对端发布过来的OSPF的5类LSA。当接口重新UP,路由表中存在对端学习过来的OSPF默认路由,优先级高于本地BGP默认路由,不会将BGP默认路由注入路由表,本地也不会再产生5类LSA。
由于缺省情况下EBGP的优先级值为255,OSPF ASE外部路由的优先级值为150,OSPF ASE优先级更高,因此现场从CT那边学到的EBGP学到的默认路由不能加入到路由表,导致链路不能切换回来。通过改变BGP的路由优先级小于150,即小于OSPF ASE路由优先级,来实现组网意图。
可以通过preference命令修改EBGP路由、IBGP路由以及本地产生的BGP路由的路由优先级。
配置BGP路由的管理优先级 |
preference { external-preference internal-preference local-preference | route-policy route-policy-name } |
缺省情况下,EBGP路由的管理优先级为255,IBGP路由的管理优先级为255,本地产生的BGP路由的管理优先级为130 |
类似的路由规划不仅仅在交换机上会存在,网络设备对于路由优先级的处理方式都是这样的,大家以后要多多注意。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作