SSH连接错误:无主机路由

Modified on: Sat, 09 Jun 2018 15:21:53 +0800

此方案中有三台计算机:

  • 桌面A:user@1.23.x.x
  • 笔记本电脑A:user@1.23.y.y
  • 机器B:user@192.168.z.z

所有机器都有Ubuntu 11.04(桌面A是64位的)并且有openssh-server和openssh-client。

现在,当我尝试通过ssh user@1.23.y.y将桌面A连接到笔记本电脑A或反之亦然时,我收到错误

port 22: No route to host

在这两种情况下。

我拥有这两台机器,现在如果我从我朋友的机器上尝试相同的命令,即通过桌面B,我可以访问我的笔记本电脑和桌面。但是,如果我尝试从笔记本电脑或桌面访问桌面B,我会

port 22: Connection timed out

我甚至尝试过更改ssh端口号。在ssh_config文件中但没有成功。

注意:'笔记本电脑A'使用WiFi连接,而'机器A'使用以太网连接,'机器B'使用完全不同的网络。

@Lekensteyn这是 - >

笔记本电脑A&&桌面A - > Router / Nano_Rcvr由ISP提供给我。因此,对于一台路由器,两台机器已连接,可以同时访问。
这是我的两台机器的ifconfig输出: -
笔记本电脑

wlan0

      Link encap:Ethernet  HWaddr X:X:X:X:00:bc  
      inet addr:1.23.73.111  Bcast:1.23.95.255  Mask:255.255.224.0
      inet6 addr: fe80::219:e3ff:fe04:bc/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:108409 errors:0 dropped:0 overruns:0 frame:0
      TX packets:82523 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:44974080 (44.9 MB)  TX bytes:22973031 (22.9 MB)

桌面强>

eth0

      Link encap:Ethernet  HWaddr X:X:X:X:c5:78  
      inet addr:1.23.68.209  Bcast:1.23.95.255  Mask:255.255.224.0
      inet6 addr: fe80::227:eff:fe04:c578/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:10380 errors:0 dropped:0 overruns:0 frame:0
      TX packets:4509 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:1790366 (1.7 MB)  TX bytes:852877 (852.8 KB)
      Interrupt:43 Base address:0x2000 

输出 ip route show

      1.23.64.0/19 dev wlan0  proto kernel  scope link  src 1.23.73.111  metric 2 

      169.254.0.0/16 dev wlan0  scope link  metric 1000 

输出 traceroute -n 1.23.73.111

       traceroute to 1.23.73.111 (1.23.73.111), 30 hops max, 60 byte packets
       1  1.23.68.209  3008.787 ms !H  3008.786 ms !H  3008.784 ms !H
作者:,Nihar Sawant

最佳答案

路线看起来很好。我假设这些IP地址是私有的(LAN),不能公开访问。

由于您以不同的方式连接到网络(wifi /有线),因此您的路由器很可能具有分离的有线/无线网络。尝试在有线(或无线)连接上连接它们。另一种可能性是Ubuntu机器上的防火墙阻止连接。

否则,将路由器配置为使用相同的网络(子网)进行无线和有线连接。还要确保路由器不会阻止客户端到客户端的通信。

您的路由器可能会丢弃所有未经请求的数据包,这就是您的朋友在您的公共IP地址上收到“连接超时”消息的原因。配置NAT端口转发,以便公共IP地址+端口组合转发到您的LAN地址。

网络示例:

YOUR NETWORK (A)
    Router A (public address: 198.51.100.1)
    Desktop A - 10.0.0.2
    Laptop  A - 10.0.0.3

YOUR FRIENDS NETWORK (B)
    Router B (public address: 203.0.113.1)
    Machine B - 192.168.0.2

路由器A 上,设置NAT转发:

To make your desktop accessible:
  forward the public port 22 to 10.0.0.2
To make your laptop accessible:
  forward the public port 2222 to 10.0.0.3

如果您在计算机上设置了防火墙(ufwiptables,...),则允许传入流量到端口22(桌面A)和端口2222 (笔记本电脑A)。

现在可以使用SSH访问桌面:

ssh user@198.51.100.1 -p 22

现在可以使用SSH访问笔记本电脑:

ssh user@198.51.100.1 -p 2222

如果您想访问朋友计算机,请将这些说明应用到他的计算机+路由器。

作者:Lekensteyn

相关问答

添加新评论