Warum das passiert
ping nutzt ICMP, während SSH und HTTPS TCP-Ports verwenden. Es handelt sich um getrennten Datenverkehr, und eine Firewall kann den einen verwerfen und den anderen durchlassen. Viele Netzwerke und Cloud-Sicherheitsgruppen blockieren ICMP-Echo standardmäßig. Eine fehlende Antwort bedeutet daher nicht, dass der Server ausgefallen ist, und eine Antwort beweist nicht, dass seine Dienste funktionieren.
Den Dienst testen, nicht ping
Prüfen Sie die Ports und Protokolle, die Sie tatsächlich benötigen. Sind diese Tests erfolgreich, ist der Server für diese Dienste erreichbar. Der fehlgeschlagene ping weist dann lediglich auf einen Filter irgendwo auf dem Weg hin.
nc -vz -w 5 server.example 22
nc -vz -w 5 server.example 443
curl -sSI https://server.example/Den Weg mit TCP verfolgen
Ein klassisches traceroute zeigt möglicherweise nur Sternchen, wenn ICMP oder UDP gefiltert wird. Mit TCP zu einem offenen Port kommen Sie oft weiter. Dafür benötigen Sie root-Rechte. Möglicherweise müssen Sie traceroute zunächst installieren, da es in Minimalsystemen nicht enthalten ist.
sudo traceroute -T -p 443 server.exampleDen Filter auf dem eigenen Server suchen
Wenn Sie den Server verwalten, prüfen Sie seine Firewall und die Kernel-Einstellung zum Ignorieren von Echo-Anfragen. Denken Sie daran, dass die Blockierung auch außerhalb des Servers liegen kann, in einer Sicherheitsgruppe oder einem Router. Zudem kann ein Anbieter ICMP in seinem Netzwerk filtern, ohne dass Sie eine Regel dafür sehen.
sysctl net.ipv4.icmp_echo_ignore_all
sudo nft list ruleset | grep -i icmp
sudo ufw status verboseWann blockiertes ICMP tatsächlich Störungen verursacht
Das Blockieren von Echo ist meist harmlos, das Blockieren sämtlicher ICMP-Nachrichten jedoch nicht. Die Path MTU Discovery ist auf Meldungen über zu große Pakete angewiesen. Ohne diese funktionieren kleine Übertragungen, während große hängen bleiben, etwa wenn eine SSH-Anmeldung gelingt, die Sitzung aber bei umfangreicher Ausgabe hängt. IPv6 ist noch stärker von ICMPv6 abhängig. Der zweite Befehl testet unter Linux einen Pfad auf eine MTU von 1500 Byte.
ip route get 192.0.2.10
ping -M do -s 1472 -c 3 192.0.2.10Vergleich in CH-J Server Manager
Server Diagnostics führt ping mit dem Systemwerkzeug ohne root-Rechte neben separaten Tests für TCP, SSH-Identifikation, HTTP und TLS aus. So lässt sich ein fehlgeschlagener ping im Zusammenhang beurteilen. Er bedeutet dort, dass keine Antwort eingetroffen ist. Wo das Paket verworfen wurde, sagt er nicht aus, und auch traceroute kann diese Frage möglicherweise nicht beantworten.