网关冗余技术VRRP
1、VRRP概述与原理
VRRP技术背景:单网关面临的问题
VRRP概述
- 通过把几台路由设备联合组成一台虚拟的“路由设备”,使用一定的机制保证当主设备出现故障时,及时将业务切换到备份路由设备,从而保持通讯的连续性和可靠性。
VRRP的基本概念
VRRP路由器:运行VRRP协议的路由器,如R1和R2。VRID:一个VRRP组(VRRP Group)由多台协同工作
的路由器(的接口)组成,使用相同的VRID(Virtual Router ldentifier,虚拟路由器标识符)进行标识。属于
同一个VRRP组的路由器之间交互VRRP协议报文并产生一台虚拟“路由器”。一个VRRP组中只能出现一台Master路由器。
虚拟路由器:VRRP为每一个组抽象出一台虚拟“路由器(Virtual Router),该路由器并非真实存在的物理设备
而是由VRRP虚拟出来的逻辑设备。一个VRRP组只会产生一台虚拟路由器。
虚拟IP地址及虚拟MAC地址:虚拟路由器拥有自已的IP地址以及MAC地址,其中IP地址由网络管理员在配置VRRP时指定,一台虚拟路由器可以有一个或多个IP地址通常情况下用户使用该地址作为网关地址。而虚拟MAC地址的格式是"0000-5e00-01xx”,其中xx为VRID。
Master路由器:"Master路由器”在一个VRRP组中承担报文转发任务。在每一个VRRP组中,只有Master路由器才会响应针对虚拟IP地址的ARPRequest。Master路由器会以一定的时间间隔周期性地发送VRRP报文,以便通知同一个VRRP组中的Backup路由器关于自己的存活情况。
Backup路由器:也被称为备份路由器。Backup路由器将会实时侦听Master路由器发送出来的VRRP报文,它随时准备接替Master路由器的工作。
Priority:优先级值是选举Master路由器和Backup路由器的依据,优先级取值范围0-255,值越大越优先,值相等则比较接口IP地址大小,大者优先。
2、VRRP典型应用
VRRP负载分担
- 通过创建多个虚拟路由器,每个物理路由器在不同的VRRP组中扮演不同的角色,Virtual IP作为不同的内网网关地址可以实现流量转发负载分担。
VRRP与MSTP结合应用
MSTP属于二层,现在被堆叠技术替代。
VRRP属于三层
VRRP监视上行端口
VRRP与BFD联动
- 通过配置VRRP与BFD联动,当Backup设备通过BFD感知故障发生之后,不再等待master计时器超时而会在BFD检测周期结束后立即切换VRRP状态,此时可以实现毫秒级的主备切换。
3、VRRP基本配置
1.创建VRRP备份组并给备份组配置虚拟IP地址
[interface-GigabitEtherneto/o/o] vrp vrid virtual-router-id virtual-ip virtual-address
注意:各备份组之间的虚拟IP地址不能重复;同属一个备份组的设备接口需使用相同的VRID。
2.配置路由器在备份组中的优先级
[interface-GigabitEthernetO/o/o] vrrp vrid virtual-router-id priority priority-value
注意:通常情况下,Master设备的优先级应高于Backup设备。
3.配置备份组中设备的抢占延迟时间
[interface-GigabitEtherneto/o/o] vrrp vrid virtual-router-id preempt-mode timer delay delay-value
4.配置VRRP备份组中设备采用非抢占模式
[interface-GigabitEtherneto/o/o] vrrp vrid virtual-router-id preempt-mode disable
缺省情况下,抢占模式已被激活。
5.配置VRRP备份组监视接口
[interface-GigabitEtherneto/o/o]vrrpvridvirtual-router-id track interface interface-type interface-number[increased value-increased | reduced value-decreased ]
可配置设备当检测到上行接口或链路出现故障时,增加或者减少自身优先级,IP地址拥有者和Eth-trunk成员口不允许配置VRRP监视功能。
6.配置VRRP备份组联动普通BFD会话
[interface-GigabitEtherneto/o/o] vrrp vrid virtual-router-id track bfd-session(bfd-session-id| session-name bfd-configure-name }[ increased value-increased | reduced value-reduced ]
如果选择参数session-namebfd-configure-name,可以绑定静态BFD会话或者标识符自协商的静态BFD会话。如果选择参数bfd-session-id,只能绑定静态BFD会话。
VRRP基础配置实例
4、VRRP实验配置
拓扑图:
配置步骤:
1、配置PC1的IP地址192.168.10.1
2、配置接入交换机acsw
下行接口配置成access,上行接口配置成trunk。
<Huawei>system-view
[Huawei]sysname acsw
[acsw]undo info-center enable
[acsw]vlan 100
[acsw-vlan100]int g0/0/1
[acsw-GigabitEthernet0/0/1]port link-type access
[acsw-GigabitEthernet0/0/1]port default vlan 100
[acsw-GigabitEthernet0/0/1]q
[acsw]interface GigabitEthernet 0/0/2
[acsw-GigabitEthernet0/0/2]port link-type trunk
[acsw-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[acsw-GigabitEthernet0/0/2]int g0/0/3
[acsw-GigabitEthernet0/0/3]port link-type trunk
[acsw-GigabitEthernet0/0/3]port trunk allow-pass vlan all
上述配置VLAN 100错误,需要更改为VLAN 10
<acsw>system-view
[acsw]vlan 10
[acsw-vlan10]q
[acsw]undo vlan 100
[acsw]interface GigabitEthernet 0/0/1
[acsw-GigabitEthernet0/0/1]port default vlan 10
[acsw-GigabitEthernet0/0/1]q
<acsw>save
3、配置核心交换机coresw1
配置接口类型:
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all
创建VLAN
[Huawei]vlan 10
[Huawei-vlan10]q
[Huawei]vlan 100
[Huawei-vlan100]q
将交换机重命名
[Huawei]sysname coresw1
[coresw1]
将接口放到相应的VLAN中
[coresw1]interface GigabitEthernet 0/0/3
[coresw1-GigabitEthernet0/0/3]port link-type access
[coresw1-GigabitEthernet0/0/3]port default vlan 100
[coresw1-GigabitEthernet0/0/3]q
[coresw1]
配置三层接口
[coresw1]interface Vlanif 10
[coresw1-Vlanif10]ip add 192.168.10.252 24
[coresw1-Vlanif10]q
[coresw1]interface Vlanif 100
[coresw1-Vlanif100]ip address 192.168.100.1 30
[coresw1-Vlanif100]q
4、配置核心交换机coresw2
配置接口类型:
<Huawei>
<Huawei>sys
[Huawei]sysname coresw2
[coresw2]undo info-center enable
[coresw2]int GigabitEthernet 0/0/1
[coresw2-GigabitEthernet0/0/1]port link-type trunk
[coresw2-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[coresw2-GigabitEthernet0/0/1]q
[coresw2]interface GigabitEthernet 0/0/2
[coresw2-GigabitEthernet0/0/2]port link-type trunk
[coresw2-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[coresw2-GigabitEthernet0/0/2]q
创建vlan
[coresw2]vlan 10
[coresw2-vlan10]vlan 200
[coresw2-vlan200]q
配置三层接口
[coresw2]interface GigabitEthernet 0/0/3
[coresw2-GigabitEthernet0/0/3]port link-type access
[coresw2-GigabitEthernet0/0/3]port default vlan 200
[coresw2-GigabitEthernet0/0/3]q
[coresw2]interface Vlanif 10
[coresw2-Vlanif10]ip address 192.168.10.253 24
[coresw2-Vlanif10]int vlan 200
[coresw2-Vlanif200]ip address 192.168.200.1 30
[coresw2-Vlanif200]q
5、配置VRRP
上述测试一下是否配置正确,互相ping一下,全部都通之后代表完成基础配置。
下面配置VRRP
在coresw1中配置
<coresw1>sys
[coresw1]interface Vlanif 10
[coresw1-Vlanif10]vrrp vrid 10 virtual-ip 192.168.10.254
[coresw1-Vlanif10]vrrp vrid 10 priority 120
[coresw1-Vlanif10]vrrp vrid 10 preempt-mode timer delay 20
[coresw1-Vlanif10]q
查看VRRP的配置情况
[coresw1]display vrrp
Vlanif10 | Virtual Router 10
State : Master
Virtual IP : 192.168.10.254
Master IP : 192.168.10.252
PriorityRun : 120
PriorityConfig : 120
MasterPriority : 120
Preempt : YES Delay Time : 20 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-010a
Check TTL : YES
Config type : normal-vrrp
Create time : 2025-07-31 16:28:41 UTC-08:00
Last change time : 2025-07-31 16:28:45 UTC-08:00
在coresw2中配置
<coresw2>sys
[coresw2]interface Vlanif 10
[coresw2-Vlanif10]vrrp vrid 10 virtual-ip 192.168.10.254
[coresw2-Vlanif10]vrrp vrid 10 priority 100
[coresw2-Vlanif10]q
查看VRRP的配置情况
[coresw2]display vrrp
Vlanif10 | Virtual Router 10
State : Backup
Virtual IP : 192.168.10.254
Master IP : 192.168.10.252
PriorityRun : 100
PriorityConfig : 100
MasterPriority : 120
Preempt : YES Delay Time : 0 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-010a
Check TTL : YES
Config type : normal-vrrp
Create time : 2025-07-31 16:32:10 UTC-08:00
Last change time : 2025-07-31 16:32:10 UTC-08:00
在PC1中测试
PC>ping 192.168.10.254
Ping 192.168.10.254: 32 data bytes, Press Ctrl_C to break
From 192.168.10.254: bytes=32 seq=1 ttl=255 time=31 ms
From 192.168.10.254: bytes=32 seq=2 ttl=255 time=32 ms
From 192.168.10.254: bytes=32 seq=3 ttl=255 time=31 ms
From 192.168.10.254: bytes=32 seq=4 ttl=255 time=62 ms
From 192.168.10.254: bytes=32 seq=5 ttl=255 time=63 ms
--- 192.168.10.254 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/43/63 ms
到这里表示VRRP内部已经配置完成,接下来配置VRRP访问互联网部分
6、VRRP访问互联网配置
在AR1中配置
<Huawei>sys
[Huawei]sysname AR1
[AR1]interface g0/0/0
[AR1-GigabitEthernet0/0/0]ip address 192.168.100.2 30
[AR1-GigabitEthernet0/0/0]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip address 192.168.200.2 30
[AR1-GigabitEthernet0/0/1]int g0/0/2
[AR1-GigabitEthernet0/0/2]ip address 100.1.1.2 30
[AR1-GigabitEthernet0/0/2]q
配置互联网
<Huawei>sys
[Huawei]sysname Internet
[Internet]int g0/0/0
[Internet-GigabitEthernet0/0/0]ip add 100.1.1.1 30
[Internet-GigabitEthernet0/0/0]q
完成上述配置,PC1是ping不通互联网的,为什么?
查一下coresw1的IP路由表,没有100.1.1.0这个网段的路由表。
因为不在同一个网段中,需要将数据包转发给网关,在coresw1处配置静态路由。
在coresw1中配置静态路由
[coresw1]ip route-static 0.0.0.0 0 192.168.100.2
在coresw2中配置静态路由
[coresw2]ip route-static 0.0.0.0 0 192.168.200.2
还是ping不通互联网,分析一下:
流量已经到达网关,网关将数据包传递给路由器AR1,通过抓包,数据已经传递到互联网,但是没有回程的数据。
需要在互联网路由器中配置静态路由。
[Internet]ip route-static 192.168.10.0 24 100.1.1.2
还是不通?原因如下:
ping request 源地址:192.168.10.1 目的:100.1.1.1
ping reply 源地址:100.1.1.1 目的:192.168.10.1
流量回传到AR1时,找不到192.168.10.1这个地址,所以还需要在出口路由器上配置静态路由
[AR1]ip route-static 192.168.10.0 24 192.168.100.1
[AR1]ip route-static 192.168.10.0 24 192.168.200.1
经过上述路由之后,
PC>ping 100.1.1.1
Ping 100.1.1.1: 32 data bytes, Press Ctrl_C to break
From 100.1.1.1: bytes=32 seq=1 ttl=253 time=79 ms
From 100.1.1.1: bytes=32 seq=2 ttl=253 time=46 ms
From 100.1.1.1: bytes=32 seq=3 ttl=253 time=47 ms
From 100.1.1.1: bytes=32 seq=4 ttl=253 time=78 ms
From 100.1.1.1: bytes=32 seq=5 ttl=253 time=63 ms
--- 100.1.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 46/62/79 ms
追踪一下路由:
PC>tracert 100.1.1.1
traceroute to 100.1.1.1, 8 hops max
(ICMP), press Ctrl+C to stop
1 192.168.10.252 47 ms 31 ms 47 ms
2 192.168.100.2 78 ms 94 ms 78 ms
3 100.1.1.1 47 ms 62 ms 63 ms
7、跟踪上行接口
<coresw1>sys
[coresw1]int Vlanif 10
[coresw1-Vlanif10]vrrp vrid 10 track interface g0/0/3 reduced 30