Comando ethtool in Linux: controllare link Ethernet, velocità e driver

ethtool permette di controllare velocità e stato del collegamento Ethernet, informazioni del driver e statistiche della scheda di rete. Alcune opzioni modificano le impostazioni: per diagnosticare un problema, parti dalle interrogazioni e distingui il collegamento fisico dalla comunicazione IP.

La scheda di rete, o NIC (Network Interface Controller), e il relativo driver determinano quali dati sono disponibili. Un collegamento rilevato non dimostra che indirizzi IP, instradamento, DNS (Domain Name System) o servizi remoti funzionino. Inoltre velocità e duplex possono dipendere dalla negoziazione automatica oppure da una configurazione imposta: non sono sempre il risultato di una negoziazione con lo switch.

Sintassi e preparazione

ethtool [options] interface

[options] e interface sono segnaposto: sostituiscili con le opzioni desiderate e il nome reale dell'interfaccia. Verifica che ethtool sia installato, controlla la versione con ethtool --version e consulta man ethtool sul sistema interessato. Le funzioni disponibili dipendono anche da kernel, driver e hardware.

Usa ip link show, descritto nella guida al comando ip, per individuare l'interfaccia corretta. I nomi enp1s0 ed eth0 negli esempi sono alternativi: non presupporre che esistano entrambi sul tuo computer. Se compare un errore relativo al dispositivo, ricontrolla nome e ambiente di rete prima di dedurre un guasto.

Esempi di interrogazione

Controllare il collegamento. Senza opzioni di modifica, il comando mostra le impostazioni e lo stato disponibili per l'interfaccia indicata.

ethtool enp1s0

Confronta lo stato corrente con le modalità supportate e pubblicizzate, quando presenti. La capacità massima dichiarata dalla scheda non coincide necessariamente con la velocità del collegamento attivo. Le interrogazioni normalmente non cambiano le impostazioni; alcune informazioni possono comunque richiedere privilegi aggiuntivi.

Identificare il driver. Questo controllo aiuta a individuare quale driver gestisce la scheda e quali informazioni sul firmware vengono esposte.

ethtool -i enp1s0

Annota nome e versione del driver e l'eventuale versione del firmware prima di confrontare una segnalazione con la documentazione del produttore. Un campo vuoto o non supportato non prova da solo che il componente sia guasto.

Leggere le statistiche. La seguente richiesta mostra i contatori specifici della scheda e del driver disponibili.

ethtool -S enp1s0

Cerca gli eventuali contatori di errori o scarti e verifica il loro significato nella documentazione del driver: nomi e disponibilità non sono uniformi tra produttori. Confronta due letture della stessa interfaccia durante il problema, registrando l'intervallo e l'eventuale riavvio o reset tra le letture. Un valore cumulativo isolato non indica quando si è verificato l'errore e non ne identifica automaticamente la causa.

Interpretare velocità, duplex e Link detected

Su un sistema in cui l'interfaccia si chiama eth0, puoi effettuare la stessa interrogazione con privilegi amministrativi se necessari:

sudo ethtool eth0

Estratto illustrativo dell'output; non è un risultato garantito né una misura effettuata sulla tua scheda:

Speed: 1000Mb/s
Duplex: Full
Link detected: yes
  • Speed: 1000Mb/s indica una velocità di collegamento riportata di 1 Gbit/s. Non misura la velocità di un download o la banda effettivamente disponibile verso Internet.
  • Duplex: Full indica la modalità full duplex, cioè trasmissione e ricezione simultanee sul collegamento.
  • Link detected: yes indica che il driver segnala il collegamento come attivo. Non è una verifica dell'indirizzo IP, della rotta predefinita o della risposta di un servizio.

Su interfacce virtuali alcuni campi possono mancare, risultare sconosciuti o descrivere il collegamento virtuale anziché il cavo e lo switch fisici. Per un collegamento fisico inattivo, controlla anche cavo, porta e stato del dispositivo all'altro capo; se il collegamento è attivo ma l'applicazione non comunica, prosegui con indirizzi, rotte, risoluzione dei nomi e servizio interessato.

Opzioni principali: lettura e modifica

Opzione Funzione
-i Mostra informazioni su driver e firmware, se disponibili.
-S Legge statistiche della NIC e del driver; i contatori esposti dipendono dal dispositivo.
-k Mostra lo stato delle funzionalità, comprese quelle di offload, che delegano alcune operazioni alla scheda.
-a Mostra i parametri delle pause Ethernet per il controllo di flusso.
-s Modifica impostazioni come velocità, duplex e negoziazione automatica; può interrompere il collegamento.

Maiuscole e minuscole contano: -k interroga le funzionalità, mentre -K le modifica; analogamente -a legge i parametri di pausa e -A li cambia. Un'interrogazione non supportata non si risolve necessariamente eseguendola con sudo: il driver o la scheda potrebbero non implementarla.

Precauzioni prima di cambiare le impostazioni

Usare ethtool -s da una sessione remota può interrompere proprio il collegamento necessario per amministrare il server. Non forzare velocità, duplex o negoziazione automatica soltanto perché una lettura sembra insolita.

  1. Registra interfaccia, valori correnti, modalità supportate e impostazioni della porta dello switch.
  2. Controlla nella documentazione di scheda e switch quali combinazioni sono ammesse e se i due lati sono coerenti.
  3. Prima della modifica, prepara accesso locale o una console indipendente dalla rete interessata e il ripristino dei valori precedenti, compresa la modalità di negoziazione.
  4. Dopo una modifica autorizzata, rileggi lo stato e verifica separatamente la comunicazione necessaria. Se il collegamento cade, usa la console indipendente per ripristinare la configurazione registrata.

Non esiste un comando di ripristino universale adatto a tutte le schede. Le modifiche effettuate a runtime e la configurazione gestita all'avvio o dal gestore di rete vanno verificate separatamente, senza presumere che una modifica estemporanea sia permanente.

Domande frequenti

Link detected: yes significa che la rete funziona?

Significa che il driver rileva il collegamento attivo, fisico o virtuale secondo l'interfaccia. Non verifica indirizzi IP, instradamento, DNS o servizi: ciascuno richiede un controllo distinto.

Perché non vedo velocità o statistiche?

Il driver o l'interfaccia potrebbero non esporre quei dati, soprattutto in un ambiente virtuale. Leggi il messaggio di errore, verifica il nome dell'interfaccia e le funzioni supportate; la sola assenza di un campo non dimostra un guasto.

Documentazione di riferimento

Consulta il manuale di ethtool per la sintassi delle opzioni. La documentazione del kernel Linux sull'interfaccia ethtool descrive modalità del collegamento, stato riportato dal driver e disponibilità delle informazioni.