CH-J Server Managerserverihaldus üle SSH
Menüü
Kõik juhendid ja artiklid →

ping ebaõnnestub, kuid SSH ja HTTPS töötavad: miks ja kas see on probleem?

Miks server võib ping päringuid eirata ja siiski normaalselt töötada, kuidas teenuseid otse testida ning millal blokeeritud ICMP tegelikke tõrkeid põhjustab.

Miks see juhtub

ping kasutab ICMP protokolli, SSH ja HTTPS aga TCP-porte. Need on eraldi liiklusvood ning tulemüür võib ühe hüljata ja teise läbi lasta. Paljud võrgud ja pilve turvarühmad blokeerivad ICMP kajapäringud vaikimisi. Vastuse puudumine ei tähenda seega, et server on maas, ning vastus ei tõenda, et selle teenused töötavad.

Testi teenust, mitte ping vastust

Kontrolli porte ja protokolle, mida tegelikult vajad. Kui testid õnnestuvad, on server nende teenuste jaoks kättesaadav ning ebaõnnestunud ping viitab vaid filtrile kusagil teel.

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

Jälita teekonda TCP abil

Tavaline traceroute võib näidata ainult tärne, kui ICMP või UDP on filtreeritud. Avatud pordile TCP abil lähenedes saad sageli kaugemale. See nõuab root õigusi ning traceroute võib vajada esmalt paigaldamist, sest minimaalsed süsteemid seda ei sisalda.

sudo traceroute -T -p 443 server.example

Otsi filtrit oma serverist

Kui haldad serverit, vaata üle selle tulemüür ning tuuma säte, mis eirab kajapäringuid. Pea meeles, et blokeering võib olla ka väljaspool serverit, turvarühmas või ruuteris, ning teenusepakkuja võib oma võrgus ICMP liiklust filtreerida nii, et sa ei näe ühtegi reeglit.

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

Millal blokeeritud ICMP tõesti tõrkeid põhjustab

Kajapäringute blokeerimine on enamasti kahjutu, kuid kogu ICMP blokeerimine ei ole. Teekonna MTU tuvastamine sõltub liiga suure paketi kohta saadetavatest teadetest. Ilma nendeta toimivad väikesed andmevahetused, kuid suured jäävad toppama, näiteks õnnestub SSH sisselogimine, kuid seanss hangub mahuka väljundi korral. IPv6 sõltub ICMPv6 protokollist veelgi enam. Teine käsk testib Linuxis teekonna sobivust 1500-baidise MTU jaoks.

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

Võrdlus CH-J Server Manager sees

Server Diagnostics käivitab ping testi süsteemitööriistaga ilma root õigusteta kõrvuti eraldi TCP, SSH tuvastuse, HTTP ja TLS testidega, et ebaõnnestunud ping tulemust saaks hinnata kontekstis. Ebaõnnestunud ping tähendab seal, et vastust ei saabunud. See ei ütle, kus pakett hüljati, ning ka traceroute ei pruugi sellele vastust anda.

Üksikasjalikud dokumendid

RFC 4890: ICMPv6 filtering →

man: ping →

Biomeetriline lahtipääs ja turvalisus →