VRRP 与 HSRP 让两台路由器共用一个虚拟网关,切换时终端完全不知道。 但它只解决「网关」这一环——上行断了它不管,这是现场最容易漏的配置。
上一节讲拨号,这一节讲「网关坏了怎么办」。 03.05.05 的浮动静态是最原始的高可用,这一节是标准做法。
一、三步机制
一、两台路由器配同一个虚拟 IP 与虚拟 MAC。这就是终端的网关。 二、它们互发通告,优先级高的当主(Master),另一台做备(Backup)。 三、备用收不到通告(约 3 秒),就接管虚拟 IP 与虚拟 MAC。
终端为什么「完全不知道」:因为虚拟 IP 与虚拟 MAC 一起漂移。 终端的 ARP 缓存里存的是虚拟 MAC,网关换了但 MAC 没换,所以不用重学。 这一条是设计的关键,也是最容易被忽略的细节。
二、切换时间怎么算
切换时间等于「通告间隔 × 判定次数」: 间隔 1 秒、丢 3 次判定失效 → 约 3 秒。间隔 1 秒、丢 4 次 → 约 4 秒。间隔 2 秒、丢 3 次 → 约 6 秒。
3 秒左右是默认值。对「上网」够了,但对 VoIP 与在线会议来说,3 秒已经掉线了。
要更快得上 BFD:它把探测做到毫秒级,配合 VRRP 一起用, 可以把切换压到 50 毫秒以内——这是语音能容忍的上限。
三、它不管「上行链路断没断」
这是本节最重要的一条。
主路由器的上行断了、但设备本身活着——它还是 Master,流量还是往它走,然后全丢掉。 VRRP 什么都不做,因为它看到的「自己」是正常的。
所以必须做「上行链路跟踪」:主路由器发现自己上行断了,主动把优先级降低,让备用接管。 这一步是现场最容易漏的配置——配了 VRRP 就以为高可用做完了。
四、三层高可用要一起做
网关冗余:VRRP/HSRP,解决「网关这台设备挂了」。 链路冗余:双上行、链路聚合,解决「那条线断了」。 路径冗余:动态路由或浮动静态,解决「那个方向不通了」。
三样缺一样,高可用就是纸面上的。 而且它们必须互相知道:链路切换后路由要跟着变,否则流量会走到一条已经断了的路上。
一条检验办法:真拔一次线。高可用方案不实测, 等于没做——而且它会在最不该出问题的时候出问题。
五、动手 Demo:VRRP 与 HSRP,两台路由器怎么共用一个网关
这段列出三步机制,再按「通告间隔 × 判定次数」算三组参数下的切换时间,并对比 BFD 的毫秒级探测。
for iv, cnt in ((1, 3), (1, 4), (2, 3)):
P(u" 间隔 %d 秒、丢 %d 次:约 %d 秒切换。" % (iv, cnt, iv * cnt))
实跑输出:
--------------------------------------------------------------------
VRRP 与 HSRP,两台路由器怎么共用一个网关
--------------------------------------------------------------------
**终端只配一个网关地址。**网关那台路由器坏了怎么办?
**办法是让两台路由器共用一个「虚拟网关地址」。**
**机制只有三步**:
1. 两台路由器配同一个虚拟 IP(VIP)与虚拟 MAC。**这就是终端的网关。**
2. 它们互相发通告,**优先级高的当主(Master),另一台做备(Backup)。**
3. 备用收不到通告(约 3 秒),就接管 VIP 与虚拟 MAC。**终端完全不知道。**
**为什么终端「完全不知道」**:因为 **VIP 与虚拟 MAC 一起漂移**。
终端的 ARP 缓存里存的是虚拟 MAC,**网关换了但 MAC 没换,所以不用重学。**
**算一下切换时间**:
通告间隔 1 秒、连续丢 3 次判定失效:约 3 秒切换。
通告间隔 1 秒、连续丢 4 次判定失效:约 4 秒切换。
通告间隔 2 秒、连续丢 3 次判定失效:约 6 秒切换。
**3 秒左右是默认值。**对「上网」够了,
**但对 VoIP 与在线会议来说,3 秒已经掉线了。**所以有更快的方案:**BFD 能把探测做到毫秒级**,
配合 VRRP 一起用。
**还有一件重要的事:VRRP 只解决「网关」这一环。**
**它不管「上行链路断没断」。**
· 主路由器的上行断了、但设备本身活着 → **它还是 Master,流量还是往它走,然后丢掉。**
· **所以要做「上行链路跟踪」**:主路由器发现上行断了,主动降优先级,让备接管。
**这一步是现场最容易漏的配置**:配了 VRRP 就以为高可用做完了,
**结果断的是上行,VRRP 什么都不做,业务照样停。**
「约 3 秒」是默认值,不是下限:把间隔调到 300 毫秒能把切换压到 1 秒以内, 但代价是通告报文变多,而且网络抖动时容易误切换。
「虚拟 MAC 一起漂移」这一条要展开:如果只漂 IP 不漂 MAC,终端要重新 ARP, 切换时间会多几百毫秒到几秒。 所以虚拟 MAC 不是「可选项」,是这套机制能「无感」的前提。
最后那句「真拔一次线」是这一节最实用的建议:高可用的故障大多不是「没配」, 是「配了但有一环没接上」——比如上行跟踪没做、比如备用机的 ARP 表里没有对端。 这些只有实测能发现。
30 秒实验
- 查一下你的网络里有没有用 VRRP 或 HSRP。
- 看两台路由器的优先级分别是多少。
- 想一想:如果主路由的上行断了,会切吗?
常见误区
- 以为配了 VRRP 就高可用了。上行断了它不管。
- 以为切换是「瞬间」的。默认 3 秒,语音业务已经掉线。
- 以为虚拟 IP 漂移就够了。虚拟 MAC 不漂,终端要重学 ARP。
自测三问(点开对答案)
1. VRRP 切换时终端为什么感知不到? —— 虚拟 IP 与虚拟 MAC 一起漂移,终端 ARP 缓存不用更新。 2. 默认切换时间约多少?由什么决定? —— 约 3 秒,由通告间隔乘判定次数决定。 3. 为什么配了 VRRP 还要做上行链路跟踪? —— 设备活着但上行断了时,VRRP 不会切换,流量会被黑洞。下一节:谁能登这台设备——认证。
- ☐ (本节完,下一节 03.06.07 认证)