平的作品,但SSH失败

  1. machine1 IP:172.30.11.119
  2. machine2 IP:172.30.11.120
  3. machine3 IP:172.30.11.121
  4. machine4 IP:172.30.11.122

注意:这些机器连接到LAN。

我已经在/ etc / network / interfaces文件中为每台机器的以太网接口configuration了静态IP,以便即使在系统重新启动后仍保留IP。

我在机器4中将默认网关设置为172.30.11.97(为了从用户桌面通过putty连接pipe理器访问它)

allow-hotplug eth0 iface eth0 inet static address 172.30.11.122 netmask 255.255.255.0 gateway 172.30.11.97 

但在其他3台机器中,我没有将默认网关设置为122.相反,我尝试了在“interfaces”和“rt_table”文件中的以下3台机器中的策略路由

  echo "1 policy_gw" >> /etc/iproute/rt_table In /etc/iproute/rt_table: 1 policy_gw 

在/ etc / network / interfaces中:

  allow-hotplug eth0 iface eth0 inet static address 172.30.11.121 netmask 255.255.255.0 post-up ip rule add dev eth0 table policy_gw post-up ip route add default via 172.30.11.97 dev etho src 172.30.11.121/24 table policy_gw 

这样做的120/119机器。 现在我可以通过腻子直接到达这些机器。

面临的问题 :我能够从同一局域网内的其他一台机器ping到这个局域网中的每台机器。 但ssh失败,错误port 22: no route to host

假设我在机器121:ssh 172.30.11.120正在抛出上述错误。

默认网关是一个思科系统路由器/交换机。它们阻止SSH,Telnet协议但不是ICMP的端口。

机器122的路由表

 root@debian:~# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.30.11.97 0.0.0.0 UG 0 0 0 eth1 172.30.11.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 

ssh_config文件的内容

 Host * SendEnv LANG LC_* HashKnownHosts yes GSSAPIAuthentication yes GSSAPIDelegateCredentials no 

您是否位于同一个物理networking中?

“没有路由到主机” – 它似乎是从您的路由器icmp答案,您可以testing它与networking分析仪。 看起来你的SSHstream量通过路由器,尽pipe主机位于同一networking,也许你的policy_gw表具有更高的优先级,比内置表本地。 路由器拒绝转发它(但在同一时间它允许ICMP不知何故)或它真的没有路线到目的地。 看看你的路由器的表格,或者直接修改你的主机的策略路由,因为他们应该这样做。