VRRP+Track+RTR配合使用解决 keepalive跨网段问题
- 格式:doc
- 大小:85.50 KB
- 文档页数:10
在VRRP的应用中,经常要设置VRRP的主备状态需要根据广域网接口的状态决定是否切换,在常用的点到点模式中,使用track再结合keepalive gateway功能就可以实现。
但是在比较复杂的点到多点网络模式中,或者需要监控的gateway与广域网接口不在同一个网段时,使用此方法将不能或者无法很好地解决这个问题。
Environment如上图,LAN里的用户通过R1,R2访问外网资源。
但是R1,R2不是直接与ISP相连,中间还有R3,R4这两台三层设备。
这种情况下用户需求在R1,R2上根据到ISP某地址10.1.1.1的可达与否来判断VRRP的主备切换。
显然,10.1.1.1与R1,R2上的地址不在同一个网段。
那么这种情况Keepalive gateway就无能为力了,因为它是发送ARP广播来实现的。
这个时候我们可以使用RTR功能配合TRACK和VRRP来实现这种用户需求。
实现步骤:1,在R1上启用RTR功能R1(config)#rtr enable2,创建一个ICMPECHO类型的RTR实体R1(config)#rtr 1 icmpechoR1(config-rtr-icmpecho)#set 10.1.1.1 1 70 2 10 extend 11.1.1.2 0 TRUE FALSER1(config-rtr-icmpecho)#exit3,创建一个RTR组,包含上面所创建的RTR实体R1(config)#rtr group 1R1(config-rtr-group)#member 1R1(config-rtr-group)#exit4,创建一个TRACK组,包含上面创建的RTR组R1(config)#track 1R1(config-track)#rtr 1R1(config-track)#exit5,创建schedule调用RTR组1R1(config)#rtr schedule 1 group 1 start now ageout 20 life forever6,在相应VRRP接口F0下调用TRACK组1R1(config)#interface fastethernet0R1(config-if-fastethernet0)#vrrp 1 track 1 20R1(config-if-fastethernet0)#exitR1(config)#end以上的相关路由省略。
结果:1,当R1上源地址11.1.1.2到目的地址10.1.1.1可达时,TRACK组1会返回TRUE给VRRP,这个时候R1是Master,数据流向为:LAN-->R1-->R3-->ISP2,当R1上源地址11.1.1.2到目的地址10.1.1.1不可达时,TRACK组1会返回FALSE给VRRP,这个时候R1在VRRP的优先级会被减少所配置的20,假设R1的初始优先级为110,R2的初始优先级为100,那么现在R1的实际优先级就变为了90,R2成为了Master,数据流向为:LAN-->R2-->R4-->ISP3,当R1上源地址11.1.1.2到目的地址10.1.1.1恢复可达时,TRACK组1会返回TRUE给VRRP,这个时候R1在VRRP的实际优先级会恢复为初始值110,R1恢复成为Master,数据流向也恢复为:LAN-->R1-->R3-->ISP 综上所述,VRRP+TRACK+RTR的方式,解决了VRRP里所TRACK的地址与本地router不在同一网段而无法使用keepalive gateway的问题。
还有一个好处是这种方式不会对接口进行shutdown操作,比较好^_^点到多点的情况,非常清晰明了,强烈推荐仔细阅读下面的部分:一、网络结构:如上图所示:R1和R2作为网点路由器,局域网启VRRP协议,R1的VRRP 状态为Master。
R1通过F1口接入运营商ISP1,中心有两台设备作为主备接入ISP1。
整个网络使用静态路由。
在R1上面有两条默认路由分别指向R3和R4,并且到R3的路由优先。
上行数据流和备份要求:正常情况下数据流:网点->R1->ISP1->R3当R3出现故障或者到R3的线路出现故障时,数据流向:网点->R1->ISP1->R4当R3和R4同时出现故障或者ISP1线路出现故障时,VRRP切换,数据流向:网点->R2->ISP2二、需求分析要实现上面的需求,需要使用VRRP的track功能,常规的track功能只能监控某一个接口的状态。
上面方案中互连都是以太口,F1接口又有两个网关,也就无法使用keepalive gateway功能来实现。
要实现上面的需求,需要解决如下两个问题:1、如何在R3和R4同时出故障或者ISP1整个线路出现问题后,VRRP才发生切换?2、当R3出现故障后,在R1上如何才能使到R4的默认路由生效?三、解决办法通过VRRP+track+RTR的方式来实现。
在VRRP的track设置中,除了track某个接口的状态外,还可以track一个组,在一个track组里面可以监控多个对象,其中就包含RTR的状态,RTR 可以分别检测到两个上端设备R3和R4是否可达。
最后track组将这些监控对象的综合状态反馈给VRRP模块。
具体实现步骤如下:1、在R1上配置两个rtr的icmpecho实体分别检测到两个上端设备是否可达,再配置两个rtr组分别包含这两个rtr实体。
2、配置一个track,包含这两个rtr组(注:在track组中只能关联rtr组),track组中采用或关系。
3、配置vrrp+track,只有两个rtr组都检测不到上端设备时,track才返回false,触发vrrp切换。
以上解决了上面提到的第一个问题,根据上面的方法,第二个问题也就容易了。
在R1上再配置两个track组,分别关联一个rtr组,在R1上面的两条默认路由后面加上track组就可以实现了。
四、配置实例1、配置RTR实体:rtr 1 icmpechoset 2.1.1.2 2 70 1 5 extend 2.1.1.1 0 TRUE FALSElog type local 100exitrtr 2 icmpechoset 2.1.1.3 2 70 1 5 extend 2.1.1.1 0 TRUE FALSElog type local 100exit上面配置中建立两个icmpecho类型的RTR实体,实体的内容为以源地址为2.1.1.1向2.1.1.2和2.1.1.3发送ICMP请求报文。
报文个数为2,大小为70,超时时间为1S,调度间隔为5S。
2、配置RTR组:rtr group 1member 1exitrtr group 2member 2exit配置两个RTR组,分别包含上面配置的两个RTR实体,在此必须要配置RTR 组,因为在track的引用中,是通过RTR组来进行引用的。
rtr schedule 1 group 1 start now ageout 10 life foreverrtr schedule 2 group 2 start now ageout 10 life forever再通过上面两个命令把配置的RTR组调度。
RTR组必须要通过命令调度才会执行。
3、配置track引用RTR组track 1rtr 1rtr 2logic operator ORexit此处track组中,引用了两个对象,两个对象使用“或”的关系,即只有两个RTR 组都不可达时,才返回false。
4、配置VRRP引用此trackinterface fastethernet0ip address 1.1.1.1 255.255.255.0vrrp 1 ip 1.1.1.10vrrp 1 preemptvrrp 1 priority 200vrrp 1 track 1 120exit这个配置很简单,当track组返回false时,此接口的VRRP优先级降低120。
5、路由配置track 2rtr 1logic operator ANDexittrack 3rtr 2logic operator ANDexitip route 0.0.0.0 0.0.0.0 2.1.1.2 track 2ip route 0.0.0.0 0.0.0.0 2.1.1.3 100 track 3此处的配置与上面类似,就不做解释了。
五、验证通过以上配置就可以实现上面方案中的要求,下面通过一些切换操作来进行验证。
1、正常情况下的RTR状态和VRRP状态:VRRP-A#sh rtr group 1----------------------------------------------ID:1 name:rtrGroup1 Members schedule interval:0 Option: AND Status:REACHABLE*****************************type:SINGLE Entity Id :1VRRP-A#sh rtr group 2----------------------------------------------ID:2 name:rtrGroup2 Members schedule interval:0 Option: AND Status:REACHABLE*****************************type:SINGLE Entity Id :2VRRP-A#sh vrrpInterface fastethernet0 (Flags 0x1)Pri-addr : 1.1.1.1Vrf : 0Virtual router : 1Virtual IP address : 1.1.1.10Virtual MAC address : 00-00-5e-00-01-01Depend prefix:1.1.1.1/24State : MasterNormal priority : 200Currnet priority : 200Priority reduced : 0Preempt-mode : YESAdvertise-interval : 1Authentication Mode : NoneTrack object : 1Reduce : 120Reduce state : NOVRRP-A#VRRP-A#sh ip routeCodes: C - connected, S - static, R - RIP, O - OSPF, OE-OSPF External, M - ManagementD - Redirect,E - IRMP, EX - IRMP external, o - SNSP, B - BGP, i-ISISGateway of last resort is 2.1.1.2 to network 0.0.0.0S 0.0.0.0/0 [1/100] via 2.1.1.2, 00:01:29, fastethernet1C 1.1.1.0/24 is directly connected, 01:25:05, fastethernet0C 2.1.1.0/24 is directly connected, 01:25:22, fastethernet1C 127.0.0.0/8 is directly connected, 03:33:16, lo0VRRP-A#从以上状态可以看出,两组RTR的状态都是REACHABLE的。