档版本:V1.0

一、VRRP负载均衡技术介绍

VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)核心作用是实现默认网关的冗余备份,而负载均衡模式是在冗余基础上的扩展应用。其核心原理是通过配置多个VRRP备份组(VRID),让两台或多台路由器互为主备关系——即 RouterA 作为 VRRP 组1的主用路由器、组2的备用路由器,RouterB 作为 VRRP 组2的主用路由器、组1的备用路由器,终端设备通过划分不同网关(对应不同VRRP组虚拟IP)实现流量分担,同时保障任一路由器故障时的业务连续性。

华为VRRP负载均衡模式核心特性:

  • 基于多备份组实现负载分担,VRID范围1-255,不同组独立协商主备状态;
  • 沿用优先级机制(1-254,默认100),通过对称优先级配置实现互为主备(如 RouterA 组1优先级120、组2优先级100,RouterB 反之);
  • 支持抢占/非抢占模式及抢占延迟配置,避免故障恢复后频繁切换导致流量波动;
  • 可结合Track功能监视上行接口,确保链路故障时自动调整优先级,触发跨组主备切换;
  • 兼容MD5认证功能,保障多组VRRP报文传输安全,同一备份组内设备认证参数需一致。

负载均衡核心概念补充:

  • 对称负载分担:两台路由器分别作为不同VRRP组的主用,承担对应网关终端的流量,故障时接管对方组的流量;
  • 多虚拟IP:每个VRRP组对应独立虚拟IP,作为不同终端网段或同网段不同终端的默认网关;
  • 跨组协同:通过统一的Track策略,确保同一路由器的所有VRRP组在链路故障时同步切换状态。

二、项目简介

2.1 项目背景

某企业园区局域网终端数量较多,原单网关架构不仅存在单点故障风险,还因所有流量集中于一台路由器导致转发压力过大,高峰期易出现网络卡顿。为同时解决“冗余备份”和“流量分担”问题,计划部署华为VRRP负载均衡方案,通过两台核心路由器构建双VRRP组,实现终端流量分流,同时保障任一路由器或链路故障时业务不中断。

2.2 项目目标

  • 部署2个VRRP备份组(VRID=1、VRID=2),虚拟IP分别为192.168.1.254和192.168.1.253,作为不同终端的默认网关;
  • 实现负载分担:RouterA作为VRID=1主用、VRID=2备用,RouterB作为VRID=2主用、VRID=1备用,终端流量按网关划分分别由两台路由器转发;
  • 配置Track功能监视两台路由器上行接口,链路故障时自动降低对应路由器所有VRRP组优先级,触发跨组主备切换;
  • 验证负载分担效果及故障切换连续性,确保单路由器/链路故障时,所有终端仍可正常访问外网。

三、拓扑搭建

3.1 拓扑结构说明

本项目采用“两台核心路由器+一台接入交换机+分网段终端设备”拓扑,具体连接关系如下:

  • 接入交换机(S1)的GigabitEthernet 0/0/1端口连接RouterA的GigabitEthernet 0/0/1端口;
  • 接入交换机(S1)的GigabitEthernet 0/0/2端口连接RouterB的GigabitEthernet 0/0/1端口;
  • RouterA的GigabitEthernet 0/0/2端口连接外网网关(IP:202.100.1.1/24);
  • RouterB的GigabitEthernet 0/0/2端口连接外网网关(IP:202.100.1.2/24);
  • 终端设备划分两组:PC1、PC2等网关配置为192.168.1.254(VRID=1),PC3、PC4等网关配置为192.168.1.253(VRID=2),均通过接入交换机接入网络。

3.2 拓扑核心逻辑

RouterA和RouterB同时加入VRID=1和VRID=2两个备份组:正常情况下,VRID=1主用为RouterA,承担PC1、PC2的流量转发;VRID=2主用为RouterB,承担PC3、PC4的流量转发,实现负载分担。当RouterA故障时,其VRID=1主用状态释放,RouterB自动成为VRID=1主用,同时保留VRID=2主用状态,接管所有终端流量;RouterA恢复后,通过抢占模式重新成为VRID=1主用,恢复负载分担状态。

四、网络设备端口规划

本项目涉及2台华为路由器(RouterA、RouterB)和1台接入交换机(S1),端口及VRRP组参数规划如下表所示:

设备名称

端口编号

端口用途

IP地址/配置

备注

RouterA

GigabitEthernet 0/0/1

连接接入交换机

192.168.1.1/24;加入VRID=1(主用,优先级120)、VRID=2(备用,优先级100)

双VRRP组端口,配置Track关联

RouterA

GigabitEthernet 0/0/2

连接外网网关

202.100.1.1/24

上行链路端口,Track1监视

RouterB

GigabitEthernet 0/0/1

连接接入交换机

192.168.1.2/24;加入VRID=1(备用,优先级100)、VRID=2(主用,优先级120)

双VRRP组端口,配置Track关联

RouterB

GigabitEthernet 0/0/2

连接外网网关

202.100.1.2/24

上行链路端口,Track1监视

接入交换机S1

GigabitEthernet 0/0/1

连接RouterA

Trunk模式,透传所有终端VLAN

保障双VRRP组流量转发

接入交换机S1

GigabitEthernet 0/0/2

连接RouterB

Trunk模式,透传所有终端VLAN

保障双VRRP组流量转发

接入交换机S1

GigabitEthernet 0/0/3-0/0/12

连接终端组1(PC1-PC10)

Access模式,加入VLAN 10

网关为VRID=1虚拟IP 192.168.1.254

接入交换机S1

GigabitEthernet 0/0/13-0/0/24

连接终端组2(PC11-PC20)

Access模式,加入VLAN 20

网关为VRID=2虚拟IP 192.168.1.253

双VRRP组核心参数统一规划:

  • VRID=1:虚拟IP=192.168.1.254,RouterA优先级=120,RouterB优先级=100;
  • VRID=2:虚拟IP=192.168.1.253,RouterA优先级=100,RouterB优先级=120;
  • 通用参数:抢占延迟=20秒,Advertisement报文间隔=2秒,认证模式=MD5,认证密钥=huawei123;
  • Track参数:优先级降低值=30,确保链路故障时优先级低于对方默认值。

五、项目配置步骤

本章节配置基于华为VRP操作系统,配置前需完成设备初始化(清除默认配置),所有命令末尾均按要求添加“查看当前配置”命令。

5.1 接入交换机S1配置(VLAN划分+端口模式)

配置目的:划分终端VLAN实现流量隔离,配置Trunk端口保障路由器与交换机间双VRRP组流量透传。

Plain Text

# 进入系统视图
system-view
# 重命名设备
sysname S1
# 批量创建VLAN 10、VLAN 20
vlan batch 10 20
# 配置终端组1端口(G0/0/3-0/0/12)为Access模式,加入VLAN 10
interface range GigabitEthernet 0/0/3 to 0/0/12
 port link-type access
 port default vlan 10
 quit
# 配置终端组2端口(G0/0/13-0/0/24)为Access模式,加入VLAN 20
interface range GigabitEthernet 0/0/13 to 0/0/24
 port link-type access
 port default vlan 20
 quit
# 配置连接RouterA的端口(G0/0/1)为Trunk模式,透传VLAN 10、20
interface GigabitEthernet 0/0/1
 port link-type trunk
 port trunk allow-pass vlan 10 20
 quit
# 配置连接RouterB的端口(G0/0/2)为Trunk模式,透传VLAN 10、20
interface GigabitEthernet 0/0/2
 port link-type trunk
 port trunk allow-pass vlan 10 20
 quit
# 查看当前配置
display current-configuration

5.2 RouterA配置(VRID=1主用、VRID=2备用)

配置目的:配置双VRRP组参数,实现VRID=1主用、VRID=2备用,关联Track监视上行链路。

Plain Text

# 进入系统视图
system-view
# 重命名设备
sysname RouterA
# 配置连接交换机的端口(G0/0/1)IP地址
interface GigabitEthernet 0/0/1
 ip address 192.168.1.1 255.255.255.0
 # 配置VRID=1参数(主用)
 vrrp vrid 1 virtual-ip 192.168.1.254 255.255.255.0
 vrrp vrid 1 priority 120
 vrrp vrid 1 preempt delay 20
 vrrp vrid 1 timer advertise 2
 vrrp vrid 1 authentication-mode md5 huawei123
 # 配置VRID=2参数(备用)
 vrrp vrid 2 virtual-ip 192.168.1.253 255.255.255.0
 vrrp vrid 2 priority 100
 vrrp vrid 2 preempt delay 20
 vrrp vrid 2 timer advertise 2
 vrrp vrid 2 authentication-mode md5 huawei123
 quit
# 配置上行外网端口(G0/0/2)IP地址
interface GigabitEthernet 0/0/2
 ip address 202.100.1.1 255.255.255.0
 quit
# 配置Track1,监视上行接口G0/0/2状态
track 1 interface GigabitEthernet 0/0/2
 quit
# 关联Track1到两个VRRP组,链路故障时优先级均降低30
interface GigabitEthernet 0/0/1
 vrrp vrid 1 track 1 reduced 30
 vrrp vrid 2 track 1 reduced 30
 quit
# 配置静态路由(访问外网,下一跳为外网网关)
ip route-static 0.0.0.0 0.0.0.0 202.100.1.1
# 查看当前配置
display current-configuration

5.3 RouterB配置(VRID=2主用、VRID=1备用)

配置目的:与RouterA形成对称负载均衡,实现VRID=2主用、VRID=1备用,关联Track保障链路冗余。

Plain Text

# 进入系统视图
system-view
# 重命名设备
sysname RouterB
# 配置连接交换机的端口(G0/0/1)IP地址
interface GigabitEthernet 0/0/1
 ip address 192.168.1.2 255.255.255.0
 # 配置VRID=1参数(备用)
 vrrp vrid 1 virtual-ip 192.168.1.254 255.255.255.0
 vrrp vrid 1 priority 100
 vrrp vrid 1 preempt delay 20
 vrrp vrid 1 timer advertise 2
 vrrp vrid 1 authentication-mode md5 huawei123
 # 配置VRID=2参数(主用)
 vrrp vrid 2 virtual-ip 192.168.1.253 255.255.255.0
 vrrp vrid 2 priority 120
 vrrp vrid 2 preempt delay 20
 vrrp vrid 2 timer advertise 2
 vrrp vrid 2 authentication-mode md5 huawei123
 quit
# 配置上行外网端口(G0/0/2)IP地址
interface GigabitEthernet 0/0/2
 ip address 202.100.1.2 255.255.255.0
 quit
# 配置Track1,监视上行接口G0/0/2状态
track 1 interface GigabitEthernet 0/0/2
 quit
# 关联Track1到两个VRRP组,链路故障时优先级均降低30
interface GigabitEthernet 0/0/1
 vrrp vrid 1 track 1 reduced 30
 vrrp vrid 2 track 1 reduced 30
 quit
# 配置静态路由(访问外网,下一跳为外网网关)
ip route-static 0.0.0.0 0.0.0.0 202.100.1.1
# 查看当前配置
display current-configuration

六、配置结果验证

配置完成后,需分三步验证:VRRP组主备状态、负载分担效果、故障切换连续性,确保满足项目目标。

6.1 验证VRRP双组主备状态

在RouterA和RouterB上分别执行以下命令,查看两个VRRP组的运行状态:

Plain Text

# 查看所有VRRP组简要状态(快速判断主备)
display vrrp brief
# 查看指定接口双VRRP组详细状态
display vrrp GigabitEthernet 0/0/1

正常状态下关键输出验证:

  • RouterA:VRID=1状态为“Master”(运行优先级120),VRID=2状态为“Backup”(运行优先级100);
  • RouterB:VRID=1状态为“Backup”(运行优先级100),VRID=2状态为“Master”(运行优先级120)。

RouterA详细状态输出示例:

Plain Text

Virtual Router 1
  State : Master
  Virtual IP : 192.168.1.254
  Master IP : 192.168.1.1
  PriorityRun : 120
  PriorityConfig : 120
  Preempt : YES, Delay Time : 20s
  TimerRun : 2s
  Auth Type : MD5
Virtual Router 2
  State : Backup
  Virtual IP : 192.168.1.253
  Master IP : 192.168.1.2
  PriorityRun : 100
  PriorityConfig : 100
  Preempt : YES, Delay Time : 20s
  TimerRun : 2s
  Auth Type : MD5

6.2 验证负载分担效果

通过终端ping测试+路由器流量统计验证流量分流:

  1. 终端测试:分别在PC1(网关192.168.1.254)和PC11(网关192.168.1.253)上持续ping外网地址(如202.100.1.1),确保均能连通;
  1. 路由器流量统计:在RouterA和RouterB上执行以下命令,查看接口流量:

Plain Text

# 查看RouterA G0/0/1接口流量(应统计到PC1组流量)
display interface GigabitEthernet 0/0/1 traffic
# 查看RouterB G0/0/1接口流量(应统计到PC11组流量)
display interface GigabitEthernet 0/0/1 traffic

验证标准:两台路由器的G0/0/1接口均有稳定流量,且流量来源分别对应各自主用VRRP组的终端网段。

6.3 验证故障切换连续性

模拟RouterA故障,验证负载分担自动切换为单路由转发:

  1. 模拟故障:在RouterA上关闭G0/0/1端口(双VRRP组端口):

Plain Text

interface GigabitEthernet 0/0/1
 shutdown
 quit

  1. 切换验证:在RouterB上执行“display vrrp brief”,应显示VRID=1和VRID=2均为“Master”状态;同时在PC1和PC11上持续ping外网,应无丢包;
  1. 恢复故障:在RouterA上启用G0/0/1端口,等待20秒抢占延迟后,执行“display vrrp brief”,验证恢复为初始负载均衡状态(RouterA VRID=1主用、VRID=2备用;RouterB反之)。

七、注意事项

  • 双VRRP组参数一致性:同一VRRP组内的设备必须配置相同的VRID、虚拟IP、报文间隔、认证模式/密钥;不同VRRP组的VRID必须唯一,避免冲突;
  • 优先级对称配置:负载均衡的核心是“互为主备”,需确保两台路由器的双VRRP组优先级对称(如RouterA组1高、组2低,RouterB则组1低、组2高),优先级差值建议≥20;
  • 交换机端口模式规范:连接路由器的端口必须配置为Trunk模式,且透传所有终端VLAN;终端端口配置为Access模式,按网关划分加入对应VLAN,避免流量混杂;
  • Track功能跨组关联:同一路由器的所有VRRP组需关联同一个Track项,确保链路故障时所有组同步降低优先级,避免部分组切换不及时;
  • 抢占延迟统一配置:双VRRP组需配置相同的抢占延迟(推荐20-60秒),防止故障恢复后两组切换不同步导致流量波动;
  • 终端网关规划:需按VRRP组虚拟IP明确划分终端网关,避免同一终端组混用不同网关,导致负载分担失效;
  • 多播报文放行:VRRP协议报文(目的IP:224.0.0.18)需确保路由器与交换机之间的链路不阻塞,否则双VRRP组无法正常协商主备状态;
  • 扩展建议:若终端数量进一步增加,可部署多台路由器构建多VRRP组负载均衡,或结合Eth-Trunk链路聚合提升链路带宽。

本指南为纯技术文档,仅供学习参考

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐