4、网关冗余协议:HSRP、VRRP与GLBP实战

网关冗余,说白了就是给默认网关找个备胎。你想想看,如果公司出口路由器挂了,所有员工都上不了网,那场面……我在某电商大促前就遇到过,核心交换机宕机,整个办公区瞬间断网,运维电话被打爆。从那以后,我对网关冗余这事儿就特别上心。

今天咱们聊聊三个主流协议:思科的HSRP、标准化的VRRP,还有能负载均衡的GLBP。嗯,一个一个来。

4.1 HSRP:热备份路由协议

HSRP是思科的私有协议,说白了就是让两台路由器共享一个虚拟IP。客户端把网关指向这个虚拟IP,谁活得好谁就干活。

4.1.1 核心概念

  • 虚拟路由器:一个虚拟的IP和MAC地址,客户端感知不到物理设备切换
  • 活跃路由器(Active):真正转发数据包的那台,我习惯叫它“主”
  • 备用路由器(Standby):随时准备接盘的,我习惯叫它“备”
  • 虚拟MAC地址:格式是 0000.0c07.acXX,XX是HSRP组号

重要:HSRP组号范围是0-255,但实际部署时我建议用1-255,0有特殊用途,容易踩坑。

4.1.2 状态机详解

HSRP有6个状态,我当年背得滚瓜烂熟。其实你不需要死记,理解流转逻辑就行。

状态 说明 个人经验
Initial 初始状态,接口刚UP 别急,等几秒再说
Learn 还没收到Hello,在学虚拟IP 这时候啥也干不了
Listen 知道虚拟IP了,在听谁活跃 嗯,开始有存在感了
Speak 开始发Hello,参与选举 我建议把Hello间隔调成1秒,收敛快
Standby 成为备用,随时准备上位 备胎状态,但很重要
Active 成为活跃,开始转发数据 终于C位出道了

为什么会从Learn跳到Listen?因为收到了Hello报文,知道了谁是老大。我曾经在排障时发现,有一台路由器卡在Learn状态死活不动,最后发现是二层VLAN没放通……嗯,这种低级错误我也犯过。

4.1.3 配置示例

interface GigabitEthernet0/0
 ip address 192.168.1.2 255.255.255.0
 standby 1 ip 192.168.1.254
 standby 1 priority 150
 standby 1 preempt
 standby 1 timers 1 3

避坑指南:我曾经在配置preempt时忘了加,结果主路由器恢复后不会自动抢回,导致次优路径跑了半天。记住:preempt一定要配,除非你有特殊需求。

4.2 VRRP:标准化版本

VRRP是IETF标准(RFC 3768),说白了就是HSRP的“官方版”。各大厂商都支持,包括华为、华三、Juniper。

4.2.1 HSRP vs VRRP 对比

对比项 HSRP VRRP
标准 思科私有 IETF标准
虚拟MAC 0000.0c07.acXX 0000.5e00.01XX
主备角色 Active/Standby Master/Backup
Hello间隔 默认3秒 默认1秒
抢占默认 关闭 开启
支持IPv6 HSRPv2支持 VRRPv3支持

我个人习惯:纯思科环境用HSRP,混合厂商环境用VRRP。有一次帮客户做网络改造,他们既有思科又有华为,我二话不说全切成了VRRP,省得后面扯皮。

注意:VRRP的虚拟IP不能和物理接口IP相同,否则会冲突。我见过有人把虚拟IP配成和主路由器接口IP一样,结果ARP表乱成一锅粥。

4.3 GLBP:网关负载均衡

GLBP是思科的另一个私有协议,但它有个杀手锏——负载均衡。HSRP和VRRP都是主备模式,备机闲着。GLBP可以让多台路由器同时干活,利用率直接翻倍。

4.3.1 核心概念

  • AVG(Active Virtual Gateway):负责分配虚拟MAC地址,相当于“调度员”
  • AVF(Active Virtual Forwarder):实际转发数据的路由器,相当于“搬运工”
  • 负载均衡方式:轮询、加权、主机相关等

你想想看,三台路由器同时转发流量,带宽利用率从50%直接拉到接近100%。我在一个视频监控项目中用过GLBP,2000路摄像头同时上传,单台路由器根本扛不住,GLBP一上,稳得很。

4.3.2 配置示例

interface GigabitEthernet0/0
 ip address 192.168.1.2 255.255.255.0
 glbp 1 ip 192.168.1.254
 glbp 1 priority 150
 glbp 1 preempt
 glbp 1 load-balancing round-robin

实战要点:GLBP的负载均衡是基于客户端的MAC地址来分配AVF的。同一个客户端的所有流量会走同一台路由器,不会出现乱序问题。这一点比ECMP(等价多路径)要优雅得多。

4.3.3 三种负载均衡方式

方式 说明 适用场景
轮询(Round-Robin) 按顺序分配AVF 客户端数量多且均匀
加权(Weighted) 按优先级比例分配 路由器性能不一致
主机相关(Host-Dependent) 根据源MAC哈希分配 需要会话保持

我建议:如果路由器性能一样,用轮询最简单。如果有一台是低配版,用加权给它少分点流量。我曾经踩过一个坑——用了主机相关方式,结果某个网段的所有流量全打到了一台路由器上,因为它们的MAC地址哈希值撞了……嗯,后来改成了轮询,世界清净了。

4.4 实战对比总结

说了这么多,到底选哪个?我给你个简单粗暴的建议:

  • 小规模网络(2台路由器):HSRP或VRRP都行,看厂商
  • 混合厂商环境:VRRP,没得选
  • 需要负载均衡:GLBP,但必须是全思科
  • IPv6环境:VRRPv3或HSRPv2

个人习惯:我现在做设计,只要客户没指定,一律用VRRP。标准化、兼容性好、文档多,出了问题也好找人问。GLBP虽然好,但万一以后换华为设备,还得改配置,麻烦。

好了,网关冗余这块儿就聊到这儿。记住一句话:网关是网络的“大门”,大门不能只有一个。你想想看,如果大门坏了,所有人都得翻墙……嗯,那画面太美我不敢看。


公众号:蓝海资料掘金营,微信deep3321