弊社のシステム管理者が、10.132.67.18 と 10.132.67.19 という 2 つの CentOS 仮想マシンを作成しました。どちらにも SSH で接続できますが、ネットワークで接続しようとすると、「ホストへのルートがありません」というメッセージが表示されます。
[email protected]:/# ssh 10.132.67.18
ssh: connect to host 10.132.67.18 port 22: No route to host
興味深いことに、ping は次のように機能します。
[email protected]:/#$ ping 10.132.67.18
PING 10.132.67.18 (10.132.67.18) 56(84) bytes of data.
64 bytes from 10.132.67.18: icmp_seq=1 ttl=64 time=0.319 ms
64 bytes from 10.132.67.18: icmp_seq=2 ttl=64 time=0.393 ms
両方のマシンで次のようになりますiptables -S
:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 10.128.31.0/24 -j ACCEPT
-A INPUT -s 10.120.0.0/16 -j ACCEPT
-A INPUT -s 10.70.1.32/32 -p udp -m udp --dport 161 -j ACCEPT
-A INPUT -s 10.70.1.144/32 -p udp -m udp --dport 161 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
これが原因でしょうか?10.132.67.18
そこにリストされていないので、デフォルトが ACCEPT か REJECT かはわかりませんが、最初の行から判断すると、おそらく ACCEPT でしょうか? 私は iptables の専門家ではありません...
答え1
10.132.67.XホストまたはネットワークにはルールがないのでACCEPT
、ssh接続はルールを満たしますj REJECT --reject-with icmp-host-prohibited
。そのため、ホストへのルートがありませんメッセージ。-p icmp -j ACCEPT
ルールでは Ping が受け入れられ、すべてのソースに適用されます。