CH-J Server Managerszerverkezelés SSH felett
Menü
Minden útmutató és cikk →

A ping nem működik, de az SSH és a HTTPS igen: miért, és ez probléma?

Miért hagyhatja figyelmen kívül a szerver a ping kéréseit normál működés mellett, hogyan tesztelhetők közvetlenül a szolgáltatások, és mikor okoz valódi hibát az ICMP blokkolása.

Miért történik ez?

A ping ICMP-t használ, míg az SSH és a HTTPS TCP-portokat. Ezek különálló forgalmak, és a tűzfal az egyiket eldobhatja, a másikat pedig átengedheti. Sok hálózat és felhőbeli biztonsági csoport alapértelmezés szerint blokkolja az ICMP echo forgalmat. A válasz hiánya ezért nem jelenti azt, hogy a szerver leállt, a válasz pedig nem bizonyítja, hogy a szolgáltatásai működnek.

A szolgáltatást tesztelje, ne a ping működését

Azokat a portokat és protokollokat ellenőrizze, amelyekre ténylegesen szüksége van. Ha ezek tesztje sikeres, a szerver az adott szolgáltatásokhoz elérhető, és a sikertelen ping csak egy valahol az útvonalon működő szűrőt jelez.

nc -vz -w 5 server.example 22
nc -vz -w 5 server.example 443
curl -sSI https://server.example/

Útvonal követése TCP-vel

A hagyományos traceroute csak csillagokat jeleníthet meg, ha az ICMP vagy az UDP szűrve van. Egy nyitott port felé küldött TCP-forgalommal gyakran tovább juthat. Ehhez root jogosultság szükséges, és a traceroute eszközt esetleg előbb telepíteni kell, mert a minimális rendszerek nem tartalmazzák.

sudo traceroute -T -p 443 server.example

Keresse a szűrőt a szerveren

Ha Ön kezeli a szervert, nézze meg a tűzfalát és az echo kérések figyelmen kívül hagyását szabályozó kernelbeállítást. Ne feledje, hogy a blokkolás a szerveren kívül, egy biztonsági csoportban vagy útválasztón is történhet, és a szolgáltató úgy is szűrheti az ICMP-t a hálózatában, hogy Ön nem lát hozzá szabályt.

sysctl net.ipv4.icmp_echo_ignore_all
sudo nft list ruleset | grep -i icmp
sudo ufw status verbose

Amikor az ICMP blokkolása valóban hibát okoz

Az echo blokkolása többnyire ártalmatlan, de az összes ICMP-forgalom blokkolása nem az. Az útvonal MTU-jának felderítése a túl nagy csomagról szóló üzenetekre támaszkodik. Ezek nélkül a kis adatcserék működnek, a nagyok viszont elakadnak: például az SSH-bejelentkezés sikerül, de nagy mennyiségű kimenetnél megáll a kapcsolat. Az IPv6 még inkább függ az ICMPv6 működésétől. A második parancs Linuxon 1500 bájtos MTU-val teszteli az útvonalat.

ip route get 192.0.2.10
ping -M do -s 1472 -c 3 192.0.2.10

Összehasonlítás a CH-J Server Manager alkalmazásban

A Server Diagnostics a rendszer eszközével, root jogosultság nélkül futtatja a ping tesztet, külön TCP-, SSH-azonosítási, HTTP- és TLS-tesztek mellett, így a sikertelen ping az összefüggéseiben értelmezhető. A sikertelen ping itt azt jelenti, hogy nem érkezett válasz. Nem mutatja meg, hol dobták el a csomagot, és erre a traceroute sem feltétlenül ad választ.

Részletes dokumentáció

RFC 4890: ICMPv6 filtering →

man: ping →

Biometrikus feloldás és biztonság →