linux – ping工作但ssh失败
> machine1 IP:172.30.11.119
> machine2 IP:172.30.11.120 > machine3 IP:172.30.11.121 > machine4 IP:172.30.11.122
我已经在/ etc / network / interfaces文件中为每台机器的以太网接口配置了静态IP,以便在系统重启后保持IP. 我在机器4中将默认网关设置为172.30.11.97(以便通过putty连接管理器从用户桌面访问它) allow-hotplug eth0 iface eth0 inet static address 172.30.11.122 netmask 255.255.255.0 gateway 172.30.11.97 但是在其他3台机器中,我没有像122那样设置默认网关.相反,我在“接口”和“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机器一样.现在我可以直接通过putty到达这些机器. 面临的问题:我能够从同一局域网中的其他机器ping这个局域网中的每台机器.但是ssh因错误端口22而失败:没有到主机的路由 假设我在机器121中:ssh 172.30.11.120抛出上述错误.
机器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 解决方法
您是否位于同一物理网络中?
“没有主机路由” – 它似乎是你的路由器的一个icmp答案,你可以用网络分析仪测试它.看来你的ssh流量通过路由器传输,尽管主机位于同一网络中,也许你的policy_gw表优先于内置表本地.路由器拒绝转发它(但同时它允许icmp以某种方式)或它真的没有到目的地的路由.请查看您的路由器表或更正您的主机直接通话的策略路由. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |