两个不同系统的 VRRP ID 会发生冲突吗(keepalived 和 cisco/force10)

两个不同系统的 VRRP ID 会发生冲突吗(keepalived 和 cisco/force10)

由于 Keepalived 和 Cisco/Force10 都使用 VRRP,并使用 0-255 的 ID 范围:

1) 在同一个 VLAN 中使用相同的号码是否会导致问题。

2) 在同一个 VLAN 中使用不同的号码是否会导致问题。

3)在另一个 VLAN 上使用相同的组 ID 是否会导致问题。

我正在考虑为 Keepalived 保留最后 55 个组 ID,为 L3 交换机保留前 200 个组 ID。

答案1

VRID 在每个广播域 (VLAN) 上必须是唯一的,以便它能够唯一地标识虚拟路由器,并用于生成该虚拟路由器的 MAC 地址,以便回答您的​​具体问题

1) 是的,如果 KeepAlived 和您的 Cisco 路由器在同一个 VLAN 中对不同的 IP 集使用相同的 VRRP ID,那么您就会遇到问题,因为它们会混淆彼此的主选举和 ARP 地址。

2) 不,同一个 VLAN 中的不同号码是可以的。这是让多个虚拟路由器在同一个 VLAN 中运行的预期方式。

3)不,协议的设计是VRRP消息永远不应被路由,因此它们永远不会跨越广播域(VLAN)边界转发。

最终结果是,只要确保每个 IP 仅绑定到一个虚拟路由器,并且每个虚拟路由器都有唯一的 VRID,您就可以在同一个 VLAN 中拥有 255 个虚拟路由器。我认为您划分 ID 范围的方法是合理的,它的最大优点是您不需要第三个单独的系统来跟踪 VRID 的使用情况。只要 keepalived 坚持在其范围内并确保同一 VLAN 中的每个 keepalived 集群都使用唯一的 ID,那么它就不需要知道路由器使用的 VRID(反之亦然),这种方法的缺点是您在每个服务上设置的阈值较低。 (即,即使路由器可能只使用其 200 个 ID 范围中的 1 个,keepalived 也只能使用 55 个 VRID。但我的猜测是,这个缺点不会成为问题,如果单个广播域(VLAN/SUBNET)中的 VRRP 组超过 10 个,那么子网就太大了,可能需要分割成更小的块,而且在用完 VRID 之前,您很可能遇到广播流量过多的问题。

答案2

  1. 是的,当然。如果您不希望设备相互参与,请不要使用相同的 VRID。
  2. 不,不应该。否则,您将被限制在任何给定网络段中只有一个 VRRP 实例。
  3. 我不会期望它,因为多播消息不应该跨子网路由,但是如果同一设备位于多个 VLAN 中并参与具有相同 VRID 的多个 VRRP 实例,则可能会引起副作用。

通常,保持 VRID 在任何地方都是唯一的,应该会使任何数据包转储、调试或日志记录更容易破译。

相关内容