实操一 VRRP 单臂实验
图解配置
查看VRRP 详细信息
查看VRRP的接口状态
VRRPV3
(1) 配置Router A
1 配置接口IPv6地址。
[RouterA-GigabitEthernet1/0/1] ipv6 address fe80::1 link-local
[RouterA-GigabitEthernet1/0/1] ipv6 address 1::1 64
2创建备份组1,并配置备份组1的虚拟IPv6地址为FE80::10和1::10。
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip fe80::10 link-local
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip 1::10
3 配置Router A在备份组1中的优先级为110,高于Router B的优先级100,以保证Router A成为Master负责转发流量。
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 priority 110
4 配置Router A工作在抢占方式,以保证Router A故障恢复后,能再次抢占成为Master,即只要Router A正常工作,就由Router A负责转发流量。为了避免频繁地进行状态切换,配置抢占延迟时间为5000厘秒。
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 preempt-mode delay 5000
5 配置允许发布RA消息,以便Host A通过RA消息学习到缺省网关地址。
[RouterA-GigabitEthernet1/0/1] undo ipv6 nd ra halt
(2) 配置Router B
1 配置接口IPv6地址。
[RouterB-GigabitEthernet1/0/1] ipv6 address fe80::2 link-local
[RouterB-GigabitEthernet1/0/1] ipv6 address 1::2 64
2创建备份组1,并配置备份组1的虚拟IPv6地址为FE80::10和1::10。
[RouterB-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip fe80::10 link-local
[RouterB-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip 1::10
3 配置Router B工作在抢占方式,抢占延迟时间为5000厘秒。
[RouterB-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 preempt-mode delay 5000
4 配置允许发布RA消息,以便Host A通过RA消息学习到缺省网关地址。
[RouterB-GigabitEthernet1/0/1] undo ipv6 nd ra halt
4. 验证配置
配置完成后,在Host A上可以ping通Host B。通过display vrrp ipv6 verbose命令查看配置后的结果。
# 显示Router A上备份组1的详细信息。
[RouterA-GigabitEthernet1/0/1] display vrrp ipv6 verbose
实操二 多个VRRP组
Mater
Backup
脚本
主设备脚本
interface GigabitEthernet0/0
port link-mode route
combo enable copper
ip address 10.1.1.1 255.255.255.0
vrrp vrid 1 virtual-ip 10.1.1.111
vrrp vrid 1 priority 110
vrrp vrid 1 preempt-mode delay 5000
vrrp vrid 2 virtual-ip 10.1.1.112
备设备脚本
interface GigabitEthernet0/0
port link-mode route
combo enable copper
ip address 10.1.1.2 255.255.255.0
vrrp vrid 1 virtual-ip 10.1.1.111
vrrp vrid 1 preempt-mode delay 5000
vrrp vrid 2 virtual-ip 10.1.1.112
vrrp vrid 2 priority 110
vrrp vrid 2 preempt-mode delay 5000
#
# 配置接口IPv6地址。
<RouterA> system-view
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] ipv6 address fe80::1 link-local
[RouterA-GigabitEthernet1/0/1] ipv6 address 1::1 64
# 创建备份组1,并配置备份组1的虚拟IPv6地址为FE80::10和1::10。
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip fe80::10 link-local
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip 1::10
# 设置Router A在备份组1中的优先级为110,高于Router B的优先级100,以保证在备份组1中Router A成为Master负责转发流量。
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 priority 110
# 创建备份组2,并配置备份组2的虚拟IPv6地址为FE80::20和1::20。
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 2 virtual-ip fe80::20 link-local
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 2 virtual-ip 1::20
# 配置接口IPv6地址。
<RouterB> system-view
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] ipv6 address fe80::2 link-local
[RouterB-GigabitEthernet1/0/1] ipv6 address 1::2 64
# 创建备份组1,并配置备份组1的虚拟IPv6地址为FE80::10和1::10。
[RouterB-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip fe80::10 link-local
[RouterB-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip 1::10
# 创建备份组2,并配置备份组2的虚拟IPv6地址为FE80::20和1::20。
[RouterB-GigabitEthernet1/0/1] vrrp ipv6 vrid 2 virtual-ip fe80::20 link-local
[RouterB-GigabitEthernet1/0/1] vrrp ipv6 vrid 2 virtual-ip 1::20
# 设置Router B在备份组2中的优先级为110,高于Router A的优先级100,以保证在备份组2中Router B成为Master负责转发流量。
[RouterB-GigabitEthernet1/0/1] vrrp ipv6 vrid 2 priority 110
4. 验证配置
可以通过display vrrp ipv6 verbose命令查看配置后的结果。
- [RouterA-GigabitEthernet1/0/1] display vrrp ipv6 verbose
实操三 负载局衡
[Mater-vrrp]vrr
[Mater-vrrp]vrrp mo
[Mater-vrrp]vrrp mode ?
load-balance Set the VRRP operating mode to load balance
[Mater-vrrp]vrrp mode lo
[Mater-vrrp]vrrp mode load-balance //VRRP 开启负载均衡的模式
[Mater-vrrp]
删除主设备命令
display current-configuration
sys
interface GigabitEthernet 0/0
display this
undo ip address 10.1.1.1 255.255.255.0
undo vrrp vrid 1 virtual-ip 10.1.1.111
undo vrrp vrid 1
undo vrrp vrid 1 preempt-mode delay
undo vrrp vrid 2 virtual-ip 10.1.1.112
display this
删除备份设备的命令
sys
interface GigabitEthernet 0/0
display this
undo ip address 10.1.1.2 255.255.255.0
undo vrrp vrid 1 virtual-ip 10.1.1.111
undo vrrp vrid 1 preempt-mode delay
undo vrrp vrid 2 virtual-ip 10.1.1.112
undo vrrp vrid 2 priority
undo vrrp vrid 2 preempt-mode delay
主设备
vrrp mode load-balance 开启负载局衡模式
track 1 interface GigabitEthernet0/1 //链路追踪的接口
#
interface GigabitEthernet0/2
port link-mode route
combo enable copper
ip address 10.1.1.2 255.255.255.0
vrrp vrid 1 virtual-ip 10.1.1.1
vrrp vrid 1 priority 120
vrrp vrid 1 preempt-mode delay 5000
vrrp vrid 1 track 1 weight reduced 250
#
备份设备
vrrp mode load-balance 开启负载局衡模式
track 1 interface GigabitEthernet0/1
#
interface GigabitEthernet0/2
port link-mode route
combo enable copper
ip address 10.1.1.3 255.255.255.0
vrrp vrid 1 virtual-ip 10.1.1.1
vrrp vrid 1 priority 110
vrrp vrid 1 preempt-mode delay 5000
vrrp vrid 1 track 1 weight reduced 250
#
备份设备 2
vrrp mode load-balance 开启负载局衡模式
track 1 interface GigabitEthernet0/1
#
interface GigabitEthernet0/2
port link-mode route
combo enable copper
ip address 10.1.1.4 255.255.255.0
vrrp vrid 1 virtual-ip 10.1.1.1
vrrp vrid 1 preempt-mode delay 5000
vrrp vrid 1 track 1 weight reduced 250
#
VRRPV3 负载均衡
(1) 配置Router A
# 配置VRRP工作在负载均衡模式。
<RouterA> system-view
[RouterA] vrrp ipv6 mode load-balance
# 创建备份组1,并配置备份组1的虚拟IPv6地址为FE80::10和1::10。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] ipv6 address fe80::1 link-local
[RouterA-GigabitEthernet1/0/1] ipv6 address 1::1 64
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip fe80::10 link-local
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip 1::10
# 配置Router A在备份组1中的优先级为120,高于Router B的优先级110和Router C的优先级100,以保证Router A成为Master。
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 priority 120
# 配置Router A工作在抢占方式,以保证Router A故障恢复后,能再次抢占成为Master,即只要Router A正常工作,Router A就会成为Master。为了避免频繁地进行状态切换,配置抢占延迟时间为5000厘秒。
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 preempt-mode delay 5000
# 配置允许发布RA消息,以便1::/64网段内主机通过RA消息学习到缺省网关地址。
[RouterA-GigabitEthernet1/0/1] undo ipv6 nd ra halt
[RouterA-GigabitEthernet1/0/1] quit
# 创建和上行接口GigabitEthernet1/0/2物理状态关联的Track项1。如果Track项的状态为Negative,则说明Router A的上行接口出现故障。
[RouterA] track 1 interface gigabitethernet 1/0/2
# 配置虚拟转发器监视Track项1。Track项的状态为Negative时,降低Router A上虚拟转发器的权重,使其低于失效下限10,即权重降低的数额大于245,以便其它设备接替Router A的转发任务。本例中,配置虚拟转发器权重降低数额为250。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 track 1 weight reduced 250
(2) 配置Router B
# 配置VRRP工作在负载均衡模式。
<RouterB> system-view
[RouterB] vrrp ipv6 mode load-balance
# 创建备份组1,并配置备份组1的虚拟IP地址为FE80::10和1::10。
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] ipv6 address fe80::2 link-local
[RouterB-GigabitEthernet1/0/1] ipv6 address 1::2 64
[RouterB-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip fe80::10 link-local
[RouterB-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip 1::10
# 配置Router B在备份组1中的优先级为110,高于Router C的优先级100,以保证Router A出现故障时,Router B成为Master。
[RouterB-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 priority 110
# 配置Router B工作在抢占方式,抢占延迟时间为5000厘秒。
[RouterB-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 preempt-mode delay 5000
# 配置允许发布RA消息,以便1::/64网段内主机通过RA消息学习到缺省网关地址。
[RouterB-GigabitEthernet1/0/1] undo ipv6 nd ra halt
[RouterB-GigabitEthernet1/0/1] quit
# 创建和上行接口GigabitEthernet1/0/2物理状态关联的Track项1。如果Track项的状态为Negative,则说明Router B的上行接口出现故障。
[RouterB] track 1 interface gigabitethernet 1/0/2
# 配置虚拟转发器监视Track项1。Track项的状态为Negative时,降低Router B上虚拟转发器的权重,使其低于失效下限10,即权重降低的数额大于245,以便其它设备接替Router B的转发任务。本例中,配置虚拟转发器权重降低数额为250。
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 track 1 weight reduced 250
(3) 配置Router C
# 配置VRRP工作在负载均衡模式。
<RouterC> system-view
[RouterC] vrrp ipv6 mode load-balance
# 创建备份组1,并配置备份组1的虚拟IP地址为FE80::10和1::10。
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] ipv6 address fe80::3 link-local
[RouterC-GigabitEthernet1/0/1] ipv6 address 1::3 64
[RouterC-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip fe80::10 link-local
[RouterC-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 virtual-ip 1::10
# 配置Router C工作在抢占方式,抢占延迟时间为5000厘秒。
[RouterC-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 preempt-mode delay 5000
# 配置允许发布RA消息,以便1::/64网段内主机通过RA消息学习到缺省网关地址。
[RouterC-GigabitEthernet1/0/1] undo ipv6 nd ra halt
[RouterC-GigabitEthernet1/0/1] quit
# 创建和上行接口GigabitEthernet1/0/2物理状态关联的Track项1。如果Track项的状态为Negative,则说明Router C的上行接口出现故障。
[RouterC] track 1 interface gigabitethernet 1/0/2
# 配置虚拟转发器监视Track项1。Track项的状态为Negative时,降低Router C上虚拟转发器的权重,使其低于失效下限10,即权重降低的数额大于245,以便其它设备接替Router C的转发任务。本例中,配置虚拟转发器权重降低数额为250。
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] vrrp ipv6 vrid 1 track 1 weight reduced 250
4. 验证配置
配置完成后,在Host A上可以ping通外网。通过display vrrp ipv6 verbose命令查看配置后的结果。
# 显示Router A上备份组1的详细信息。
[RouterA-GigabitEthernet1/0/1] display vrrp ipv6 verbose
实操四 负载均衡+主备
主
备
备2
为什么需要VRRP
随着网络的快速普及和相关应用的日益深入,各种增值业务(如IPTV、视频会议等)已经开始广泛部署,基础网络的可靠性日益成为用户关注的焦点,能够保证网络传输不中断对于终端用户非常重要。
现网中的主机使用缺省网关与外部网络联系时,如果Gateway出现故障,与其相连的主机将与外界失去联系,导致业务中断。
局域网缺省网关示意图
VRRP的出现很好地解决了这个问题。VRRP将多台设备组成一个虚拟设备,通过配置虚拟设备的IP地址为缺省网关,实现缺省网关的备份。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。如下图所示,当Master设备故障时,发往缺省网关的流量将由Backup设备进行转发。
VRRP备份组示意图
VRRP的工作原理
VRRP的三种状态
VRRP协议中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有处于Master状态的设备才可以转发那些发送到虚拟IP地址的报文。下表详细描述了三种状态。
表1-1 VRRP协议状态
状态 | 说明 |
Initialize | 该状态为VRRP不可用状态,在此状态时设备不会对VRRP通告报文做任何处理。 通常设备启动时或设备检测到故障时会进入Initialize状态。 |
Master | 当VRRP设备处于Master状态时,它将会承担虚拟路由设备的所有转发工作,并定期向整个虚拟内发送VRRP通告报文。 |
Backup | 当VRRP设备处于Backup状态时,它不会承担虚拟路由设备的转发工作,并定期接受Master设备的VRRP通告报文,判断Master的工作状态是否正常。 |
VRRP选举机制
由几台路由器组成的虚拟路由器又称为VRRP备份组。一个VRRP备份组在逻辑上为一台路由器。VRRP备份组建立后,各设备会根据所配置的优先级来选举Master设备,选举方式如下图所示。
Master设备选举过程
VRRP工作原理
如下图所示,路由器A、B、C通过配置VRRP组成一个虚拟路由器。虚拟路由器的IP地址可以与设备上某台设备的实际IP地址一致(实际上直接指定此设备为Master),也可以与它们的地址在同一个网段但不一致。在本例中,我们以前一种方式来举例说明,虚拟路由器的IP地址为路由器A的IP地址(注意:虚拟路由器的IP地址可以与设备上某台设备的实际IP地址一致,也可以与它们呢的地址在同一个网段但不一致。在本例中,我们以前一种方式来举例说明)。由于虚拟路由器的IP地址与路由器A的IP地址相同,因此路由器A为Master设备,路由器B、C为Backup设备。Client1~3的默认网关为10.10.0.1。作为Master设备,路由器A处理着Client1~3发往默认网关10.10.0.1的报文。
VRRP工作原理
当Master设备出现故障时,路由器B和路由器C会选举出新的Master设备。新的Master设备开始响应对虚拟IP地址的ARP响应,并定期发送VRRP通告报文。
VRRP的详细工作过程如下:
- VRRP备份组中的设备根据优先级选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
- Master设备周期性向备份组内所有Backup设备发送VRRP通告报文,通告其配置信息(优先级等)和工作状况。
- 如果Master设备出现故障,VRRP备份组中的Backup设备将根据优先级重新选举新的Master。
- VRRP备份组状态切换时,Master设备由一台设备切换为另外一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的设备或者主机的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明。
- 原Master设备故障恢复时,若该设备为IP地址拥有者(优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。
- Backup设备的优先级高于Master设备时,由Backup设备的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。
VRRP应用场景
在网络中,VRRP不仅仅在设备故障时触发Master设备的切换,它也能感知某个接口、某条路由的状态。
与接口状态联动
如下图所示,VRRP可以与上行接口的状态绑定在一起,当承担转发任务的Master设备的上行接口出现异常时,Master设备会降低一定的优先级,当优先级低于Backup设备的优先级时,Backup设备就会切换为Master设备,从而防止因为上行接口的异常导致业务受损。
VRRP与接口联动
与路由状态联动
如下图所示,VRRP可以与上行路由的状态绑定在一起,当上行路由出现异常时,Master设备可以降低一定的优先级,当优先级低于Backup设备的优先级时,Backup设备就会切换为Master设备,从而防止因为上行路由的异常导致业务受损。