Varför det händer
ping använder ICMP, medan SSH och HTTPS använder TCP-portar. Det är separata trafiktyper, och en brandvägg kan kasta bort den ena och släppa igenom den andra. Många nätverk och säkerhetsgrupper i molnet blockerar ICMP echo som standard. Ett uteblivet svar betyder därför inte att servern är nere, och ett svar bevisar inte att tjänsterna fungerar.
Testa tjänsten, inte ping
Kontrollera de portar och protokoll du faktiskt behöver. Om testerna lyckas är servern nåbar för de tjänsterna, och ett misslyckat ping visar bara att det finns ett filter någonstans längs vägen.
nc -vz -w 5 server.example 22
nc -vz -w 5 server.example 443
curl -sSI https://server.example/Spåra vägen med TCP
En klassisk traceroute kan visa enbart asterisker när ICMP eller UDP filtreras. Med TCP till en öppen port kan du ofta komma längre. Det kräver root, och traceroute kan behöva installeras först eftersom minimala system inte innehåller det.
sudo traceroute -T -p 443 server.exampleLeta efter filtret på din server
Om du administrerar servern ska du granska dess brandvägg och kärninställningen som ignorerar echo-förfrågningar. Kom ihåg att blockeringen också kan ligga utanför servern, i en säkerhetsgrupp eller router, och att en leverantör kan filtrera ICMP i sitt nätverk utan att du ser någon regel.
sysctl net.ipv4.icmp_echo_ignore_all
sudo nft list ruleset | grep -i icmp
sudo ufw status verboseNär blockerad ICMP orsakar fel
Att blockera echo är oftast harmlöst, men att blockera all ICMP är det inte. Identifiering av sökvägens MTU bygger på meddelanden om för stora paket. Utan dem fungerar små datautbyten medan stora stannar av, till exempel när en SSH-inloggning lyckas men sedan hänger sig vid stora utmatningar. IPv6 är ännu mer beroende av ICMPv6. Det andra kommandot testar en väg för MTU på 1500 byte i Linux.
ip route get 192.0.2.10
ping -M do -s 1472 -c 3 192.0.2.10Jämför i CH-J Server Manager
Server Diagnostics kör ping via systemverktyget utan root, tillsammans med separata tester av TCP, SSH-identifiering, HTTP och TLS, så att ett misslyckat ping kan bedömas i sitt sammanhang. Ett misslyckat ping där betyder att inget svar kom fram. Det säger inte var paketet kastades bort, och en traceroute kanske inte heller kan ge svar på det.