VRRP 虚拟路由冗余
VRRP(Virtual Router Redundancy Protocol)将多台路由器组成一个虚拟路由器,为终端提供冗余的默认网关,实现网关级的高可用。
一、为什么需要 VRRP
在企业网络中,终端设备通常配置单一默认网关。如果该网关设备故障,所有终端将无法访问外部网络。
VRRP 的核心目标:将多台物理路由器虚拟化为一台虚拟路由器,当主网关故障时,备份网关自动接替工作,对终端完全透明。
二、VRRP 基本概念
2.1 VRRP 版本
| 版本 | 适用环境 | 说明 |
|---|---|---|
| VRRPv2 | 仅 IPv4 | 华为默认使用 |
| VRRPv3 | IPv4 和 IPv6 | 更新版本,兼容 IPv6 |
2.2 核心术语
| 概念 | 说明 |
|---|---|
| VRRP 组 | 多台协同工作的路由器,使用 VRID 标识 |
| VRID | 8 bit 构成,同组内必须相同 |
| 虚拟路由器 | 每个 VRRP 组的抽象设备 |
| 虚拟 IP | 管理员手工配置,可配置多个 |
| 虚拟 MAC | 0000-5e00-01XX,其中 XX 代表 VRID |
| Master 设备 | 实际承担转发工作的物理路由器 |
| Backup 设备 | 实时侦听、随时准备接替 Master |
| 优先级 | 默认 100,用于选举 Master,越大越优 |
2.3 组播通信
VRRP 通告报文的目标 IP 地址为组播地址 224.0.0.18,协议号为 112(跨传输层封装)。
VRRP 规定 IP 头部的 TTL 必须为 255。如果设备收到的 VRRP 报文中 TTL 不等于 255,则直接丢弃该报文。这一机制防止了跨网段的 VRRP 攻击。
三、VRRP 工作机制
3.1 Master 选举规则
| 优先级 | 规则 |
|---|---|
| 1 | 比较 VRRP 优先级,越大越优 |
| 2 | 比较接口 IP 地址,越大越优 |
特殊规则:当路由器的真实接口 IP 地址与虚拟 IP 地址相同时,该路由器无条件成为 Master(优先级相当于 255)。
3.2 状态机
VRRP 定义了三种状态:
Init ──接口 up──→ Backup ──选举胜出/抢占──→ Master
↑ ↑ │
└──接口 down───────┴──主关闭定时器超时─────────┘
Init 状态:
- 接口配置 VRRP 后,如果接口 down,处于此状态
- 接口 up 后:
- 优先级 = 255(接口 IP = 虚拟 IP)→ 直接进入 Master 状态
- 优先级 != 255 → 进入 Backup 状态
Backup 状态:
- 实时侦听 Master 发送的 VRRP 通告报文
- 随时准备接替 Master 工作
Master 状态:
- 承担报文转发功能
- 响应 ARP 请求报文
- 周期性发送 VRRP 通告报文(缺省 1 秒),告知 Backup 设备自己的存活状态
3.3 主备切换
| 场景 | 行为 |
|---|---|
| Master 主动退出 | 发送优先级=0 的 VRRP 报文,Backup 立即接管 |
| Master 故障 | Backup 等待主关闭定时器超时后接管 |
3.4 定时器机制
主关闭定时器 = 3 × 通告路由间隔计时器 + 偏移时间
偏移时间 = (256 - 当前接口优先级) / 256
优先级越大,主关闭定时器时间越短,故障检测越快。
四、VRRP 高级特性
4.1 抢占模式
默认开启。如果 Backup 设备激活了抢占功能,当发现 Master 的优先级比自己低时,会立即切换为 Master 状态。
# 开启抢占并设置抢占延迟
[Router-GigabitEthernet0/0/1] vrrp vrid 1 preempt-mode timer delay 10
设置抢占延迟的作用:防止网络震荡导致频繁切换,给予网络收敛时间。
4.2 上行链路监控
当 Master 的上行链路故障时,即使 Master 自身正常运行,终端流量也无法到达目标网络。VRRP 支持监控上行链路状态:
# 监控上行接口,故障时降低优先级
[Router-GigabitEthernet0/0/1] vrrp vrid 1 track interface GigabitEthernet 0/0/0 reduced 30
# 监控路由条目,故障时降低优先级
[Router-GigabitEthernet0/0/1] vrrp vrid 1 track ip route 12.0.0.0 24 reduced 50
当被监控对象故障时,Master 优先级降低,Backup 设备抢占成为新 Master。
4.3 多网关负载分担
通过配置多个 VRRP 组实现负载分担:
组 1:R1 为 Master(优先级 120),R2 为 Backup(优先级 100)
虚拟 IP:192.168.1.254
组 2:R1 为 Backup(优先级 100),R2 为 Master(优先级 120)
虚拟 IP:192.168.1.253
一半终端网关设为 .254,一半设为 .253
4.4 多虚拟 IP 地址
一个 VRRP 组支持配置多个虚拟 IP:
[Router-GigabitEthernet0/0/1] vrrp vrid 1 virtual-ip 192.168.1.254
[Router-GigabitEthernet0/0/1] vrrp vrid 1 virtual-ip 192.168.1.250
五、VRRP + MSTP 组合场景
5.1 组合设计思路
在企业网络中最常见的组合方案:MSTP 消除二层环路 + VRRP 提供三层网关冗余。
设计原则:
- VRRP Master 应与 MSTP 根桥在同一台设备上(三点合一)
- 实例 1 的根桥 = VRRP 组 1 的 Master = VLAN 1-10 的网关
- 实例 2 的根桥 = VRRP 组 2 的 Master = VLAN 11-20 的网关
5.2 典型拓扑
[核心路由器]
/ \
[SW1] [SW2]
│ ╲ ╱ │
│ ╲ ╱ │
│ ╱ ╲ │
│ ╱ ╲ │
[SW3] [SW4]
/ \ / \
PC1 PC2 PC3 PC4
VLAN 10:SW1 为 VRRP Master + MSTP 根桥
VLAN 20:SW2 为 VRRP Master + MSTP 根桥
六、VRRP 配置实战
6.1 基础 VRRP 配置
拓扑:
R2(GE0/0/1: 192.168.1.1/24)──┐
├── [PC] 网关: 192.168.1.254
R3(GE0/0/1: 192.168.1.2/24)──┘
配置:
# ============ R2 配置 ============
[R2] interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1] ip address 192.168.1.1 24
[R2-GigabitEthernet0/0/1] vrrp vrid 1 virtual-ip 192.168.1.254
[R2-GigabitEthernet0/0/1] quit
# ============ R3 配置 ============
[R3] interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1] ip address 192.168.1.2 24
[R3-GigabitEthernet0/0/1] vrrp vrid 1 virtual-ip 192.168.1.254
[R3-GigabitEthernet0/0/1] quit
# ============ 验证 ============
display vrrp brief
输出示例:
# R2 显示为 Master(IP 地址较大者胜出)
[R2] display vrrp brief
Total:1 Master:1 Backup:0 Non-active:0
VRID State Interface Type Virtual IP
----------------------------------------------------------------
1 Master GE0/0/1 Normal 192.168.1.254
# R3 显示为 Backup
[R3] display vrrp brief
Total:1 Master:0 Backup:1 Non-active:0
VRID State Interface Type Virtual IP
----------------------------------------------------------------
1 Backup GE0/0/1 Normal 192.168.1.254
6.2 优先级与抢占配置
# R3 设置更高优先级,抢占成为 Master
[R3-GigabitEthernet0/0/1] vrrp vrid 1 priority 120
# R3 开启抢占并设置延迟
[R3-GigabitEthernet0/0/1] vrrp vrid 1 preempt-mode timer delay 20
# 再次验证
[R3] display vrrp brief
Total:1 Master:1 Backup:0 Non-active:0
VRID State Interface Type Virtual IP
----------------------------------------------------------------
1 Master GE0/0/1 Normal 192.168.1.254
6.3 VRRP + 动态路由完整示例
拓扑:
R1(Loopback 0: 1.1.1.1/24)── GE0/0/1 ──┐
├── [SW] ── [PC] 网关: 192.168.1.254
R2(GE0/0/1: 192.168.1.1/24)─────────────┘
R3(GE0/0/1: 192.168.1.2/24)─────────────┘
配置:
# ============ R1:核心路由器 ============
[R1] interface LoopBack 0
[R1-LoopBack0] ip address 1.1.1.1 24
[R1-LoopBack0] quit
[R1] interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1] ip address 13.0.0.1 24
[R1-GigabitEthernet0/0/1] quit
[R1] rip 1
[R1-rip-1] version 2
[R1-rip-1] network 1.0.0.0
[R1-rip-1] network 12.0.0.0
[R1-rip-1] network 13.0.0.0
# ============ R2:主网关 ============
[R2] interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1] ip address 192.168.1.1 24
[R2-GigabitEthernet0/0/1] vrrp vrid 1 virtual-ip 192.168.1.254
[R2-GigabitEthernet0/0/1] vrrp vrid 1 priority 120
[R2-GigabitEthernet0/0/1] vrrp vrid 1 preempt-mode timer delay 10
[R2-GigabitEthernet0/0/1] quit
[R2] interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0] ip address 12.0.0.2 24
[R2-GigabitEthernet0/0/0] quit
[R2] rip 1
[R2-rip-1] version 2
[R2-rip-1] network 12.0.0.0
[R2-rip-1] network 192.168.1.0
# ============ R3:备网关 ============
[R3] interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1] ip address 192.168.1.2 24
[R3-GigabitEthernet0/0/1] vrrp vrid 1 virtual-ip 192.168.1.254
[R3-GigabitEthernet0/0/1] vrrp vrid 1 priority 100
[R3-GigabitEthernet0/0/1] quit
[R3] interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0] ip address 13.0.0.2 24
[R3-GigabitEthernet0/0/0] quit
[R3] rip 1
[R3-rip-1] version 2
[R3-rip-1] network 13.0.0.0
[R3-rip-1] network 192.168.1.0
6.4 上行链路监控配置
# Master(R3)监控上行接口
[R3] interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1] vrrp vrid 1 track interface GigabitEthernet 0/0/0 reduced 30
# 监控路由条目
[R3-GigabitEthernet0/0/1] vrrp vrid 1 track ip route 12.0.0.0 24 reduced 50
# 验证监控效果
[R3] display vrrp
GigabitEthernet0/0/1 | Virtual Router 1
State : Backup
Virtual IP : 192.168.1.254
192.168.1.250
Master IP : 192.168.1.1
PriorityRun : 70 // 实际运行优先级(120 - 50 = 70)
PriorityConfig : 120 // 配置优先级
MasterPriority : 100
Preempt : YES Delay Time : 20 s
七、VRRP 常见查看命令
# 查看 VRRP 摘要信息
display vrrp brief
# 查看 VRRP 详细信息
display vrrp
# 查看 VRRP 接口统计
display vrrp interface GigabitEthernet 0/0/1
# 查看 VRRP 协议统计
display vrrp statistics
八、VRRP 配置最佳实践
- 优先级规划:主网关优先级建议设为 120,备份设为 100,预留调整空间
- 抢占延迟:建议设置 10-20 秒,避免网络震荡期间频繁切换
- 上行链路监控:必须配置,否则 Master 上行故障时形成”黑洞”
- VRRP + MSTP 统一:VRRP Master 应与 MSTP 根桥在同一设备上,避免次优路径
- 多组负载分担:利用多个 VRRP 组实现多网关负载分担,充分利用链路带宽
- 定时器调优:对收敛速度敏感的场景,可适当缩短通告间隔
九、常见问题排查
| 现象 | 可能原因 | 排查方法 |
|---|---|---|
| 两台设备都是 Master | 二层不通,VRRP 报文无法交互 | 检查 VLAN/Trunk 配置 |
| 无法 Ping 通虚拟 IP | 虚拟 IP 配置不一致 | display vrrp 对比两端的 Virtual IP |
| 切换速度慢 | 主关闭定时器未触发 | 检查通告间隔和抢占延迟设置 |
| 上行链路故障未切换 | 未配置上行链路监控 | 添加 vrrp vrid track interface 命令 |
| TTL 校验失败 | 组播报文跨三层路由 | 确保 VRRP 设备在同一广播域 |