为什么 VRRP 需要 /32 网络掩码?

为什么 VRRP 需要 /32 网络掩码?

在 VRRP 配置中,我一直使用 /32 子网掩码,但我不知道背后的原因。

有时我使用相同的子网掩码作为主接口,例如 /24,在某些情况下它可以起作用,而在其他情况下,直到我设置 /32 才起作用。

例如,Mikrotik 文档 指出了这一点,但没有解释:

注意:如果 VRRP 上配置的地址与路由器的任何其他接口上的地址来自同一子网,则 VRRP 接口上的地址必须具有 /32 网络掩码。

这真的是要求吗?在 FreeBSD CARP 上我没有发现类似的要求。

答案1

虚拟 IP 地址(无论是 VRRP、HSRP、GLBP 还是 CARP 使用)就是 IP 地址。它没有子网掩码。

例如,在 Cisco 路由器上,您可以像这样配置 HSRP:

interface GigabitEthernet0/0
  ip address 192.168.1.2 255.255.255.0
  standby 1 ip 192.168.1.1

VRRP也是同样的道理:

interface GigabitEthernet0/0
  ip address 192.168.1.2 255.255.255.0
  vrrp 1 ip 192.168.1.1

我认为在 Linux 上,需要将物理接口上的所有附加 IP 地址配置为 /32,类似于 Microtik 路由器上的 VRRP 限制。这些限制是由实现而不是协议施加的。如果 Linux 或 Microtik 程序员以不同的方式实现该概念,也许您可​​以提供任何子网掩码或根本不提供子网掩码。毕竟,它不需要子网掩码,因为它可以从物理接口获取此信息。

相关内容