VRRP 网关备份实战:从原理到配置

5 阅读6分钟

VRRP 网关备份实战:从原理到配置

前言

在网络运维中,单点故障是最常见的问题之一。网关作为网络的出口,一旦故障,整个网络就会瘫痪。

VRRP(Virtual Router Redundancy Protocol)是解决这个问题的经典方案。本文将从原理、配置到测试,完整讲解 VRRP 的实战应用。


一、VRRP 协议基础

1.1 协议标准

  • RFC 3768:VRRP Version 2
  • RFC 5798:VRRP Version 3(支持 IPv6)
  • 协议类型:开放标准,多厂商支持

1.2 核心术语

术语英文说明
虚拟路由器Virtual Router一组路由器的抽象表示
MasterMaster当前处理流量的路由器
BackupBackup待命的路由器
虚拟 IPVirtual IP终端设备使用的网关 IP
优先级Priority决定 Master 选举(1-254)
通告间隔Advertisement IntervalMaster 发送通告的间隔(默认 1 秒)
抢占模式Preempt Mode高优先级路由器是否抢占 Master

1.3 报文格式

VRRP 通告报文(简化):

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Type  | Virtual Rtr ID| Priority  | Count IP Addr |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Auth Type   | Advertisement Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                  Virtual IP Address (1-N)                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

二、实验环境

2.1 硬件拓扑

                    互联网
                      │
        ┌─────────────┼─────────────┐
        │             │             │
       WAN           LAN           4G
    ┌────────┐   ┌────────┐   ┌────────┐
    │ IR915  │───│ 交换机  │───│ IR305  │
    │(Master)│   │        │   │(Backup)│
    └────────┘   └────────┘   └────────┘
                      │
                192.168.2.0/24
                      │
                 ┌────┴────┐
                 │  测试 PC │
                 └─────────┘

设备说明

  • IR915:映翰通工业 5G 路由器,作为 Master(主网关)
  • IR305:映翰通工业 4G 路由器,作为 Backup(备网关)
  • 两款设备均支持 VRRP 协议,适合工业级网络冗余部署

网络拓扑图 IR915 与 IR305 的 VRRP 配置拓扑

2.2 IP 规划

设备接口IP 地址说明
IR915LAN192.168.2.1主路由器
IR915WANDHCP外网接口
IR305LAN192.168.2.2备路由器
IR305CellularDHCP备用外网
虚拟网关-172.32.1.1VRRP 虚拟 IP
测试 PCLAN192.168.2.100静态 IP

2.3 VRRP 参数

参数IR915(主)IR305(备)
VRRP 组11
优先级2541
虚拟 IP172.32.1.1172.32.1.1
监视接口WANCellular
抢占模式EnableEnable
通告间隔1s-

三、配置步骤

3.1 主路由器配置(IR915)

# 进入 VRRP 配置模式
configure terminal
interface lan0
  vrrp 1 enable
  vrrp 1 priority 254
  vrrp 1 virtual-ip 172.32.1.1
  vrrp 1 preempt enable
  vrrp 1 track interface wan1
  # 监视 WAN 口,故障时降低优先级
  vrrp 1 track interface wan1 priority-decrease 253
exit

配置解读

  • priority 254:设置最高优先级
  • virtual-ip:设置虚拟网关 IP
  • preempt enable:开启抢占模式
  • track interface:监视接口状态
  • priority-decrease 253:故障时优先级降为 1(254-253)

3.2 备路由器配置(IR305)

configure terminal
interface lan0
  vrrp 1 enable
  vrrp 1 priority 1
  vrrp 1 virtual-ip 172.32.1.1
  vrrp 1 preempt enable
  vrrp 1 track interface cellular1
  vrrp 1 track interface cellular1 priority-decrease 0
exit

3.3 测试 PC 配置

Windows

netsh interface ip set address "以太网" static 192.168.2.100 255.255.255.0 172.32.1.1
netsh interface ip set dns "以太网" static 114.114.114.114

Linux

ip addr add 192.168.2.100/24 dev eth0
ip route add default via 172.32.1.1
echo "nameserver 114.114.114.114" > /etc/resolv.conf

四、验证与测试

4.1 状态检查

路由器端

# 查看 VRRP 状态
show vrrp brief

# 预期输出(主路由器):
Interface  Group  Priority  State    Virtual IP
lan0       1      254       Master   172.32.1.1

# 预期输出(备路由器):
Interface  Group  Priority  State    Virtual IP
lan0       1      1         Backup   172.32.1.1

PC 端

# 查看 ARP 表
arp -a | grep 172.32.1.1

# 预期输出(Windows):
172.32.1.1    00-18-05-09-82-c1    dynamic

# 记录 MAC 地址,用于后续对比

4.2 切换测试

步骤 1:开始持续 ping

ping 172.32.1.1 -t

步骤 2:记录当前状态

# 记录 ping 延迟和 ARP 表 MAC 地址

步骤 3:模拟故障

选项 A:拔掉 IR915 的 LAN 口网线
选项 B:拔掉 IR915 的 WAN 口网线
选项 C:直接断开 IR915 电源

步骤 4:观察现象

ping 输出示例:
来自 172.32.1.1 的回复:字节=32 时间=1ms TTL=64
来自 172.32.1.1 的回复:字节=32 时间=1ms TTL=64
请求超时。                    ← 故障发生
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
来自 172.32.1.1 的回复:字节=32 时间=2ms TTL=64  ← 切换完成
来自 172.32.1.1 的回复:字节=32 时间=2ms TTL=64

步骤 5:验证切换

# 再次查看 ARP 表
arp -a | grep 172.32.1.1

# 预期输出(MAC 地址已变更):
172.32.1.1    00-18-05-1e-3a-2b    dynamic

4.3 性能指标

指标实测值说明
故障检测时间~3 秒Backup 检测不到 Master 通告
切换完成时间~6 秒从故障到网络恢复
ping 超时次数5-7 次取决于通告间隔
业务影响轻微卡顿视频会议可能缓冲

五、故障排查

5.1 常见问题

问题 1:VRRP 状态不切换

可能原因:
- 优先级配置错误
- 网络不通(路由器间 LAN 口不通)
- VRRP 组号不一致

排查步骤:
1. show vrrp brief 检查状态
2. ping 对端 LAN 口 IP
3. 检查配置中的 vrrp group id

问题 2:频繁切换(震荡)

可能原因:
- 监视接口不稳定
- 优先级差距太小
- 网络延迟导致通告丢失

解决方案:
1. 检查监视接口状态
2. 增大优先级差距(主 254,备 1)
3. 调整通告间隔

问题 3:切换时间过长

可能原因:
- 默认通告间隔较长
- 未开启抢占模式

优化方案:
1. 减小 advertisement interval(谨慎)
2. 确认 preempt enable 已开启
3. 考虑 BFD 联动(进阶)

5.2 调试命令

# 开启 VRRP 调试
debug vrrp all

# 查看 VRRP 详细状态
show vrrp detail

# 查看 VRRP 统计信息
show vrrp statistics

# 清除统计(重新测试前)
clear vrrp statistics

六、进阶配置

6.1 负载分担

配置两个 VRRP 组,实现负载分担:

# 路由器 A
interface lan0
  vrrp 1 priority 254  # 组 1 为主
  vrrp 1 virtual-ip 172.32.1.1
  vrrp 2 priority 1    # 组 2 为备
  vrrp 2 virtual-ip 172.32.1.2

# 路由器 B
interface lan0
  vrrp 1 priority 1    # 组 1 为备
  vrrp 1 virtual-ip 172.32.1.1
  vrrp 2 priority 254  # 组 2 为主
  vrrp 2 virtual-ip 172.32.1.2

终端设备分流:

  • 部分 PC 网关:172.32.1.1
  • 部分 PC 网关:172.32.1.2

6.2 BFD 联动

BFD(Bidirectional Forwarding Detection)可将故障检测时间降低到毫秒级:

# 配置 BFD
bfd
  session 1
    discriminator local 1
    discriminator remote 2
    min-tx-interval 100
    min-rx-interval 100

# VRRP 绑定 BFD
interface lan0
  vrrp 1 bfd-session 1

6.3 多 WAN 口场景

# 监视多个 WAN 口
interface lan0
  vrrp 1 track interface wan1 priority-decrease 100
  vrrp 1 track interface wan2 priority-decrease 100

任一 WAN 口故障,优先级降低,触发切换。


七、总结

7.1 技术要点

  1. 虚拟 IP 是核心,终端只认虚拟 IP
  2. 优先级 决定 Master 选举
  3. 心跳机制 检测故障
  4. 抢占模式 决定故障恢复后行为

7.2 最佳实践

  • ✅ 主备优先级差距要大(254 vs 1)
  • ✅ 监视真正关键的接口(WAN/4G)
  • ✅ 在业务低峰期测试
  • ✅ 记录切换时间和现象
  • ✅ 定期演练,确保方案有效

7.3 局限性

  • ❌ 切换时间秒级,不适合超低延迟场景
  • ❌ 仅解决网关冗余,不解决链路冗余
  • ❌ 需要设备支持 VRRP 协议

7.4 替代方案

方案切换时间成本复杂度
VRRP秒级
VRRP+BFD毫秒级
SD-WAN毫秒级
双活数据中心毫秒级极高极高

VRRP 是性价比最高的网关冗余方案,值得每个网络工程师掌握。

#VRRP #网络运维 #高可用 #网关备份 #企业网络