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