Linux 主机必须互相 Ping 才能通信

Linux 主机必须互相 Ping 才能通信

所以,我有一些我以前从未见过的奇怪的东西,而且有点难以描述。

假设我有 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 来确定问题是否出现在主机上或网络上的其他地方。网络。

相关内容