Cisco路由配置VRRP

复习复习网络相关技术

VRRP全称虚拟冗余路由协议(Virtual Router Redundancy Protocol),与其类似的还有一个叫 HSRP 热备份路由器协议,两者在功能上没有区别,但是 VRRP 是一个公有的协议,而 HSRP 是思科的私有协议,在安全性上面 VRRP 更有优势,并且如果一个机房有多种不同的厂商的路由器或交换机,配置 VRRP 是最合适的选择。

相关术语

  • VRRP路由器:运行VRRP协议的路由器。该路由器可以是一个或多个虚拟路由器。

  • 虚拟路由器:一个由VRRP协议管理的抽象对象,作为一个共享LAN内主机的缺省路由器。它由一个虚拟路由器标识符(VRID)和同一LAN中一组关联IP地址组成。一个VRRP路由器可以备份一个或多个虚拟路由器。

  • IP地址所有者:将局域网的接口地址作为虚拟路由器的IP地址的路由器。当运行时,该路由器将响应寻址到该IP地址的数据包。

  • 主虚拟路由器:该VRRP路由器将承担下列任务:转发那些寻址到与虚拟路由器关联的IP地址的数据包,应答对该IP地址的ARP请求。注意,如果存在IP地址所有者,那么该所有者总是主虚拟路由器。

  • 备份虚拟路由器:一组可用的VRRP路由器,当主虚拟路由器失效后将承担主虚拟路由器的转发功能。

VRRP 的工作机制

VRRP把在同一个广播域中的多个路由器接口编为一组,形成一个虚拟路由器,并为其分配一个IP地址,作为虚拟路由器的接口地址。虚拟路由器的接口地址既可以是其中一个路由器接口的地址,也可以是第三方地址。
  如果使用路由器的接口地址作为VRRP虚拟地址,则拥有这个IP地址的路由器作为主用路由器,其他路由器作为备份。如果采用第三方地址,则优先级高的路由器成为主用路由器;如果两路由器优先级相同,则谁先发VRRP报文,谁就成为主用。

只有当这个VRRP组中所有的路由器都不能正常工作时,该域中的主机才不能与外界通信。
  但是,又有这样一个问题出现,如果VRRP组中主用路由器的上行链路断开,它的状态是不会改变的,还是Master,此时该域中的主机路由还是走此路由器,但因为其上行链路断开,导致该域的主机无法正常与外界通信。因此,在VRRP中增加上行链路状态检测,来解决此问题。
  配置一个VRRP组跟踪某个track的链路状态,如果该接口状态从up变为down,则主动降低优先级,相反如果从down变化up,则主动升高优先级,以加快VRRP的主备竞选。
  我们还可以将这些路由器编为多个组,使它们互为备份,域中的主机使用不同的IP地址作为网关,这样可以实现数据的负载均衡。

拓扑图

#IP配置

IOU1

IOU1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
IOU1(config)#int e0/0
IOU1(config-if)#ip add 11.1.100.2 255.255.255.0
IOU1(config-if)#no sh
*Jul  3 21:40:42.679: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to up
*Jul  3 21:40:43.681: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to up
IOU1(config)#int e0/1
IOU1(config-if)#ip add 12.1.100.2 255.255.255.0
IOU1(config-if)#no sh

IOU2

IOU2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
IOU2(config)#int e0/1
IOU2(config-if)#ip add 10.1.100.22 255.255.255.0
IOU2(config-if)#no shutdown
IOU2(config-if)#
*Jul  3 21:38:12.548: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state to up
*Jul  3 21:38:13.550: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to up
IOU2(config-if)#int e0/0
IOU2(config-if)#ip add 11.1.100.1 255.255.255.0
IOU2(config-if)#no sh
IOU2(config-if)#
*Jul  3 21:38:34.363: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to up
*Jul  3 21:38:35.363: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to up

IOU3

IOU3(config)#int e0/1
IOU3(config-if)#ip add 10.1.100.21 255.255.255.0
IOU3(config-if)#no sh
IOU3(config-if)#int e0/0
IOU3(config-if)#ip add
*Jul  3 21:39:40.063: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state to up
*Jul  3 21:39:41.073: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to up
IOU3(config-if)#ip add 12.1.100.1 255.255.255.0
IOU3(config-if)#no sh
IOU3(config-if)#
*Jul  3 21:39:52.900: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to up
*Jul  3 21:39:53.907: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to up

VRRP配置

1.在接口上设置VRRP的虚拟IP地址,运行VRRP协议。在接口下,配置命令如下:

CISCO(config-if)#vrrp <group> ip<ip-address> [secondary]

其中,加<>为关键字;表示要运行的VRRP的组号,
范围是0~255,在一个接口下可以同时运行多个VRRP组;表示这个VRRP组要设置的虚拟IP地址,这个地址可以和接口地址相同,也可以不是任何一个
接口的地址;[secondary]表示该路由器支持配置多个虚拟IP地址,下挂的主机可以使用其中任意一个作为网关进行通
信。

2.接口上配置VRRP优先级。在接口下,配置命令如下:

CISCO(config-if)#vrrp <group>priority <priority>

其中,加<>为关键字;表示VRRP组号;表示VRRP的优先级的值,范围是1~254,值越大,优
先级越高,缺省为100。
如果VRRP的虚拟IP地址和某个接口地址相同,这个接口的优先级自动设置为255,此路由器必定是主路由器;如果
VRRP的虚拟IP地址和任何一个接口地址都不相同,则根据VRRP优先级来确定哪个路由器是主用路由器,优先级最高者
成为主路由器。

3.VRRP跟踪上行链路状态。在全局模式下,配置命令如下:

CISCO(config)# track <track-num>interface <type-name> line-protocol

track命令用于跟踪接口协议状态的“up”或“down”,当相应接口状态发生变化时,触发与之相关的模块进行变化处理。
  其中,加<>为关键字;表示track的ID号,范围是1~256;表示跟踪接口的接口名称。  

注:目前只提供line-protocol即接口状态的跟踪功能。  

然后在接口模式下,配置以下命令:

CISCO(config-if)# vrrp <group> track <tracknum>[decrement <priority>]

 
配置VRRP组跟踪某个track的链路状态,如果该接口状态从up变为down,则主动降低优先级,相反如果从down变化up,则主动升高优先级,以加快VRRP的主备竞选。
其中,<>字为关键字;表示虚拟路由器的ID号;表示track组的ID号;表示降低优先级的值,范围是1~254,默认为10。
4.配置VRRP通告时间间隔。在接口配置模式下,配置命令:

CISCO(config-if)#vrrp <group> advertise [msec]<interval>

其中,<>字为关键字,msec表示将时间间隔的单位从秒变为毫秒;表示虚拟路由器的ID号,范围是0~255;表示Master发送VRRP通告的时间间隔,单位为秒时的范围为1255;单位为毫秒时的范围1001000,缺省为1秒。
5.配置虚拟设备在备用状态下是否可以抢先。在接口配置模式下,配置命令如下:

CISCO(config-if)#vrrp <group> preempt [delay<seconds>]

其中,<>字为关键字;表示虚拟路由器的ID号,范围是0~255;delay 表示VRRP路由器声明自己为Master的时间延迟(单位:秒),范围0~3600,缺省为0。
  在缺省情况下,可以抢先;如果配置了不可抢
先,则在备用路由器的优先级高于主用路由器时,不
会发生主备倒换。

在路由器配置 vrrp

1.配置 vrrp

IOU2

IOU2(config-if)#vrrp 1 ip 10.1.100.20
IOU2(config-if)#
*Jul  3 21:47:52.835: %VRRP-6-STATECHANGE: Et0/1 Grp 1 state Init -> Backup
*Jul  3 21:47:52.839: %VRRP-6-STATECHANGE: Et0/1 Grp 1 state Init -> Backup
IOU2(config-if)#
*Jul  3 21:47:56.448: %VRRP-6-STATECHANGE: Et0/1 Grp 1 state Backup -> Master

IOU3

IOU3(config-if)#int e0/1
IOU3(config-if)#vrr
IOU3(config-if)#vrrp 1 ip 10.1.100.20
IOU3(config-if)#vrr
*Jul  3 21:50:24.143: %VRRP-6-STATECHANGE: Et0/1 Grp 1 state Init -> Backup
*Jul  3 21:50:24.148: %VRRP-6-STATECHANGE: Et0/1 Grp 1 state Init -> Backup

2.配置优先级

IOU2(config-if)#vrrp 1 priority 254

3.查看 vrrp 信息

IOU2(config)#do sh vrrp all
Ethernet0/1 - Group 1
  State is Master
  Virtual IP address is 10.1.100.20
  Virtual MAC address is 0000.5e00.0101
  Advertisement interval is 1.000 sec
  Preemption enabled
  Priority is 254
  Master Router is 10.1.100.22 (local), priority is 254
  Master Advertisement interval is 1.000 sec
  Master Down interval is 3.007 sec

IOU3(config)#do show vrrp all
Ethernet0/1 - Group 1
  State is Backup
  Virtual IP address is 10.1.100.20
  Virtual MAC address is 0000.5e00.0101
  Advertisement interval is 1.000 sec
  Preemption enabled
  Priority is 100
  Master Router is 10.1.100.22, priority is 254
  Master Advertisement interval is 1.000 sec
  Master Down interval is 3.609 sec (expires in 2.909 sec)

查看状态

IOU2(config)#do sh vrrp brief
Interface          Grp Pri Time  Own Pre State   Master addr     Group addr
Et0/1              1   254 3007       Y  Master  10.1.100.22     10.1.100.20

IOU3#sh vrrp brief
    Interface          Grp Pri Time  Own Pre State   Master addr     Group addr
    Et0/1              1   100 3609       Y  Backup  10.1.100.22     10.1.100.20

断开 master 接口

IOU2(config-if)#shutdown

发现备用路由器已经成为master 了

IOU3#
*Jul  3 21:56:24.916: %VRRP-6-STATECHANGE: Et0/1 Grp 1 state Backup -> Master

端口后端口状态会由 master 变为 init

IOU2(config-if)#do sh vrrp br
Interface          Grp Pri Time  Own Pre State   Master addr     Group addr
Et0/1              1   254 3007       Y  Init    0.0.0.0         10.1.100.20

如果恢复后,会先进入 backup 状态,然后根据优先级选举,优先级高的成为 master

IOU2(config-if)#do sh vrrp br
Interface          Grp Pri Time  Own Pre State   Master addr     Group addr
Et0/1              1   254 3007       Y  Init    0.0.0.0         10.1.100.20
IOU2(config-if)#no sh
IOU2(config-if)#do sh vrrp br
Interface          Grp Pri Time  Own Pre State   Master addr     Group addr
Et0/1              1   254 3007       Y  Backup  0.0.0.0         10.1.100.20
IOU2(config-if)#
*Jul  3 21:59:18.645: %VRRP-6-STATECHANGE: Et0/1 Grp 1 state Init -> Backup
IOU2(config-if)#do sh vrrp br
Interface          Grp Pri Time  Own Pre State   Master addr     Group addr
Et0/1              1   254 3007       Y  Backup  0.0.0.0         10.1.100.20
IOU2(config-if)#do sh vrrp br
Interface          Grp Pri Time  Own Pre State   Master addr     Group addr
Et0/1              1   254 3007       Y  Backup  0.0.0.0         10.1.100.20
IOU2(config-if)#do sh vrrp br
*Jul  3 21:59:20.649: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state to up
*Jul  3 21:59:21.655: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to up
*Jul  3 21:59:21.655: %VRRP-6-STATECHANGE: Et0/1 Grp 1 state Backup -> Master
IOU2(config-if)#do sh vrrp br
Interface          Grp Pri Time  Own Pre State   Master addr     Group addr
Et0/1              1   254 3007       Y  Master  10.1.100.22     10.1.100.20