某用户出口双链路,两个业务互为主备,因为友商防火墙上有较多的NAT业务,无法做成二层,且对动态路由协议的支持效果不好,沟通后还是使用静态路由,减少修改防火墙的配置,保持现网的静态路由方式,要求实现,左边链路优先走业务1的流量,右边链路优先走业务2的流量,任意一点故障能实现自动切换,如下图是整体拓扑:
路由传递说明:
如下图示:
三层交换机上行建立两个OSPF进程100和200分别代表业务1和业务2,OSPF引入下行的静态路由发布到上层路由器,上层路由器上把OSPF路由引入到BGP中,通过调整MED值进行选路,在左侧的上层路由器针对业务2的路由增加其MED属性值,在右侧的上层路由器针对业务1增加其MED属性值,从而让BGP进行路由选路,认为业务1的路由优选左侧路由器,认为业务2的路由优选右侧路由器;
下面的路由器,把静态路由引入到BGP中,通过调整其Local-preference来进行选路,在左侧路由器针对业务1的路由增大Local-preference属性值,在右侧路由器针对业务2的路由增大Local-preference属性值,从而让BGP进行选路,认为业务1的路由优选左侧路由器,认为业务2的路由优选右侧路由器;
因为三层交换机---防火墙---路由器之间是静态路由,当左侧三层交换机上行链路异常时,下面的路由器无法感知,静态路由依旧生效,下面的BGP依旧认为业务1还需要走左侧路由器,业务就不正常;
当防火墙下行--路由器之间链路异常时,三层交换机也无法感知,静态路由依旧生效,业务也会不正常。
三层交换机上行链路的故障信息需要让路由器感知到,三层交换机下行到路由器的链路故障信息也需要让三层交换机感知到;
1、配置NQA+track链路检测关联静态路由
我们需要检测三层交换机的上行链路,检测三层交换机到路由器的链路,检测路由器上行到交换机的上行链路,这里我们可以通过NQA做接口地址的ping测试来实现,把NQA的结果绑定到track,静态路由绑定track,这样三层交换机的静态路由和路由器的静态路由都绑定了track
(为什么不直接检测路由器到上行路由器的IP地址,因为上行路由器是上层行政单位,没有下行互联接口的路由信息,也不允许发送除业务路由的其余路由信息;需要三层交换机与下面路由器的接口地址路由可达,下面路由器也需要可三层交换机的接口地址可达,这里可以通过静态路由打通)
2、配置RTM策略联动上下行链路状态
当三层交换机上行链路检测失败时,我们通过配置RTM策略,把三层交换机的下行口关闭,此时下方路由器上行到交换机的track也会失效,同时绑定了track的静态路由也会生效,静态路由引入到BGP的行为就会失效,在BGP认为路由优选另一侧,上下行流量就可以同步自动切换到另一侧;
当防火墙下行到路由器的直连链路故障时,三层交换机下行的track就会失效,同时绑定了track的静态路由也会生效,因此静态路由引入到OSPF的行为就会失效,路由将会从另一侧学习,上下行流量就可以同步切换到自动切换到另一侧;
3、配置
三层交换机上下行链路检测配置:
NQA中配置了reaction 1 checked-element probe-fail threshold-type consecutive 5 action-type trigger-only
track绑定NQA的行为:track 10 nqa entry admin data1_dn reaction 1
当NQA状态检测异常时track状态也会变化
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作