不能从 A ping B,直到 B ping A

Eum*_*coz 6 networking arp ubuntu-12.04

我有一个服务器集群,全部连接在本地网络上(所有物理机,不是虚拟机)。当尝试从服务器 A ping 到 B 时,我得到一个Desitination Host Unreachable. 我可以从 B ping 到 A 没问题,然后我可以从 A ping 到 B 一小段时间。由于这种行为,我相信我有一个 ARP 问题,尽管我不知道如何解决它。运行时,arp -a我得到以下结果? (10.0.0.105) at <incomplete> on eth1,这是我尝试 ping 的 IP。不确定它是否有帮助,但这是我/etc/network/interfaces的两台机器的文件(我正在运行 Ubuntu 12.04 服务器)。

Server A
auto eth1
iface eth1 inet static
        address 10.0.0.102
        netmask 255.255.255.0

Server B
auto eth1
iface eth1 inet static
        address 10.0.0.105
        netmask 255.255.255.0
Run Code Online (Sandbox Code Playgroud)

其他每台服务器(我在这个网络中有 7 个)都可以 ping / 可以 ping 任何其他服务器。这只是两者之间的问题。任何帮助将不胜感激。

编辑

Server A
iptables --list 

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Server B
iptables --list

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Run Code Online (Sandbox Code Playgroud)

Sir*_*rch 6

听起来像 arp 问题,如果它的长跨 vlan 跨 vpn 或类似,您可能需要添加静态 arp 条目,以及本地交换机的以太网地址。

arp -s <destination address> <mac address> -i <interface to go out via>
Run Code Online (Sandbox Code Playgroud)

如果这就是修复,您将不得不将其添加到命令中以启动脚本。

  • 您可能想向您的友好网络人员发出支持电话,您不应该添加这个,交换机可能更喜欢执行 arp 代理,但告诉他们您做了什么来修复它,他们就会明白该怎么做。 (2认同)