CH-J Server Managergestione server su SSH
Menu
Tutte le guide e gli articoli →

ping non risponde ma SSH e HTTPS funzionano: perché, ed è un problema?

Perché un server può ignorare ping e funzionare normalmente, come testare direttamente i servizi e quando il blocco di ICMP causa problemi reali.

Perché succede

ping usa ICMP, mentre SSH e HTTPS usano porte TCP. Sono tipi di traffico distinti e un firewall può scartarne uno e lasciar passare l’altro. Molte reti e molti gruppi di sicurezza del cloud bloccano ICMP echo per impostazione predefinita. L’assenza di risposta non significa quindi che il server sia fuori servizio, e una risposta non dimostra che i suoi servizi funzionino.

Testa il servizio, non ping

Controlla le porte e i protocolli che ti servono davvero. Se questi test riescono, il server è raggiungibile per quei servizi e il fallimento di ping indica soltanto un filtro da qualche parte lungo il percorso.

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

Traccia il percorso con TCP

Un traceroute classico può mostrare solo asterischi quando ICMP o UDP vengono filtrati. Usando TCP verso una porta aperta, spesso puoi andare oltre. Servono i privilegi di root e potrebbe essere necessario installare prima traceroute, perché i sistemi minimali non lo includono.

sudo traceroute -T -p 443 server.example

Cerca il filtro sul server

Se gestisci il server, controlla il suo firewall e l’impostazione del kernel che ignora le richieste echo. Ricorda che il blocco può trovarsi anche fuori dal server, in un gruppo di sicurezza o in un router, e che un provider può filtrare ICMP nella propria rete senza che tu possa vedere una regola.

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

Quando il blocco di ICMP causa davvero problemi

Bloccare echo è perlopiù innocuo, ma bloccare tutto ICMP non lo è. Il rilevamento della MTU del percorso dipende dai messaggi che segnalano un pacchetto troppo grande. Senza questi messaggi, gli scambi piccoli funzionano e quelli grandi si bloccano: per esempio, un accesso SSH riesce ma poi si blocca quando l’output è voluminoso. IPv6 dipende ancora di più da ICMPv6. Il secondo comando verifica un percorso con una MTU di 1500 byte su Linux.

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

Confronto in CH-J Server Manager

Server Diagnostics esegue ping tramite lo strumento di sistema, senza privilegi di root, accanto a test separati per TCP, identificazione SSH, HTTP e TLS, così il fallimento di ping può essere interpretato nel suo contesto. In questo caso un ping fallito significa che non è arrivata alcuna risposta. Non indica dove sia stato scartato il pacchetto, e neppure traceroute potrebbe chiarirlo.

Documentazione dettagliata

RFC 4890: ICMPv6 filtering →

man: ping →

Sblocco biometrico e sicurezza →