第118篇:VRRP 虚拟路由冗余协议——主备切换
关键词
VRRP、虚拟路由冗余协议、网关冗余、主备切换、VRRP 优先级、VIP
一、为什么需要 VRRP?
1.1 单网关的痛点
在传统网络中,终端配置一个默认网关。如果网关设备故障,整个网络断连。
PC-A ──── 网关(单点故障)
192.168.1.1
如果网关故障:
PC-A 无法访问任何外部网络!
1.2 VRRP 的解决方案
VRRP(Virtual Router Redundancy Protocol,RFC 5798)将多台路由器虚拟成一个网关:
虚拟网关 IP:192.168.1.1
│
┌─────┴─────┐
Master Backup
192.168.1.2 192.168.1.3
│ │
└──────┬──────┘
│
PC-A
终端配置网关 = 192.168.1.1(虚拟 IP)
终端只认虚拟 IP,不关心实际是哪台设备在转发。
二、VRRP 的工作原理
2.1 角色定义
| 角色 | 说明 |
|---|---|
| Master | 活跃路由器,负责转发流量、响应 ARP |
| Backup | 备份路由器,监控 Master 状态,准备接管 |
| Virtual Router | 由 Master + Backup 组成的虚拟路由器 |
| VIP(Virtual IP) | 虚拟 IP 地址(终端的网关) |
2.2 主备选举
选举依据:VRRP 优先级(0-255),越大越优。
选举过程:
1. 各路由器发送 VRRP 通告(Advertisement)
2. 优先级最高的成为 Master
3. 如果优先级相同 → IP 地址最大的成为 Master
Master :
定期发送 VRRP Advertisement(默认 1 秒)
Backup 连续 3 个周期未收到 → 认为 Master 故障
Backup 成为新的 Master
2.3 VRRP 报文
VRRP 报文使用 IP 协议 112,组播发送到 224.0.0.18:
VRRP Advertisement(Master → 224.0.0.18)
版本:VRRPv3(支持 IPv4/IPv6)
优先级:100(默认)
间隔:1 秒
虚拟 IP:192.168.1.1
三、配置示例
3.1 基础配置
Master(R1) Backup(R2)
192.168.1.2 192.168.1.3
│ │
└──────────┬────────────┘
│
PC-A
网关:192.168.1.1(VIP)
# ===== R1(Master)=====
interface GigabitEthernet0/0/0
ip address 192.168.1.2 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.1 # VRRP 组 1,VIP
vrrp vrid 1 priority 120 # 优先级 120(默认 100)
vrrp vrid 1 preempt-mode timer delay 0 # 抢占模式
# ===== R2(Backup)=====
interface GigabitEthernet0/0/0
ip address 192.168.1.3 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.1
# 优先级默认 100,自动成为 Backup
3.2 抢占模式
| 模式 | 说明 | 建议 |
|---|---|---|
| 抢占(Preempt) | Master 故障恢复后,重新抢回 Master 角色 | 开启 |
| 非抢占 | Master 故障恢复后,保持当前 Master | 特殊场景使用 |
# 开启抢占(默认开启)
vrrp vrid 1 preempt-mode timer delay 30
# delay 30:延迟 30 秒再抢回,避免频繁切换
3.3 验证
# 查看 VRRP 状态
display vrrp
-----------------------------------------------
Interface : GigabitEthernet0/0/0
VRID : 1
State : Master
Virtual IP : 192.168.1.1
Master IP : 192.168.1.2 ← 当前 Master
PriorityRun: 120
PriorityConfig: 120
display vrrp statistics
四、VRRP 主备切换过程
4.1 正常切换
Master 故障:
1. Backup 未收到 VRRP 通告(3 秒 = 3 × 1s 间隔)
2. Backup 认为 Master 已宕机
3. Backup 切换到 Master 状态
4. Backup 开始响应 VIP 的 ARP 请求
5. 切换时间 ≈ 3 秒(可调)
Master 恢复:
1. Master 开始发送 VRRP 通告
2. Backup 收到更高优先级的通告
3. Backup 回到 Backup 状态
4. Master 继续转发(如果开启抢占)
4.2 优化切换时间
# 加快切换
interface GigabitEthernet0/0/0
vrrp vrid 1 advertisement-interval 200 # 200ms(默认 1000ms)
# Backup 检测时间 = 3 × 200ms = 600ms
# BFD 联动(毫秒级检测)
bfd
interface GigabitEthernet0/0/0
bfd bind peer-ip 192.168.1.3
vrrp vrid 1 bfd 1 # BFD 检测到故障立即切换
五、VRRP 故障排查
| 现象 | 可能原因 | 排查命令 |
|---|---|---|
| 双 Master | 网络不通,互收不到 VRRP 通告 | display vrrp |
| VIP 无法 Ping | VIP 不在 Master 上 | display vrrp interface |
| 切换不成功 | 优先级配置错误 | display vrrp verbose |
| 频繁切换 | 链路不稳定 | display vrrp statistics |
5.1 双 Master 问题
双 Master(两台路由器同时认为自己是 Master)的根因通常是链路故障:
# 在 R1 上看到自己 Master,在 R2 上也是 Master
# 检查互联链路
ping 192.168.1.3
# 检查 VRRP 通告是否可达
# VRRP 通告是组播 224.0.0.18
# 确认组播转发正常
六、VRRP 版本演进
| 版本 | RFC | 特性 |
|---|---|---|
| VRRPv2 | RFC 3768 | 仅 IPv4 |
| VRRPv3 | RFC 5798 | 支持 IPv4 和 IPv6 |
| VRRPv3 for IPv6 | — | 使用链路本地地址作为源 IP |
# VRRPv3 IPv6 配置
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2001:DB8:1::2/64
vrrp vrid 1 virtual-ip fe80::1 # IPv6 链路本地地址做 VIP
vrrp vrid 1 virtual-ip 2001:DB8:1::1 # 全局单播 VIP
七、总结
| 知识点 | 核心要点 |
|---|---|
| VRRP 目的 | 实现网关的高可用,消除单点故障 |
| 角色 | Master(转发) + Backup(备份) |
| 选举 | 优先级(0-255),越大越优 |
| VIP | 虚拟 IP(终端配置的网关) |
| 切换时间 | 默认 3s,可优化到毫秒级 |
| 报文 | 组播 224.0.0.18,协议 112 |
八、思考
- VRRP 中 Master 和 Backup 各承担什么角色?
- 如果 Master 和 Backup 的优先级相同,谁会成为 Master?
- VRRP 默认的切换时间是多少?如何加速?
- 抢占模式和非抢占模式的区别是什么?
- 两台路由器同时显示自己为 Master,可能是什么原因?
下篇预告:第119篇《VRRP 跟踪上行接口实现联动切换》——讲解如何通过 VRRP Track 技术,在上行链路故障时自动切换 VRRP 主备状态,实现真正的端到端高可用。