Kodėl taip nutinka
ping naudoja ICMP, o SSH ir HTTPS – TCP prievadus. Tai atskiri srautai, todėl ugniasienė gali vieną atmesti, o kitą praleisti. Daugelis tinklų ir debesijos saugos grupių pagal numatytąsias nuostatas blokuoja ICMP echo. Todėl atsakymo nebuvimas nereiškia, kad serveris neveikia, o atsakymas neįrodo, kad jo paslaugos veikia.
Tikrinkite paslaugą, o ne ping
Patikrinkite prievadus ir protokolus, kurių jums iš tikrųjų reikia. Jei šios patikros sėkmingos, serveris pasiekiamas šioms paslaugoms, o nesėkmingas ping tik rodo filtrą kažkur kelyje.
nc -vz -w 5 server.example 22
nc -vz -w 5 server.example 443
curl -sSI https://server.example/Sekite kelią naudodami TCP
Įprastas traceroute gali rodyti vien žvaigždutes, kai ICMP arba UDP filtruojamas. Naudojant TCP į atvirą prievadą, dažnai galima atsekti kelią toliau. Tam reikia root teisių, o traceroute gali tekti pirmiausia įdiegti, nes minimaliose sistemose jo nėra.
sudo traceroute -T -p 443 server.exampleIeškokite filtro savo serveryje
Jei administruojate serverį, patikrinkite jo ugniasienę ir branduolio nuostatą, kuri leidžia ignoruoti echo užklausas. Atminkite, kad blokavimas gali būti ir už serverio ribų, saugos grupėje ar maršrutizatoriuje, o teikėjas gali filtruoti ICMP savo tinkle jums nematant jokios taisyklės.
sysctl net.ipv4.icmp_echo_ignore_all
sudo nft list ruleset | grep -i icmp
sudo ufw status verboseKada užblokuotas ICMP iš tikrųjų sukelia sutrikimų
Echo blokavimas dažniausiai nekenkia, tačiau viso ICMP blokavimas – kenkia. Kelio MTU nustatymas priklauso nuo pranešimų apie per didelį paketą. Be jų nedideli duomenų mainai veikia, o dideli užstringa, pavyzdžiui, SSH prisijungimas pavyksta, bet išvedant daug duomenų ryšys užstringa. IPv6 dar labiau priklauso nuo ICMPv6. Antroji komanda Linux sistemoje tikrina kelią su 1500 baitų MTU.
ip route get 192.0.2.10
ping -M do -s 1472 -c 3 192.0.2.10Palyginimas CH-J Server Manager programoje
Server Diagnostics paleidžia ping naudodamas sistemos įrankį, be root teisių, kartu su atskirais TCP, SSH identifikavimo, HTTP ir TLS testais, todėl nesėkmingą ping galima vertinti bendrame kontekste. Nesėkmingas ping čia reiškia, kad atsakymas negautas. Jis neparodo, kur paketas buvo atmestas, o traceroute taip pat gali į tai neatsakyti.