<p>在VRRP的应用中,经常要设置VRRP的主备状态需要根据广域网接口的状态决定是否切换,在常用的点到点模式中,使用track再结合keepalive gateway功能就可以实现。但是在比较复杂的点到多点网络模式中,或者需要监控的gateway与广域网接口不在同一个网段时,使用此方法将不能或者无法很好地解决这个问题。</p><p>Environment</p><p>如上图,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来实现这种用户需求。</p><p>实现步骤:</p><p>1,在R1上启用RTR功能</p><p>R1(config)#rtr enable</p><p>2,创建一个ICMPECHO类型的RTR实体</p><p>R1(config)#rtr 1 icmpecho</p><p>R1(config-rtr-icmpecho)#set 10.1.1.1 1 70 2 10 extend 11.1.1.2 0 TRUE FALSE</p><p>R1(config-rtr-icmpecho)#exit</p><p>3,创建一个RTR组,包含上面所创建的RTR实体</p><p>R1(config)#rtr group 1</p><p>R1(config-rtr-group)#member 1</p><p>R1(config-rtr-group)#exit</p><p>4,创建一个TRACK组,包含上面创建的RTR组</p><p>R1(config)#track 1</p><p>R1(config-track)#rtr 1</p><p>R1(config-track)#exit</p><p>5,创建schedule调用RTR组1</p><p>R1(config)#rtr schedule 1 group 1 start now ageout 20 life forever 6,在相应VRRP接口F0下调用TRACK组1</p><p>R1(config)#interface fastethernet0</p><p>R1(config-if-fastethernet0)#vrrp 1 track 1 20</p><p>R1(config-if-fastethernet0)#exit</p><p>R1(config)#end</p><p>以上的相关路由省略。</p><p>结果:</p><p>1,当R1上源地址11.1.1.2到目的地址10.1.1.1可达时,TRACK组1会返回TRUE 给VRRP,这个时候R1是Master,数据流向为:LAN-->R1-->R3-->ISP</p><p>2,当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-->ISP</p><p>3,当R1上源地址11.1.1.2到目的地址10.1.1.1恢复可达时,TRACK组1会返回TRUE给VRRP,这个时候R1在VRRP的实际优先级会恢复为初始值110,R1恢复成为Master,数据流向也恢复为:LAN-->R1-->R3-->ISP</p><p>综上所述,VRRP+TRACK+RTR的方式,解决了VRRP里所TRACK的地址与本地router 不在同一网段而无法使用keepalive gateway的问题。还有一个好处是这种方式不会对接口进行shutdown操作,比较好^_^</p><p>点到多点的情况,非常清晰明了,强烈推荐仔细阅读下面的部分:</p><p>一、网络结构:</p><p>如上图所示:R1和R2作为网点路由器,局域网启VRRP协议,R1的 VRRP状态为Master。R1通过F1口接入运营商ISP1,中心有两台设备作为主备接入ISP1。整个网络使用静态路由。在R1上面有两条默认路由分别指向R3和R4,并且到R3的路由优先。</p><p>上行数据流和备份要求:</p><p>正常情况下数据流:网点->R1->ISP1->R3</p><p>当R3出现故障或者到R3的线路出现故障时,数据流向:网点->R1->ISP1->R4 当R3和R4同时出现故障或者ISP1线路出现故障时,VRRP切换,数据流向:网点->R2->ISP2</p><p>二、需求分析</p><p>要实现上面的需求,需要使用VRRP的track功能,常规的track功能只能监控某一个接口的状态。上面方案中互连都是以太口,F1接口又有两个网关,也就无法使用keepalive gateway功能来实现。要实现上面的需求,需要解决如下两个问题:</p><p>1、如何在R3和R4同时出故障或者ISP1整个线路出现问题后,VRRP才发生切换?</p><p>2、当R3出现故障后,在R1上如何才能使到R4的默认路由生效?</p><p>三、解决办法</p><p>通过VRRP+track+RTR的方式来实现。</p><p>在VRRP的track设置中,除了track某个接口的状态外,还可以track一个组,在一个track组里面可以监控多个对象,其中就包含RTR的状态,RTR可以分别检测到两个上端设备R3和R4是否可达。最后track组将这些监控对象的综合状态反馈给VRRP模块。具体实现步骤如下:</p><p>1、在R1上配置两个rtr的icmpecho实体分别检测到两个上端设备是否可达,再配置两个rtr组分别包含这两个rtr实体。</p><p>2、配置一个track,包含这两个rtr组(注:在track组中只能关联rtr组),track组中采用或关系。</p><p>3、配置vrrp+track,只有两个rtr组都检测不到上端设备时,track才返回false,触发vrrp切换。</p><p>以上解决了上面提到的第一个问题,根据上面的方法,第二个问题也就容易了。在R1上再配置两个track组,分别关联一个rtr组,在R1上面的两条默认路由后面加上track组就可以实现了。</p><p>四、配置实例</p><p>1、配置RTR实体:</p><p>rtr 1 icmpecho</p><p>set 2.1.1.2 2 70 1 5 extend 2.1.1.1 0 TRUE FALSE</p><p>log type local 100</p><p>exit</p><p>rtr 2 icmpecho</p><p>set 2.1.1.3 2 70 1 5 extend 2.1.1.1 0 TRUE FALSE</p><p>log type local 100</p><p>exit</p><p>上面配置中建立两个icmpecho类型的RTR实体,实体的内容为以源地址为</p>
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/154262.html