我的网络中有两台主机。两台主机都连接到我的路由器。从另一台主机,我可以 ping 和 ssh 到这两台主机。两台主机都与所有其他主机有良好的连接。但是,它们无法 ping 或看到对方。一台(192.168.124.101,称为 Hallway)运行 Ubuntu 14.10,另一台(192.168.124.104,称为 Rapunzel)是带有 Raspbian 的 Raspberry Pi。两个地址都是静态的。主机通过电力线适配器连接到电网。
一些输出:
jos@hallway:~$ ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:14:85:82:2a:2f
inet addr:192.168.124.101 Bcast:192.168.124.255 Mask:255.255.255.0
inet6 addr: fe80::214:85ff:fe82:2a2f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2959658 errors:0 dropped:91 overruns:0 frame:0
TX packets:2366877 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3406445368 (3.4 GB) TX bytes:964531766 (964.5 MB)
Interrupt:21
jos@hallway:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default Comtrend.Home 0.0.0.0 UG 0 0 0 eth1
192.168.124.0 * 255.255.255.0 U 0 0 0 eth1
jos@hallway:~$ arp -a 192.168.124.104
rapunzel (192.168.124.104) at b8:27:eb:a4:84:a3 [ether] PERM on eth1
反之亦然:
pi@Rapunzel ~ $ ifconfig eth0
eth0 Link encap:Ethernet HWaddr b8:27:eb:a4:84:a3
inet addr:192.168.124.104 Bcast:192.168.124.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:60981 errors:0 dropped:0 overruns:0 frame:0
TX packets:40710 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:19883333 (18.9 MiB) TX bytes:2562029 (2.4 MiB)
pi@Rapunzel ~ $ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default Comtrend.Home 0.0.0.0 UG 0 0 0 eth0
192.168.124.0 * 255.255.255.0 U 0 0 0 eth0
pi@Rapunzel ~ $ arp -a 192.168.124.101
hallway (192.168.124.101) at 00:14:85:82:2a:2f [ether] on eth0
我尝试添加和删除路由和 arp 条目。但是,当前的 arp 条目是自动添加的(因此一些某种联系)。起初,任ping
一方都会提到另一方是“目标主机无法访问”。arp 条目会给出“<incomplete>”作为 MAC 地址。添加 arp 条目后,ping 只是超时。
这可能不是防火墙问题,因为我从未在这两台机器上使用过 iptables(sudo iptables -L
在两台主机上都给出默认输出)。我重新启动了两台机器和路由器,但到目前为止没有任何帮助。
直到昨天我断开并重新连接其中一台主机时,一切才恢复正常。我忽略了什么?
编辑:我tcpdump arp
从主机 101 运行了一个,果然,我收到了许多如下请求:
23:12:23.460191 ARP, Request who-has hallway tell rapunzel, length 46
23:12:23.460214 ARP, Reply hallway is-at 00:14:85:82:2a:2f (oui Unknown), length 28
那么为什么其他流量都无法通过呢?
我从两侧进行了 arping 探测:
jos@hallway:~arping -b -D -w 2000 -I eth1 -s 192.168.124.101 192.168.124.104
ARPING 192.168.124.104 from 192.168.124.101 eth1
^CSent 38 probes (38 broadcast(s))
Received 0 response(s)
另一端也有类似的东西(只是格式不同,毕竟这是 Raspbian)。
答案1
这可能是一个愚蠢的问题:它们都是直接连接到路由器还是通过交换机?如果通过交换机,请关闭两台主机,关闭交换机,关闭路由器。打开路由器,打开交换机,打开主机。
(如果您能给我提供有关交换机确切品牌的更多信息,我或许可以告诉您如何重置交换机的 3 个端口)
由于并非所有人都使用电力线适配器,因此保留上述内容,但拔下/重新插入电力线适配器和/或更新其固件以“解除”它们的连接...>:)
答案2
事实证明,这并不像乍一看那么有趣。正如 Fabby 提到的,电力线适配器肯定卡住了。我将其中一台主机连接到另一个适配器,它立即工作了。然后我将其重新连接到第一个适配器,再次没有流量通过。虽然看起来适配器有硬件故障,但请记住,它只会阻止往返于一台特定主机的流量。感谢 Fabby 和 Alaa Ali 的建议。