深入理解VRRP:构建高可用网关的基石

一、协议本质与演进

1.1 核心价值

  • 核心问题:解决单网关场景下的SPoF(Single Point of Failure 单点故障)
  • 实现方式:通过VRRP组虚拟化多台物理设备为逻辑路由器
  • 典型组网
    graph TD
      Client-->|Default Gateway|VIP(192.168.1.254)
      VIP-->Master(Router1-Master)
      VIP-->Backup(Router2-Backup)

1.2 协议版本对比

特性VRRPv2 (RFC3768)VRRPv3 (RFC5798)
地址支持IPv4 onlyIPv4/IPv6双栈
认证机制明文认证无认证/IPSEC
TTL值固定255可配置
通告报文224.0.0.18协议独立组播地址

二、关键技术解析

2.1 虚拟实体生成

  • 虚拟MAC生成规则
    def generate_vmac(vrid):
        return "00-00-5E-00-01-{:02X}".format(vrid)

虚拟mac地址自动生成,生成规则为00-00-5E-00-01-vrid(16进制)

  • ​VIP配置原则:
    • 必须与物理接口同网段
    • 不能是接口实际IP(华为设备限制)

2.2 主备选举机制

1)选举流程图
graph TD
    A[启动选举] --> B{优先级比较?}
    B -->|Master=255| C[立即抢占]
    B -->|Priority_A > Priority_B| D[A成为Master]
    B -->|Priority相等| E[比较接口IP地址]
    E -->|IP较大者| D

节点定义与接口状态关联

节点技术含义对应图中接口状态验证
AVRRP协议初始化阶段所有接口PHY/Protocol=UP(具备选举资格)
B优先级比较逻辑单元需通过display vrrp查看实际优先级
C最高优先级(255)设备的强制抢占若配置VIP=接口IP,自动触发此路径
D常规优先级胜出设备对应Eth-Trunk0的主设备选举结果
EIP地址比较的最终决策需检查接口实际IP(图中未显示)
2)关键参数
  • 优先级范围:1-255(0表示主动释放Master角色)
  • 特殊值
    • 255:IP地址拥有者优先级(接口IP=VIP时自动获得)
    • 100:默认优先级

2.3 状态切换控制

1)​计时器公式
Master_Down_Time = (3 × Advertisement_Interval) + (256 - Priority)/256

补充:

若在一个Master-down计时器(默认3.6s)的时间内没有收到主设备的报文,则认定主设备失效,将重新选举一个设备为主设备。

Master-down计时器机制:通过计算周期时间和优先级获得,计算公式为:3 × 周期时间 + (256 - 优先级) / 256。后者为偏移时间,意味着优先级越高的设备,偏移时间越小,则Master-down计时器时间越小,即优先发送VRRP报文成为主设备。

2)​抢占模式
# 华为设备配置示例
interface Vlanif10
   vrrp vrid 1 preempt-mode timer delay 20  # 延迟抢占

注意:VRRP默认抢占模式,但是仅针对优先级生效。

三、VRRP配置

3.1 实验拓扑

3.2 实验要求

(1)实现PC1能够访问R1的环回1.1.1.1/24。

(2)配置VRRP,其中R3为主设备。

(3)模拟R3接口故障,测试故障转移。

3.3 实验配置

1)基础配置

R1:

# 配置接口IP地址
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip add 12.0.0.1 24
[r1-GigabitEthernet0/0/0]int g0/0/1
[r1-GigabitEthernet0/0/1]ip add 13.0.0.1 24
[r1-GigabitEthernet0/0/1]int l0
[r1-LoopBack0]ip add 1.1.1.1 24
[r1-LoopBack0]q
 
# 配置静态路由
[r1]ip route-static 192.168.1.0 24 12.0.0.2
[r1]ip route-static 192.168.1.0 24 13.0.0.2

R2:

# 配置接口IP地址
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip add 12.0.0.2 24 
[r2-GigabitEthernet0/0/0]int g0/0/1
[r2-GigabitEthernet0/0/1]ip add 192.168.1.1 24
[r2-GigabitEthernet0/0/1]q
 
# 配置静态路由
[r2]ip route-static 0.0.0.0 0 12.0.0.1

R3:

# 接口IP
[r3]int g0/0/1
[r3-GigabitEthernet0/0/1]ip add 13.0.0.2 24
[r3-GigabitEthernet0/0/1]int g0/0/2
[r3-GigabitEthernet0/0/2]ip add 192.168.1.2 24
[r3-GigabitEthernet0/0/2]q
 
# 静态路由
[r3]ip route-static 0.0.0.0 0 13.0.0.1

PC1和PC2:

需要注意的是PC端网关填VIP,即虚拟网关。

2)配置VRRP

R2:

# 配置虚拟IP
[r2]int g0/0/1
[r2-GigabitEthernet0/0/1]vrrp vrid 1 virtual-ip 192.168.1.3

R3:

# 配置虚拟IP
[r3]int g0/0/2
[r3-GigabitEthernet0/0/2]vrrp vrid 1 virtual-ip 192.168.1.3

注意:所有需要协同工作的设备的接口在配置时,VRID和虚拟IP地址必须配置成一样的。

查看VRRP配置:

[r2]display vrrp

补充:

其中要注意的是Preempt为抢占模式(仅针对优先级),以及PriorityRun和PriorityConfig分别表示实际允许优先级和配置优先级。所以即使R3IP地址大于R2但是R2先配置VRRP已经成为了Master,由于初始优先级相同无法抢占

3)配置R3成为主设备
# 修改优先级
[R3-GigabitEthernet0/0/2]vrrp vrid 1 priority 110

# 查看是否成为主设备
[R3-GigabitEthernet0/0/2]dis vrrp
  GigabitEthernet0/0/2 | Virtual Router 1
    State : Master
    Virtual IP : 192.168.1.3
    Master IP : 192.168.1.2
    PriorityRun : 110
    PriorityConfig : 110
    MasterPriority : 110
    Preempt : YES   Delay Time : 0 s
    TimerRun : 1 s
    TimerConfig : 1 s
    Auth type : NONE
    Virtual MAC : 0000-5e00-0101
    Check TTL : YES
    Config type : normal-vrrp
    Backup-forward : disabled
    Create time : 2025-03-29 15:16:54 UTC-08:00
    Last change time : 2025-03-29 15:27:06 UTC-08:00

华为VRRP特性说明

虚拟IP与物理IP共存规则

  • 特殊权限:当配置的虚拟IP(VIP)与某物理接口IP完全相同时:
    • 该接口自动获得255优先级​(最高权限)
    • 此优先级不可通过手工配置覆盖(最大可配优先级为254)
4)配置上行链路监控
# 若上行链路故障,则优先级减少20
[r3-GigabitEthernet0/0/2]vrrp vrid 1 track interface GigabitEthernet 0/0/1 reduc
ed 20
 
# 配置抢占延迟,一般配置在主设备上
[r3-GigabitEthernet0/0/2]vrrp vrid 1 preempt-mode timer delay 20
5)测试

PC1 访问 R1:

[r3-GigabitEthernet0/0/2]undo shutdown 
 
[r3-GigabitEthernet0/0/2]int g0/0/1	
[r3-GigabitEthernet0/0/1]shutdown 

模拟链路故障后,PC1 访问 R1:

[r3-GigabitEthernet0/0/2]shutdown

恢复链路

[r3-GigabitEthernet0/0/2]undo shutdown 

模拟上行链路故障,等待20s后再次查看VRRP信息:

[r3-GigabitEthernet0/0/2]int g0/0/1	
[r3-GigabitEthernet0/0/1]shutdown 

再次进行访问测试:

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值