ssh-没有到主机的路由

ssh-没有到主机的路由

我在 WLAN 路由器后面有 3 台机器(A、B 和 C)。我可以从 B 向 A 建立 SSH,也可以从 A 向 B 建立 SSH。C 和 A 之间的 SSH 也可以正常工作(两个目标,C->A 和 A->C)。但是当我尝试将 B 连接到 C 或将 C 连接到 B 时,总是

ssh: connect to host <HOST> port 22: No route to host

造成此错误的原因是什么?

编辑: 我犯了一个小错误——机器 A 已有线连接到路由器!

@ Marnix A. van Ammers: 这里有三个 ifconfig 输出:

机器 A:

$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:74:b8  
          inet addr:192.168.0.9  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::211:95ff:fe1c:74b8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4602075 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8746230 errors:0 dropped:0 overruns:13 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:816857533 (816.8 MB)  TX bytes:2974068829 (2.9 GB)
          Interrupt:11 Base address:0x1800 

机器B:

$ ifconfig wlan0
wlan0     Link encap:Ethernet  Hardware Adresse XX:XX:XX:XX:f8:7a  
          inet Adresse:192.168.0.5  Bcast:192.168.0.255  Maske:255.255.255.0
          inet6-Adresse: fe80::21b:77ff:feb6:f87a/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:39449 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36805 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:28118658 (28.1 MB)  TX bytes:5681482 (5.6 MB)

机器C:

$ ifconfig wlan0
wlan0     Link encap:Ethernet  Hardware Adresse XX:XX:XX:XX:a7:b5 
          inet Adresse:192.168.0.8  Bcast:192.168.0.255  Maske:255.255.255.0
          inet6-Adresse: fe80::226:b6ff:fe4e:a7b5/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:35 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:1611 (1.6 KB)  TX bytes:5613 (5.6 KB)

netstat 输出:

机器 A:

$ netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth0

机器B:

$ netstat -nr
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags   MSS Fenster irtt Iface
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 wlan0
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 wlan0

机器C:

$ netstat -nr
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags   MSS Fenster irtt Iface
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 wlan0
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 wlan0

答案1

看来多播在您的无线网络上无法可靠地工作,这会破坏 ARP。查看 B 和 C 上的 ARP 表,看看其中一台主机是否缺少另一台主机的 ARP 映射。尝试手动添加它,看看问题是否消失。然后您可以稍后解决无线网络的多播问题。

答案2

由于原始海报没有解释“路由器设置导致的问题”,因此我这样做:

一些无线路由器具有使无线连接的站点保持隔离的设置。

我们以TP-LINK TL-WR740N(V1或V2)为例。

在该型号的基于 Web 的管理的“无线高级”页面上,有复选框“启用 AP 隔离”,解释如下:

启用 AP 隔离 - 隔离所有连接的无线站,以使无线站无法通过 WLAN 相互访问。

答案3

检查机器C的网络设置。

如果您对机器 A 和 B 使用 DHCP(动态分配的 IP 地址),那么您可能也希望将机器 C 配置为使用 DHCP。

如果您使用静态 IP 寻址,请确保机器 C 具有正确的 IP 地址(最有可能的是,这意味着与机器 A 和机器 B 位于同一子网上的 IP 地址,因为您没有提到网络中的任何其他复杂性)。

相关内容