Unser Systemadministrator hat für mich zwei virtuelle CentOS-Maschinen erstellt, 10.132.67.18 und 10.132.67.19. Ich kann per SSH auf beide zugreifen, aber wenn ich versuche, sie miteinander zu vernetzen, erhalte ich die Meldung „Keine Route zum Host“:
[email protected]:/# ssh 10.132.67.18
ssh: connect to host 10.132.67.18 port 22: No route to host
Interessanterweise funktioniert 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
Auf beiden Maschinen ist Folgendes der Fall :
-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
Kann es daran liegen? Ich sehe es 10.132.67.18
dort nicht aufgelistet und weiß nicht, ob die Standardeinstellung ACCEPT oder REJECT ist, aber wahrscheinlich ACCEPT, basierend auf den ersten Zeilen? Ich bin kein iptables-Experte …
Antwort1
Sie haben keine ACCEPT
Regel für die 10.132.67.X-Hosts oder das Netzwerk, daher erfüllt die SSH-Verbindung die Regel j REJECT --reject-with icmp-host-prohibited
. Deshalb sehen Sie daskeine Route zum HostNachricht. Ping wird in der -p icmp -j ACCEPT
Regel akzeptiert, die für alle Quellen angewendet wird.