2026-11-09

Monitorare la stabilità di una connessione Internet con Linux e ping

Quando una connessione Internet presenta problemi intermittenti, individuarne la causa può essere complicato. Spesso, al momento dell'intervento tecnico, la linea funziona regolarmente e il disservizio non è riproducibile.

Un semplice monitoraggio continuativo tramite `ping` permette di raccogliere dati oggettivi sulla raggiungibilità di un dispositivo remoto, documentando la frequenza e la durata delle interruzioni.

Una soluzione semplice

Su Linux è sufficiente un comando:

ping -n -O -i 10 IP_REMOTO 2>&1 | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; fflush(); }' | tee -a ping.log

Le opzioni utilizzate permettono di:

  • `-n`: evitare le risoluzioni DNS, utilizzando direttamente gli indirizzi IP;
  • `-O`: segnalare le richieste rimaste senza risposta prima dell'invio della successiva;
  • `-i 10`: inviare un ping ogni 10 secondi;
  • `awk`: aggiungere data e ora a ciascuna riga, facilitando la ricostruzione cronologica degli eventi;
  • `tee -a`: visualizzare i risultati sul terminale e contemporaneamente aggiungerli a un file di log, senza sovrascrivere i dati precedenti. Il traffico generato è trascurabile e il monitoraggio può proseguire per giorni, producendo uno storico dettagliato.

Un esempio concreto

La tecnica è stata utilizzata per monitorare dall'esterno un router con indirizzo IP pubblico statico, collegato a una linea ADSL soggetta a problemi di rumore. In circa sei giorni di osservazione sono state effettuate oltre 50.000 richieste ICMP, registrando:

  • circa 1.300 mancate risposte, pari al 2,55%;
  • 43 episodi con almeno tre richieste consecutive senza risposta;
  • interruzioni prolungate, alcune superiori a 20-30 minuti;
  • picchi di latenza di diversi secondi, rispetto ai normali tempi di risposta di circa 12–14 ms;

L'aspetto più significativo non è tanto la percentuale media di perdita dei pacchetti, quanto la presenza di periodi prolungati di completa irraggiungibilità, alternati a giornate di funzionamento regolare.

Alcuni consigli pratici

  1. Scegliere un intervallo adeguato. Dieci secondi rappresentano un buon compromesso: consentono di rilevare anche brevi interruzioni senza generare traffico significativo.
  2. Monitorare un indirizzo IP, non un nome di dominio. In questo modo si evitano interferenze dovute a eventuali problemi DNS.
  3. Utilizzare una connessione cablata. Il computer che effettua il monitoraggio dovrebbe essere collegato tramite Ethernet, per evitare che problemi Wi-Fi falsino i risultati.
  4. Verificare anche una seconda destinazione. Un ping contemporaneo verso un indirizzo pubblico affidabile, come `1.1.1.1`, aiuta a distinguere un problema della connessione monitorata da un'interruzione della connessione utilizzata per effettuare le misurazioni.
  5. Conservare i log originali. Il registro completo permette di ricostruire gli eventi e costituisce un utile allegato alle segnalazioni di guasto.
  6. Interpretare correttamente le mancate risposte. L'opzione `-O` segnala anche risposte semplicemente in ritardo: nell'analisi finale occorre verificare se siano successivamente arrivate, evitando di contarle come pacchetti definitivamente persi.

I limiti del metodo

Un ping senza risposta non dimostra necessariamente che la connessione fisica sia caduta: il dispositivo remoto potrebbe filtrare o limitare il traffico ICMP, oppure potrebbero esserci problemi lungo il percorso di rete. Per diagnosticare una linea ADSL è quindi utile integrare i risultati con i dati del modem, in particolare margine SNR, attenuazione, errori CRC ed eventi di perdita della sincronizzazione.

Comunque non sempre servono strumenti complessi per raccogliere informazioni utili. Un semplice comando Linux, lasciato in esecuzione per alcuni giorni, può trasformare una generica segnalazione di "connessione instabile" in una documentazione tecnica con orari, frequenza e durata stimata dei disservizi.