VRRP配置及多备份VRRP配置实例
中兴通讯数据用服部 钱月玫
1 VRRP概念介绍
VRRP全称是虚拟路由器冗余协议(Virtual Router Redundancy Protocol)。为了理解VRRP,首先需要确定下列术语:
● VRRP路由器:运行VRRP协议的路由器。该路由器可以是一个或多个虚拟路由器。
● 虚拟路由器:一个由VRRP协议管理的抽象对象,作为一个共享LAN内主机的缺省路由器。它由一个虚拟路由器标识符(VRID)和同一LAN中一组关联IP地址组成。一个VRRP路由器可以备份一个或多个虚拟路由器。
● IP地址所有者:将局域网的接口地址作为虚拟路由器的IP地址的路由器。当运行时,该路由器将响应寻址到该IP地址的数据包。
● 主虚拟路由器:该VRRP路由器将承担下列任务:转发那些寻址到与虚拟路由器关联的IP地址的数据包,应答对该IP地址的ARP请求。注意,如果存在IP地址所有者,那么该所有者总是主虚拟路由器。
● 备份虚拟路由器:一组可用的VRRP路由器,当主虚拟路由器失效后将承担主虚拟路由器的转发功能。
2 VRRP的工作机制
VRRP把在同一个广播域中的多个路由器接口编为一组,形成一个虚拟路由器,并为其分配一个IP地址,作为虚拟路由器的接口地址。虚拟路由器的接口地址既可以是其中一个路由器接口的地址,也可以是第三方地址。
如果使用路由器的接口地址作为VRRP虚拟地址,则拥有这个IP地址的路由器作为主用路由器,其他路由器作为备份。如果采用第三方地址,则优先级高的路由器成为主用路由器;如果两路由器优先级相同,则谁先发VRRP报文,谁就成为主用。
如图1所示,在这个广播域中的主机中,把虚拟路由器的IP地址设为网关。当主用路由器发生故障时,将在备用路由器中选择优先级最高的路由器接替它的工作,这对于域中的主机来说没有任何影响。
只有当这个VRRP组中所有的路由器都不能正常工作时,该域中的主机才不能与外界通信。
但是,又有这样一个问题出现,如果VRRP组中主用路由器的上行链路断开,它的状态是不会改变的,还是Master,此时该域中的主机路由还是走此路由器,但因为其上行链路断开,导致该域的主机无法正常与外界通信。因此,在VRRP中增加上行链路状态检测,来解决此问题。
配置一个VRRP组跟踪某个track的链路状态,如果该接口状态从up变为down,则主动降低优先级,相反如果从down变化up,则主动升高优先级,以加快VRRP的主备竞选。
我们还可以将这些路由器编为多个组,使它们互为备份,域中的主机使用不同的IP地址作为网关,这样可以实现数据的负载均衡。
3 典型拓扑
3.1 基本VRRP配置拓扑图
如图2所示,DUT1和DUT2之间运行VRRP协议。VRRP虚拟地址选DUT1的接口地址20.1.1.1,DUT1将作为主用路由器。
3.2 对称VRRP配置网络拓扑图
如图3所示,本例中启动两个VRRP组,其中PC1和PC2使用组1的虚拟路由器作为默认网关,地址为20.1.1.1;而PC3和PC4则使用组2的虚拟路由器作为默认网关,地址为20.1.1.2。路由器DUT1和DUT2互为备份,只有当两台路由器全部失效时四台主机与外界的通信才会中断。
3.3 多备份VRRP配置网络拓扑图
如图4所示,在多备份VRRP配置中,每台路由器配置为一个虚拟路由器的主用路由器,同时又作为其它虚拟路由器的备用路由器,一旦主用路由器出故障,其中一台备用路由器将接管该虚拟路由器的IP地址。
在这种VRRP配置中,每台主用路由器均有一个以上的备用路由器,因此,需要对这些备用路由器定义优先级,以便当主用路由器出故障时,拥有次最高优先级的路由器接替工作。如果拥有次最高优先级的路由器不止一个,则拥有最高IP地址号码的路由器成为主用路由器。
4 VRRP配置
4.1 VRRP基本配置
(1)在接口上设置VRRP的虚拟IP地址,运行VRRP协议。
在接口下,配置命令如下:
ZXR10(config-if)#vrrp
ip [secondary]
其中,加粗字为关键字;表示要运行的VRRP的组号, 范围是0~255,在一个接口下可以同时运行多个VRRP组;表示这个VRRP组要设置的虚拟IP地址,这个地址可以和接口地址相同,也可以不是任何一个
接口的地址;[secondary]表示该路由器支持配置多个虚拟IP地址,下挂的主机可以使用其中任意一个作为网关进行通
信。
(2)接口上配置VRRP优先级。
在接口下,配置命令如下:
ZXR10(config-if)#vrrp priority
其中,加粗字为关键字;表示VRRP组号;表示VRRP的优先级的值,范围是1~254,值越大,优
先级越高,缺省为100。
如果VRRP的虚拟IP地址和某个接口地址相同,这个接口的优先级自动设置为255,此路由器必定是主路由器;如果
VRRP的虚拟IP地址和任何一个接口地址都不相同,则根据VRRP优先级来确定哪个路由器是主用路由器,优先级最高者
成为主路由器。
(3)VRRP跟踪上行链路状态。
在全局模式下,配置命令如下:
ZXR10(config)# track interface line-protocol
track命令用于跟踪接口协议状态的“up”或“down”,当相应接口状态发生变化时,触发与之相关的模块进行变化处理。
其中,加粗字为关键字;表示track的ID号,范围是1~256;表示跟踪接口的接口名称。
注:目前只提供line-protocol即接口状态的跟踪功能。
然后在接口模式下,配置以下命令:
ZXR10(config-if)# vrrp track [decrement ]
配置VRRP组跟踪某个track的链路状态,如果该接口状态从up变为down,则主动降低优先级,相反如果从down变化up,则主动升高优先级,以加快VRRP的主备竞选。
其中, 加粗字为关键字;表示虚拟路由器的ID号;表示track组的ID号;表示降低优先级的值,范围是1~254,默认为10。
(4)配置VRRP通告时间间隔。
在接口配置模式下,配置命令:
ZXR10(config-if)#vrrp advertise [msec]
其中,粗体字为关键字,msec表示将时间间隔的单位从秒变为毫秒;表示虚拟路由器的ID号,范围是0~255;表示Master发送VRRP通告的时间间隔,单位为秒时的范围为1~255;单位为毫秒时的范围100~1000,缺省为1秒。
(5)配置虚拟设备在备用状态下是否可以抢先。
在接口配置模式下,配置命令如下:
ZXR10(config-if)#vrrp preempt [delay]
其中,粗体字为关键字;表示虚拟路由器的ID号,范围是0~255;delay 表示VRRP路由器声明自己为Master的时间延迟(单位:秒),范围0~3600,缺省为0。
在缺省情况下,可以抢先;如果配置了不可抢
先,则在备用路由器的优先级高于主用路由器时,不
会发生主备倒换。
4.2 配置注意事项
(1)主用路由器总是发送“keep-alive”广告,其频率取决于广告发送间隔参数的值,缺省为1秒。
( 2 ) 每个V R R P 路由器有一个优先级(1-255)。
如果某一路由器拥有虚拟路由器的IP地址,则此虚拟路由器的优先级为255,且不可改变。若不是该虚拟路由器的IP地址拥有者,其缺省优先级的值为100,用户可对此进行更改,priority高者为Master。Master重启或接口shutdown时,将其priority置0,表示放弃Master地位,Backup开始竟选新的Master(缺省0.6s后开始通告)。
(3)如果备用路由器在一段时间内未收到来自主用路由器的“keep-alive”广告,便自动转换到主用状态,并将自己广告出去(缺省为3.6s )。
备用路由器等待时间计算公式如下:
备用路由器等待时间= 3 × 广告发送间隔+(256-优先级)/256其中优先级是指备用路由器配置的优先级。
(4)“Preempt Mode”表示新加入的VRRP
Route如果优先级高于当前的Master,可以强占Master地位。所以“IP地址拥有者”重启后仍能回到Master的位置。
(5)如果主用路由器被人为重启或接口被人为地关闭,它将发送特殊的“keep-alive”广告,告知备用路由器,急需新的主用路由器。
(6)虚拟路由器在响应客户机的ARP请求时,返回一个特别的虚拟MAC地址,主控路由器负责对ARP请求用该MAC地址做应答。这样,无论如何切换,保证给客户机的是唯一的IP和MAC地址。此虚拟MAC地址取决于虚拟路由器ID。虚拟MAC地址 = 00005E:0001XX (XX为虚拟路由器ID)
(7)若多个虚拟路由器在某个接口上创建,则每个虚拟路由器必须有唯一的标识符;如果虚拟路由器在不同接口上创建,用户可以重复使用虚拟路由器的ID
4.3 基本VRRP配置实例
如图2所示,VRRP组的虚拟地址是20.1.1.1,DUT1是主用路由器,其下行IP是20.1.1.1,其优先级默认为255;DUT2
作为备用,其下行IP是20.1.1.2,优先级设为200;两台路由器上都设置track,降低优先级的值设为100;在R1上配置
LOOPBACK地址,PC设置相应的网关,即可ping通R1的LOOPBACK地址,具体配置如下。
DUT1的配置如下:
ZXR10(config)#interface fei_1/1
ZXR10(config-if)#ip address 10.1.1.1
255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/2
ZXR10(config-if)#ip address 20.1.1.1
255.255.255.0
ZXR10(config-if)#vrrp 1 ip 20.1.1.1
ZXR10(config-if)#vrrp 1 track 1
decrement 100
ZXR10(config-if)#exit
ZXR10(config)#router ospf 1
ZXR10(config-router)#network 10.1.1.0
0.0.0.3 area
ZXR10(config-router)#network 20.1.1.0
0.0.0.255 area 0
ZXR10(config-router)#exit
ZXR10(config)#track 1 interface fei_1/1
line-protocol
DUT2的配置如下:
ZXR10(config)#interface fei_1/1
ZXR10(config-if)#ip address 10.1.1.5
255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/2
ZXR10(config-if)#ip address 20.1.1.2
255.255.255.0
ZXR10(config-if)#vrrp 1 ip 20.1.1.1
ZXR10(config-if)#vrrp 1 priority 200
ZXR10(config-if)#vrrp 1 track 1
decrement 100
ZXR10(config-if)#exit
ZXR10(config)#router ospf 1
ZXR10(conf ig- router )#network
10.1.1.4 0.0.0.3 area
ZXR10(conf ig- router )#network
20.1.1.0 0.0.0.255 area 0
ZXR10(config-router)#exit
ZXR10(config)#track 1 interface
fei_1/1 line-protocol
R1的配置如下:
ZXR10(config)#interface loopback1
ZXR10(config-if)#ip address 1.1.1.1
255.255.255.255
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/1
ZXR10(config-if)#ip address 10.1.1.2
255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/2
ZXR10(config-if)#ip address 10.1.1.6
255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#router ospf 1
ZXR10(conf ig- router )#network
10.1.1.0 0.0.0.3 area 0
ZXR10(conf ig- router )#network
10.1.1.4 0.0.0.3 area 0
ZXR10(config-router)# redistribute
connected
ZXR10(config-router)#exit
4.4 对称VRRP配置实例
如图3所示,此实例配置两组VRRP,PC1和PC2为一组,使用网关20.1.1.1,PC3和PC4为另一组,使用网关20.1.1.2。在R1上配置LOOPBACK地址,PC设置相应的网关,即可ping通R1的LOOPBACK地址,具体配置如下。
DUT1的配置如下:
ZXR10(config)#interface fei_1/1
ZXR 1 0 ( c o n f i g - i f ) # i p a d d r e s s 1 0 . 1 . 1 . 1
255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/2
ZXR10(config-if)#ip address 20.1.1.1 255.255.255.0
ZXR10(config-if)#vrrp 1 ip 20.1.1.1
ZXR10(config-if)#vrrp 2 ip 20.1.1.2
ZXR10(config-if)#exit
ZXR10(config)#router ospf 1
ZXR10(config-router)#network 10.1.1.0 0.0.0.3 area 0
ZXR10(config-router)#network 20.1.1.0 0.0.0.255
area 0
ZXR10(config-router)#exit
DUT2的配置如下:
ZXR10(config)#interface fei_1/1
ZXR 1 0 ( c o n f i g - i f ) # i p a d d r e s s 1 0 . 1 . 1 . 5
255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/2
ZXR10(config-if)#ip address 20.1.1.2 255.255.255.0
ZXR10(config-if)#vrrp 1 ip 20.1.1.1
ZXR10(config-if)#vrrp 2 ip 20.1.1.2
ZXR10(config-if)#exit
ZXR10(config)#router ospf 1
ZXR10(config-router)#network 10.1.1.4 0.0.0.3 area 0
ZXR10(config-router)#network 20.1.1.0 0.0.0.255
area 0
ZXR10(config-router)#exit
R1的配置如下:
ZXR10(config)#interface loopback1
ZXR10(config-if)#ip address 1.1.1.1 255.255.255.255
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/1
ZXR10(config-if)#ip address 10.1.1.2 255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/2
ZXR10(config-if)#ip address 10.1.1.6 255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#router ospf 1
ZXR10(config-router)#network 10.1.1.0 0.0.0.3 area o
ZXR10(config-router)#network 10.1.1.4 0.0.0.3 area 0
ZXR10(config-router)# redistribute connected
ZXR10(config-router)#exit
4.5 多备份VRRP配置实例
如图4所示,先规划一下配置,如下。
DUT1的配置如下:
ZXR10(config)#interface fei_1/1
ZXR1 0 ( c o n f i g - i f ) # i p a d d r e s s 1 0 . 1 . 1 . 1
255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/2
ZXR10(config-if)#ip address 20.1.1.1 255.255.255.0
ZXR10(config-if)#vrrp 1 ip 20.1.1.1
ZXR10(config-if)#vrrp 2 ip 20.1.1.2
ZXR10(config-if)#vrrp 3 ip 20.1.1.3
ZXR10(config-if)#vrrp 2 priority 200
ZXR10(config-if)#vrrp 3 priority 200
ZXR10(config-if)#exit
ZXR10(config)#router ospf 1
ZXR10( conf ig- rout e r )#ne twork
10.1.1.0 0.0.0.3 area 0
ZXR10( conf ig- rout e r )#ne twork
20.1.1.0 0.0.0.255 area 0
ZXR10(config-router)#exit
DUT2的配置如下:
ZXR10(config)#interface fei_1/1
ZXR10(config-if)#ip address 10.1.1.5
255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/2
ZXR10(config-if)#ip address 20.1.1.2
255.255.255.0
ZXR10(config-if)#vrrp 1 ip 20.1.1.1
ZXR10(config-if)#vrrp 2 ip 20.1.1.2
ZXR10(config-if)#vrrp 3 ip 20.1.1.3
ZXR10(config-if)#vrrp 1 priority 200
ZXR10(config-if)#vrrp 3 priority 100
ZXR10(config-if)#exit
ZXR10(config)#router ospf 1
ZXR10( conf ig- rout e r )#ne twork
10.1.1.4 0.0.0.3 area 0
ZXR10( conf ig- rout e r )#ne twork
20.1.1.0 0.0.0.255 area 0
ZXR10(config-router)#exit
DUT3的配置如下:
ZXR10(config)#interface fei_1/1
ZXR10(config-if)#ip address 10.1.1.9
255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/2
ZXR10(config-if)#ip address 20.1.1.3
255.255.255.0
ZXR10(config-if)#vrrp 1 ip 20.1.1.1
ZXR10(config-if)#vrrp 2 ip 20.1.1.2
ZXR10(config-if)#vrrp 3 ip 20.1.1.3
ZXR10(config-if)#vrrp 1 priority 100
ZXR10(config-if)#vrrp 2 priority 100
ZXR10(config-if)#exit
ZXR10(config)#router ospf 1
ZXR10( conf ig- rout e r )#ne twork
10.1.1.8 0.0.0.3 area 0
ZXR10( conf ig- rout e r )#ne twork
20.1.1.0 0.0.0.255 area 0
ZXR10(config-router)#exit
R1的配置如下:
ZXR10(config)#interface loopback1
ZXR10(config-if)#ip address 1.1.1.1
255.255.255.255
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/1
ZXR10(config-if)#ip address 10.1.1.2
255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/2
ZXR10(config-if)#ip address 10.1.1.6
255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/3
ZXR10(config-if)#ip address 10.1.1.10
255.255.255.252
ZXR10(config-if)#exit
ZXR10(config)#router ospf 1
ZXR10(config-router)#network 10.1.1.0
0.0.0.3 area 0
ZXR10(config-router)#network 10.1.1.4
0.0.0.3 area 0
ZXR10(config-router)#network 10.1.1.8 0.0.0.3 area 0
ZXR10(config-router)# redistribute connected
ZXR10(config-router)#exit
5 VRRP的维护与诊断
5.1 显示所有VRRP组的配置信息
显示所有VRRP组的配置信息命令如下:
ZXR10#show vrrp [ | brief | interface | all ]show vrrp:不带参数显示所有有效的VRRP组的配置情况brief:显示VRRP配置的简要信息all:显示所有VRRP组(包括没有配置虚拟地址的组)的配置信息
以基本VRRP配置中的show结果为例,当DUT1上行链路正常时,
DUT1#show vrrp
fei_1/2 - Group 1
State is Master //DUT1为主用路由器
Virtual IP address is 20.1.1.1 //虚拟IP地址
Virtual MAC address is 0000.5e00.0101 //虚拟
MAC地址,其中0000.5e00.01是固定的,最后两位表
示此VRRP的ID值,如此VRRP 1最后两位为01
Advertisement interval is 1.000 sec
Preemption is enabled
min delay is 0.000 sec
Priority is 255 (config 100) //优先级为255,
表示此虚拟IP即为DUT1下行接口地址
Authentication is disabled
Track object 1 decrement 100 //跟踪track1链路状态,如该接口从up变为down,则主动降低优先级,优先级会减少100Master Router is 20.1.1.1 (local), priority is 255
//显示此VRRP主用路由器IP地址以及优先级
Master Advertisement interval is 1.000 sec
Master Down interval is 3.003 sec
DUT2#show vrrp
fei_1/2 - Group 1
State is Backup //DUT2为备用路由器
Virtual IP address is 20.1.1.1 //虚拟IP地址
Virtual MAC address is 0000.5e00.0101 //虚拟
MAC地址
Advertisement interval is 1.000 sec
Preemption is enabled
min delay is 0.000 sec
Priority is 200 (config 200) //优先级为200,小
于DUT1,故此为备用
Authentication is disabled
Track object 1 decrement 100 //跟踪track1链路状态
Master Router is 20.1.1.1 , priority is 255 //显示
此VRRP主用路由器IP地址以及优先级
Master Advertisement interval is 1.000 sec
Master Down interval is 3.218 sec (expires in 2.318sec)
DUT1上行链路断开时,DUT1优先级降低100,即其优先级变为155,DUT2优先级不变,仍为200,故DUT2将成为主用路由器,DUT1成为备用路由器。
DUT1#show vrrp
fei_1/2 - Group 1
State is Backup //DUT1为备用路由器
Virtual IP address is 20.1.1.1
Virtual MAC address is 0000.5e00.0101
Advertisement interval is 1.000 sec
Preemption is enabled
min delay is 0.000 sec
Priority is 155 (config 100) //优先级变为155
Authentication is disabled
Track object 1 decrement 100
Master Router is 20.1.1.2 , priority is 200
Master Advertisement interval is 1.000 sec
Master Down interval is 3.394 sec(expires in 3.194 sec)
DUT2#show vrrp
fei_1/2 - Group 1
State is Master //DUT2为主用路由器
Virtual IP address is 20.1.1.1
Vi r t u a l M A C a d d r e s s i s
0000.5e00.0101
Advertisement interval is 1.000 sec
Preemption is enabled
min delay is 0.000 sec
Priority is 200 (config 200) //优先级变为200,高于DUT1的155
Authentication is disabled
Track object 1 decrement 100
Master Router is 20.1.1.2 (local),
priority is 200
Master Advertisement interval is 1.000sec
Master Down interval is 3.218 sec
5.2 显示track配置信息
用show track []命令显示track的配置信息。
以基本VRRP配置中DUT1的show结果为例:
DUT1#show track
Track 1
Interface fei_1/1 line-protocol
Line protocol is up
6 change, last change 00:44:10
Tracked by :
VRRP fei_1/2 1
● Track 1:Track ID 号
● Interface:该track 跟踪的接口
● Line-protocol:接口链路状态up/down
Change:该接口链路状态变化次数
● Last change:该接口状态上一次变化的时间
● Track by:该track 被哪些模块配置跟踪
● Vrrp fei_1/2 1:被fei_1/2 上vrrp 组1 跟踪
5.3 使用Debug来调试VRRP
使用debug vrrp {state | packet | event | error | all }命令来调试VRRP的运行:ZXR10#debug vrrp {state | packet | event | error | all }
● state:显示有关VRRP状态变化的debug信息
● packet:显示有关VRRP接收和发送协议报文的信息
● event:显示有关触发VRRP发生状态改变的信息
● error:显示有关VRRP接收到错误报文的信息
● all:显示有关VRRP所有debug信息
一个VRRP调试的例子如下:
3952-1#debug vrrp all
VRRP debugging is on
00:54:47: VRRP: Interface vlan2 Grp 1 Advertisement priority 150, ipaddr 10.10.10.3
00:54:47: VRRP: Grp 1 Event - Advert higher or equal priority
00:54:49: VRRP: Interface vlan2 Grp 1 Advertisement priority 150, ipaddr 10.10.10.3
00:54:49: VRRP: Grp 1 Event - Advert higher or equal priority
00:54:58: VRRP: Interface vlan2 Grp 1 sending Advertisement
00:54:58: VRRP: Grp 1 Event - Master down timer expired
00:54:58: VRRP: Grp 1 changing to V_STATE_MASTER
16:34:45 08/18/2007 UTC alarm 22016 occurred %VRRP% Group 1 of vlan2 changing to Master
sent by MCP
00:54:59: VRRP: Interface vlan2 Grp 1 sending Advertisement
00:55:05: VRRP: Interface vlan2 Grp 1 Advertisement priority 150, ipaddr 10.10.10.3
说明:
debug命令的使用可能会影响路由器性能,建议用完后使用no命令将其关闭。
阅读(5040) | 评论(0) | 转发(0) |