所以,我有一些我以前从未见过的奇怪的东西,而且有点难以描述。
假设我有 2 个服务器。
服务器A:192.168.1.5,服务器B:192.168.1.21
这两台服务器位于同一子网中,可以正常 ping 通互联网。他们还可以正常 ping 其他子网上的服务器。他们还可以 ping 同一子网内的 Windows 主机。
但是,如果两台主机都运行 Linux(比如 Ubuntu Server 或 CentOS 7,或者两者的混合——两台机器都运行 Linix),会发生什么情况。
如果服务器 A 对服务器 B 执行 ping 操作,则无响应。
如果服务器 B 对服务器 A 执行 ping 操作,则没有响应。
如果服务器 A 和服务器 B 同时互相 ping 通,它就会开始响应,直到其中一台服务器重新启动,然后我又会遇到同样的问题。只要其中一台主机不重新启动,它就会整天来回传递流量。
如果您有两到三台服务器,这是一个很好的临时修复方法。但我的网络上有 80 多台服务器,每次重新启动时都必须为网络上的每台主机执行此操作,这真的很烦人。
我该如何解决这样的问题?
答案1
尝试在每台服务器上手动创建指向另一台服务器的 ARP 条目。
在服务器A上:
arp -s <B-Server's ip> <B-Server's MAC>
arp -s 192.168.1.21 01:23:45:67:89:AB
在服务器B上:
arp -s <A-Server's ip> <A-Server's MAC>
arp -s 192.168.1.5 AB:89:67:45:23:01
将上面的 MAC 地址替换为实际的 MAC 地址。
答案2
虽然看起来问题确实与 ARP 有关,并且 Eduardo 的答案作为诊断和解决方法具有一定的价值,但它不是解决方案。
遗憾的是我没有解决方案 - 这是一个非常奇怪的问题。
如果是我的网络,我会非常仔细地查看网络上的任何交换机,检查重复的 IP 地址,并在混杂模式下使用 Wireshark 和 NIC 来确定问题是否出现在主机上或网络上的其他地方。网络。