VRRP
VRRP 原理与配置详解:构建高可用的网络网关
在企业网络中,网关是所有内部设备访问外部网络的关键出口。但如果这台网关设备发生故障,整个网络的对外访问就会中断,这被称为“单点故障”。为了解决这个问题,虚拟路由冗余协议 (Virtual Router Redundancy Protocol, VRRP) 应运而生。它能够提供一个高可用的网关,确保网络连接的持续性和稳定性。
本文将详细介绍 VRRP 的工作原理,并提供一份清晰的命令行配置教程。
一、VRRP 的核心工作原理
VRRP 的核心思想是将局域网中的多台物理路由器(或三层交换机)虚拟成一台逻辑上的虚拟路由器。这台虚拟路由器拥有自己独立的 IP 地址和 MAC 地址。局域网内的所有客户端设备,都将它们的默认网关设置为这台虚拟路由器的 IP 地址。
这样一来,客户端无需关心背后到底是哪一台物理路由器在工作。它们只需要知道这个永不“宕机”的虚拟网关地址即可。
1. 角色分工:Master 与 Backup
在一个 VRRP 组中,路由器扮演两种角色:
Master (主路由器):
- VRRP 组中唯一处于活动状态的路由器。
- 它实际承担着所有数据包的转发工作。
- 它会响应针对虚拟 IP 地址的 ARP 请求,并使用虚拟 MAC 地址进行应答。
- Master 会周期性地发送 VRRP 心跳包(通告报文),向组内的其他路由器宣告自己“还活着”。
Backup (备份路由器):
- 处于监听状态的备用路由器。
- 它会持续监听 Master 发送的心跳包。
- 一旦在指定时间内(默认为 Master 宣告周期的3倍)没有收到心跳包,Backup 路由器就会认为 Master 已经失效,并立即开始竞选,试图成为新的 Master。
2. 选举机制:谁来当 Master?
Master 的选举过程简单而高效,主要基于以下两个因素:
优先级 (Priority):
- 每个路由器在 VRRP 组中都有一个优先级,范围是 1-255(默认值为 100)。
- 优先级越高的路由器,越有可能成为 Master。
- 通常,我们会手动将希望成为 Master 的路由器优先级设置得更高(如 120)。
IP 地址:
- 如果在优先级相同的情况下,接口 IP 地址较大的路由器将获胜,成为 Master。
3. 抢占模式 (Preemption)
抢占模式决定了当一台更高优先级的路由器加入 VRRP 组时,是否要“夺回”Master 的角色。
- 开启抢占(默认):如果一台新的(或恢复的)路由器具有比当前 Master 更高的优先级,它会立即触发选举,成为新的 Master。这确保了网络总是由最“合适”的设备作为网关。
- 关闭抢占:即使有更高优先级的路由器加入,只要当前的 Master 还在正常工作,就不会发生切换。只有当 Master 故障时,才会进行重新选举。
4. 心跳与切换
- Master 路由器默认每隔 1 秒 向组内发送一个 VRRP 心跳包(使用组播地址
224.0.0.18)。 - Backup 路由器会启动一个计时器。如果在 3 秒(
Master_Down_Interval)内没有收到心跳,它就认为 Master 失效。 - 此时,所有 Backup 路由器会根据优先级和 IP 地址开始选举,获胜者将自己的状态切换为 Master,并立即对外发送免费 ARP(Gratuitous ARP)报文,以刷新局域网内设备和交换机的 MAC 地址表,将指向旧 Master 的流量牵引到自己身上,整个切换过程对客户端是透明的。
二、VRRP 配置命令教程
下面我们通过一个典型的场景来演示如何配置 VRRP。假设我们有两台核心交换机(Router A 和 Router B)为某个 VLAN(例如 VLAN 10)提供网关冗余。
网络拓扑:
- Router A (RA):
192.168.10.2/24- 计划作为 Master - Router B (RB):
192.168.10.3/24- 计划作为 Backup - 虚拟网关 IP (VIP):
192.168.10.1/24 - VRRP 组 ID (VRID):
10
注意:不同厂商(如思科、华为、H3C)的命令会略有差异,但核心参数和逻辑是相同的。以下为通用风格的命令示例。
步骤 1:配置接口 IP 地址
在 Router A 上:
1 | # 进入系统视图 |
在 Router B 上:
1 | # 进入系统视图 |
步骤 2:在 Router A (Master) 上配置 VRRP
1 | # 继续在 Router A 的 interface Vlan-interface10 视图下 |
步骤 3:在 Router B (Backup) 上配置 VRRP
1 | # 在 Router B 的 interface Vlan-interface10 视图下 |
步骤 4:验证配置
配置完成后,可以使用以下命令来查看 VRRP 的状态。
1 | # 显示 VRRP 的简要状态信息 |
- 在 Router A 上,您应该能看到状态为
Master。 - 在 Router B 上,您应该能看到状态为
Backup。
此时,您可以尝试 ping 192.168.10.1,应该可以 ping 通。然后将 Router A 的 VLAN 10 接口 shutdown,再次 ping 192.168.10.1,会发现仅中断了数秒后网络便恢复正常。再次查看 display vrrp brief,会发现 Router B 已经成为了新的 Master。
(进阶) 配置上行链路追踪
一个常见的需求是,如果 Master 的外网口(上行链路)断了,也应该进行主备切换。这可以通过追踪 (track) 功能实现。
假设 Router A 的上行接口是 GigabitEthernet 0/0/1。
1 | # 在 Router A 的 interface Vlan-interface10 视图下 |
配置后,一旦 G0/0/1 接口故障,Router A 的 VRRP 优先级会从 120 降为 90,低于 Router B 的 100,从而自动触发主备切换。
总结
VRRP 是一个简单而强大的协议,它通过虚拟化网关,极大地提升了网络的可靠性。通过合理的优先级和抢占模式配置,结合链路追踪功能,您可以构建一个几乎不会中断的、高可用的网络出口,为业务的连续性提供坚实保障。
