1、VRRP 配置及多备份 VRRP 配置实例中兴通讯数据用服部 钱月玫1 VRRP 概念介绍VRRP 全称是虚拟路由器冗余协议(Virtual Router Redundancy Protocol) 。为了理解VRRP,首先需要确定下列术语: VRRP 路由器:运行 VRRP 协议的路由器。该路由器可以是一个或多个虚拟路由器。 虚拟路由器:一个由 VRRP 协议管理的抽象对象,作为一个共享 LAN 内主机的缺省路由器。它由一个虚拟路由器标识符(VRID)和同一 LAN 中一组关联 IP 地址组成。一个 VRRP 路由器可以备份一个或多个虚拟路由器。 IP 地址所有者:将局域网的接口地址作为虚拟路
2、由器的 IP 地址的路由器。当运行时,该路由器将响应寻址到该 IP 地址的数据包。 主虚拟路由器:该 VRRP 路由器将承担下列任务:转发那些寻址到与虚拟路由器关联的IP 地址的数据包,应答对该 IP 地址的 ARP 请求。注意,如果存在 IP 地址所有者,那么该所有者总是主虚拟路由器。 备份虚拟路由器:一组可用的 VRRP 路由器,当主虚拟路由器失效后将承担主虚拟路由器的转发功能。2 VRRP 的工作机制VRRP 把在同一个广播域中的多个路由器接口编为一组,形成一个虚拟路由器,并为其分配一个 IP 地址,作为虚拟路由器的接口地址。虚拟路由器的接口地址既可以是其中一个路由器接口的地址,也可以是
3、第三方地址。如果使用路由器的接口地址作为 VRRP 虚拟地址,则拥有这个 IP 地址的路由器作为主用路由器,其他路由器作为备份。如果采用第三方地址,则优先级高的路由器成为主用路由器;如果两路由器优先级相同,则谁先发 VRRP 报文,谁就成为主用。如图1所示,在这个广播域中的主机中,把虚拟路由器的 IP 地址设为网关。当主用路由器发生故障时,将在备用路由器中选择优先级最高的路由器接替它的工作,这对于域中的主机来说没有任何影响。只有当这个 VRRP 组中所有的路由器都不能正常工作时,该域中的主机才不能与外界通信。但是,又有这样一个问题出现,如果 VRRP 组中主用路由器的上行链路断开,它的状态是不
4、会改变的,还是 Master,此时该域中的主机路由还是走此路由器,但因为其上行链路断开,导致该域的主机无法正常与外界通信。因此,在 VRRP 中增加上行链路状态检测,来解决此问题。配置一个 VRRP 组跟踪某个 track 的链路状态,如果该接口状态从 up 变为 down,则主动降低优先级,相反如果从 down 变化 up,则主动升高优先级,以加快 VRRP 的主备竞选。我们还可以将这些路由器编为多个组,使它们互为备份,域中的主机使用不同的 IP 地址作为网关,这样可以实现数据的负载均衡。3 典型拓扑3.1 基本 VRRP 配置拓扑图如图2所示,DUT1和 DUT2之间运行 VRRP 协议。
5、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 配置中,每台路由器配置为一个虚拟路由器的主用路由器,同时又作为其它虚拟路由器的备用路由器,一旦主用路由器出故障
6、,其中一台备用路由器将接管该虚拟路由器的 IP 地址。在这种 VRRP 配置中,每台主用路由器均有一个以上的备用路由器,因此,需要对这些备用路由器定义优先级,以便当主用路由器出故障时,拥有次最高优先级的路由器接替工作。如果拥有次最高优先级的路由器不止一个,则拥有最高 IP 地址号码的路由器成为主用路由器。4 VRRP 配置4.1 VRRP 基本配置(1)在接口上设置 VRRP 的虚拟 IP 地址,运行 VRRP 协议。在接口下,配置命令如下:ZXR10(config-if)#vrrp ip secondary其中,加粗字为关键字;表示要运行的 VRRP 的组号, 范围是0255,在一个接口下可
7、以同时运行多个 VRRP 组;表示这个 VRRP 组要设置的虚拟 IP 地址,这个地址可以和接口地址相同,也可以不是任何一个接口的地址;secondary表示该路由器支持配置多个虚拟 IP 地址,下挂的主机可以使用其中任意一个作为网关进行通信。(2)接口上配置 VRRP 优先级。在接口下,配置命令如下:ZXR10(config-if)#vrrp priority 其中,加粗字为关键字;表示 VRRP 组号;表示 VRRP 的优先级的值,范围是1254,值越大,优先级越高,缺省为100。如果 VRRP 的虚拟 IP 地址和某个接口地址相同,这个接口的优先级自动设置为255,此路由器必定是主路由器
8、;如果VRRP 的虚拟 IP 地址和任何一个接口地址都不相同,则根据 VRRP 优先级来确定哪个路由器是主用路由器,优先级最高者成为主路由器。(3)VRRP 跟踪上行链路状态。在全局模式下,配置命令如下:ZXR10(config)# track interface line-protocoltrack 命令用于跟踪接口协议状态的“up” 或“down”,当相应接口状态发生变化时,触发与之相关的模块进行变化处理。其中,加粗字为关键字;表示 track 的 ID 号,范围是1256;表示跟踪接口的接口名称。注:目前只提供 line-protocol 即接口状态的跟踪功能。然后在接口模式下,配置以下
9、命令:ZXR10(config-if)# vrrp track decrement 配置 VRRP 组跟踪某个 track 的链路状态,如果该接口状态从 up 变为 down,则主动降低优先级,相反如果从 down 变化 up,则主动升高优先级,以加快 VRRP 的主备竞选。其中, 加粗字为关键字;表示虚拟路由器的 ID 号;表示 track组的 ID 号;表示降低优先级的值,范围是1254,默认为10。(4)配置 VRRP 通告时间间隔。在接口配置模式下,配置命令:ZXR10(config-if)#vrrp advertise msec其中,粗体字为关键字,msec 表示将时间间隔的单位从秒
10、变为毫秒;表示虚拟路由器的 ID 号,范围是0255;表示 Master 发送 VRRP 通告的时间间隔,单位为秒时的范围为1255;单位为毫秒时的范围1001000,缺省为1秒。(5)配置虚拟设备在备用状态下是否可以抢先。在接口配置模式下,配置命令如下:ZXR10(config-if)#vrrp preempt delay其中,粗体字为关键字;表示虚拟路由器的 ID 号,范围是0255;delay 表示 VRRP 路由器声明自己为 Master 的时间延迟(单位:秒) ,范围03600,缺省为0。在缺省情况下,可以抢先;如果配置了不可抢先,则在备用路由器的优先级高于主用路由器时,不会发生主备
11、倒换。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)如果备
12、用路由器在一段时间内未收到来自主用路由器的“keep-alive”广告,便自动转换到主用状态,并将自己广告出去(缺省为3.6s ) 。备用路由器等待时间计算公式如下:备用路由器等待时间= 3 广告发送间隔( 256优先级)/256其中优先级是指备用路由器配置的优先级。(4) “Preempt Mode”表示新加入的 VRRPRoute 如果优先级高于当前的 Master,可以强占 Master 地位。所以“IP 地址拥有者”重启后仍能回到 Master 的位置。(5)如果主用路由器被人为重启或接口被人为地关闭,它将发送特殊的“keep-alive”广告,告知备用路由器,急需新的主用路由器。(6
13、)虚拟路由器在响应客户机的 ARP 请求时,返回一个特别的虚拟 MAC 地址,主控路由器负责对 ARP 请求用该 MAC 地址做应答。这样,无论如何切换,保证给客户机的是唯一的 IP和 MAC 地址。此虚拟 MAC 地址取决于虚拟路由器 ID。虚拟 MAC 地址 = 00005E:0001XX (XX 为虚拟路由器 ID)(7)若多个虚拟路由器在某个接口上创建,则每个虚拟路由器必须有唯一的标识符;如果虚拟路由器在不同接口上创建,用户可以重复使用虚拟路由器的 ID4.3 基本 VRRP 配置实例如图2所示,VRRP 组的虚拟地址是20.1.1.1,DUT1是主用路由器,其下行 IP 是20.1.
14、1.1,其优先级默认为255;DUT2作为备用,其下行 IP 是20.1.1.2,优先级设为200;两台路由器上都设置 track,降低优先级的值设为100;在 R1上配置LOOPBACK 地址,PC 设置相应的网关,即可 ping 通 R1的 LOOPBACK 地址,具体配置如下。DUT1的配置如下:ZXR10(config)#interface fei_1/1ZXR10(config-if)#ip address 10.1.1.1255.255.255.252ZXR10(config-if)#exitZXR10(config)#interface fei_1/2ZXR10(config-i
15、f)#ip address 20.1.1.1255.255.255.0ZXR10(config-if)#vrrp 1 ip 20.1.1.1ZXR10(config-if)#vrrp 1 track 1decrement 100ZXR10(config-if)#exitZXR10(config)#router ospf 1ZXR10(config-router)#network 10.1.1.00.0.0.3 areaZXR10(config-router)#network 20.1.1.00.0.0.255 area 0ZXR10(config-router)#exitZXR10(confi
16、g)#track 1 interface fei_1/1line-protocolDUT2的配置如下:ZXR10(config)#interface fei_1/1ZXR10(config-if)#ip address 10.1.1.5255.255.255.252ZXR10(config-if)#exitZXR10(config)#interface fei_1/2ZXR10(config-if)#ip address 20.1.1.2255.255.255.0ZXR10(config-if)#vrrp 1 ip 20.1.1.1ZXR10(config-if)#vrrp 1 priorit
17、y 200ZXR10(config-if)#vrrp 1 track 1decrement 100ZXR10(config-if)#exitZXR10(config)#router ospf 1ZXR10(conf ig- router )#network10.1.1.4 0.0.0.3 areaZXR10(conf ig- router )#network20.1.1.0 0.0.0.255 area 0ZXR10(config-router)#exitZXR10(config)#track 1 interfacefei_1/1 line-protocolR1的配置如下:ZXR10(conf
18、ig)#interface loopback1ZXR10(config-if)#ip address 1.1.1.1255.255.255.255ZXR10(config-if)#exitZXR10(config)#interface fei_1/1ZXR10(config-if)#ip address 10.1.1.2255.255.255.252ZXR10(config-if)#exitZXR10(config)#interface fei_1/2ZXR10(config-if)#ip address 10.1.1.6255.255.255.252ZXR10(config-if)#exit
19、ZXR10(config)#router ospf 1ZXR10(conf ig- router )#network10.1.1.0 0.0.0.3 area 0ZXR10(conf ig- router )#network10.1.1.4 0.0.0.3 area 0ZXR10(config-router)# redistributeconnectedZXR10(config-router)#exit4.4 对称 VRRP 配置实例如图3所示,此实例配置两组 VRRP,PC1和 PC2为一组,使用网关20.1.1.1,PC3和 PC4为另一组,使用网关20.1.1.2。在 R1上配置 LOO
20、PBACK 地址,PC 设置相应的网关,即可 ping 通 R1的 LOOPBACK 地址,具体配置如下。DUT1的配置如下:ZXR10(config)#interface fei_1/1ZXR 1 0 ( c o n f i g - i f ) # i p a d d r e s s 1 0 . 1 . 1 . 1255.255.255.252ZXR10(config-if)#exitZXR10(config)#interface fei_1/2ZXR10(config-if)#ip address 20.1.1.1 255.255.255.0ZXR10(config-if)#vrrp 1
21、ip 20.1.1.1ZXR10(config-if)#vrrp 2 ip 20.1.1.2ZXR10(config-if)#exitZXR10(config)#router ospf 1ZXR10(config-router)#network 10.1.1.0 0.0.0.3 area 0ZXR10(config-router)#network 20.1.1.0 0.0.0.255area 0ZXR10(config-router)#exitDUT2的配置如下:ZXR10(config)#interface fei_1/1ZXR 1 0 ( c o n f i g - i f ) # i p
22、 a d d r e s s 1 0 . 1 . 1 . 5255.255.255.252ZXR10(config-if)#exitZXR10(config)#interface fei_1/2ZXR10(config-if)#ip address 20.1.1.2 255.255.255.0ZXR10(config-if)#vrrp 1 ip 20.1.1.1ZXR10(config-if)#vrrp 2 ip 20.1.1.2ZXR10(config-if)#exitZXR10(config)#router ospf 1ZXR10(config-router)#network 10.1.1
23、.4 0.0.0.3 area 0ZXR10(config-router)#network 20.1.1.0 0.0.0.255area 0ZXR10(config-router)#exitR1的配置如下:ZXR10(config)#interface loopback1ZXR10(config-if)#ip address 1.1.1.1 255.255.255.255ZXR10(config-if)#exitZXR10(config)#interface fei_1/1ZXR10(config-if)#ip address 10.1.1.2 255.255.255.252ZXR10(con
24、fig-if)#exitZXR10(config)#interface fei_1/2ZXR10(config-if)#ip address 10.1.1.6 255.255.255.252ZXR10(config-if)#exitZXR10(config)#router ospf 1ZXR10(config-router)#network 10.1.1.0 0.0.0.3 area oZXR10(config-router)#network 10.1.1.4 0.0.0.3 area 0ZXR10(config-router)# redistribute connectedZXR10(con
25、fig-router)#exit4.5 多备份 VRRP 配置实例如图4所示,先规划一下配置,如下。DUT1的配置如下:ZXR10(config)#interface fei_1/1ZXR1 0 ( c o n f i g - i f ) # i p a d d r e s s 1 0 . 1 . 1 . 1255.255.255.252ZXR10(config-if)#exitZXR10(config)#interface fei_1/2ZXR10(config-if)#ip address 20.1.1.1 255.255.255.0ZXR10(config-if)#vrrp 1 ip 20.1.1.1ZXR10(config-if)#vrrp 2 ip 20.1.1.2ZXR10(config-if)#vrrp 3 ip 20.1.1.3ZXR10(config-if)#vrrp 2 priority 200ZXR10(config-if)#vrrp 3 priority 200ZXR10(config-if)#exitZXR10(config)#router ospf 1ZXR10( conf ig- rout e r )#ne twork10.1.1.0 0.0.0.3 area 0ZXR10( conf ig- rout e r )#ne twork