注意:这些机器连接到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不知何故)或它真的没有路线到目的地。 看看你的路由器的表格,或者直接修改你的主机的策略路由,因为他们应该这样做。