Miksi näin käy
ping käyttää ICMP:tä, kun taas SSH ja HTTPS käyttävät TCP-portteja. Kyse on erillisestä liikenteestä, ja palomuuri voi pudottaa toisen ja päästää toisen läpi. Monet verkot ja pilvien suojausryhmät estävät ICMP-kaikupyynnöt oletuksena. Puuttuva vastaus ei siis tarkoita, että palvelin olisi poissa käytöstä, eikä vastaus todista, että sen palvelut toimivat.
Testaa palvelua, älä ping-kyselyä
Tarkista portit ja protokollat, joita todella tarvitset. Jos testit onnistuvat, palvelin on tavoitettavissa näiden palvelujen osalta, ja epäonnistunut ping kertoo vain suodattimesta jossakin reitin varrella.
nc -vz -w 5 server.example 22
nc -vz -w 5 server.example 443
curl -sSI https://server.example/Jäljitä reitti TCP:llä
Tavallinen traceroute saattaa näyttää vain tähtiä, kun ICMP:tä tai UDP:tä suodatetaan. TCP:llä avoimeen porttiin pääsee usein pidemmälle. Tämä vaatii root-oikeudet, ja traceroute täytyy ehkä ensin asentaa, koska minimaaliset järjestelmät eivät sisällä sitä.
sudo traceroute -T -p 443 server.exampleEtsi suodatinta omalta palvelimeltasi
Jos hallinnoit palvelinta, tarkista sen palomuuri ja ytimen asetus, joka jättää kaikupyynnöt huomiotta. Muista, että esto voi olla myös palvelimen ulkopuolella, suojausryhmässä tai reitittimessä, ja että palveluntarjoaja voi suodattaa ICMP:tä verkossaan ilman, että näet mitään sääntöä.
sysctl net.ipv4.icmp_echo_ignore_all
sudo nft list ruleset | grep -i icmp
sudo ufw status verboseMilloin ICMP:n esto todella aiheuttaa vikoja
Kaikupyyntöjen estäminen on yleensä harmitonta, mutta kaiken ICMP-liikenteen estäminen ei ole. Reitin MTU:n selvitys tarvitsee ilmoitukset liian suurista paketeista. Ilman niitä pienet tiedonsiirrot toimivat ja suuret jumittuvat: esimerkiksi SSH-kirjautuminen onnistuu, mutta istunto jumittuu suuren tulosteen kohdalla. IPv6 on vielä riippuvaisempi ICMPv6:sta. Toinen komento testaa Linuxissa reittiä 1500 tavun MTU:ta varten.
ip route get 192.0.2.10
ping -M do -s 1472 -c 3 192.0.2.10Vertailu CH-J Server Manager -sovelluksessa
Server Diagnostics suorittaa ping-testin järjestelmän työkalulla ilman root-oikeuksia erillisten TCP-, SSH-tunnistus-, HTTP- ja TLS-testien rinnalla, joten epäonnistunutta ping-testiä voi arvioida kokonaisuuden osana. Epäonnistunut ping tarkoittaa tässä, ettei vastausta saapunut. Se ei kerro, missä paketti pudotettiin, eikä traceroute välttämättä vastaa tähänkään.