由于 Keepalived 和 Cisco/Force10 都使用 VRRP,并使用 0-255 的 ID 范围:
1) 在同一个 vlan 中使用相同的号码会导致问题。
2) 在同一个 vlan 中使用不同的号码会导致问题。
3) 在另一个 vlan 上使用相同的组 ID 会导致问题。
我正在考虑为 Keepalived 保留最后 55 个组 ID,为 L3 交换机保留前 200 个。
由于 Keepalived 和 Cisco/Force10 都使用 VRRP,并使用 0-255 的 ID 范围:
1) 在同一个 vlan 中使用相同的号码会导致问题。
2) 在同一个 vlan 中使用不同的号码会导致问题。
3) 在另一个 vlan 上使用相同的组 ID 会导致问题。
我正在考虑为 Keepalived 保留最后 55 个组 ID,为 L3 交换机保留前 200 个。
VRID 在每个广播域 (VLAN) 上必须是唯一的,以便用于唯一标识虚拟路由器并用于生成该虚拟路由器的 MAC 地址,以便回答您的具体问题
1) 是的,如果 KeepAlived 和您的 Cisco 路由器对同一 VLAN 中的不同 IP 集使用相同的 VRRP ID,您将遇到问题,因为它们会相互混淆主选举和 ARP 地址。
2)不,同一个VLAN中的不同号码是可以的。这是让多个虚拟路由器在同一个 VLAN 中运行的预期方式。
3) 不,该协议的设计是 VRRP 消息永远不应被路由,因此它们永远不会跨广播域 (VLAN) 边界转发。
最终结果是您可以在同一个 VLAN 中拥有 255 个虚拟路由器,只要您确保每个 IP 仅绑定到一个虚拟路由器并且每个虚拟路由器具有唯一的 VRID。我认为您划分 ID 范围的方法是合理的,它的最大优点是您不需要第三个单独的系统来跟踪 VRID 的使用情况。只要 keepalived 在其范围内并确保同一 VLAN 中的每个 keepalived 集群都使用唯一的 ID,那么它就不需要知道路由器使用的 VRID(反之亦然),这种方法的缺点是您在每项服务上设置的低阈值。(即 keepalived 只能使用 55 个 VRID,即使路由器可能只使用其 200 个 ID 范围中的 1 个。但我的猜测是,回退不会成为问题,
一般来说,保持 VRID 在任何地方的唯一性应该会使任何数据包转储、调试或日志记录更容易破译。