我怎样才能修复一个糟糕的ARP条目?

我只是猜测,ARP是我的问题…

我有一个Linux drbd服务器集群设置,由于一些电源问题不得不拔掉连接两台服务器的交换机。 结果,两台服务器都变成了主服务器,并且花了相同的IP地址几秒钟。 (这导致了脑裂情况,但这是另一个问题)

我的问题是,现在有些服务器似乎能够看到群集的共享IP地址,有些则不能。 我想知道这是否可能是一些交换机/端口正在发送stream量到一台服务器,一些到另一个?

如果这是问题, 我该如何解决?

  • 和…这是在交换机,还是在服务器上完成?

如果真的是arp问题,则问题将局限于执行路由的networking设备(因为ARP用于将L3地址(IP)映射到L2地址(MAC)),或者可能在服务器的ARPcaching中在同一个IP子网中。 除非是L3交换机,否则不涉及交换机。

要解决思科路由器上的问题,您可以运行以下命令来清除arpcaching并允许它重build:

clear arp 

要从可能caching不良信息的服务器中删除错误的arp条目(因此,不是无法到达的服务器,而是无法到达的服务器),您可以手动删除ARP中的伪造条目caching,其中IP地址是无法到达的服务器的IP。 注意,这个语法在Linux和Windows上似乎都是有效的:

 arp -d <ip-address> 

您也可以从服务器发送一个无法访问的ARP,导致同一IP子网上的其他主机更新他们的ARPcaching(我在笔记中有这个,但是我承认我没有使用它我不记得是否允许你跳过上面的步骤,或者只是缩短其他主机在运行上面的命令后添加一个arp条目的过程):

 arping -q -A -c 1 -I eth0 <ip-address> arping -q -U -c 1 -I eth0 <ip-address> 

以上所有都是针对ARP问题的,但是您特别提到了一个问题。 如果是只使用L3进行pipe理的交换机,那么数据stream问题将不得不是MACcaching问题,而不是ARPcaching问题。 在这种情况下,您可以在交换机上运行以下命令来清除dynamiccaching内容:

 clear mac-address-table dynamic 

您可以在Linux中使用arp命令删除具有-d开关的特定条目。 如果你有pipe理交换机,你可以清除arpcaching,用cisco就可以clear arp 。 除此之外,您当然可以随时closures所有开关,并重新build立表格。

也是通过这个停电切断电源? 也许他们失去了最后一次configuration改变,就是说“对于这个mac地址,然后把数据包送到这两个端口”。

思科交换必须设置为像虚拟机的集线器,所以他们发送所有与虚拟机相关的包到两个主机。