Comando ip in Linux: leggere interfacce, indirizzi e percorsi di rete

ip, parte di iproute2, permette di leggere e modificare interfacce, indirizzi IP, percorsi di instradamento e vicini di rete in Linux. Per una diagnosi iniziale usa le interrogazioni show e route get, distinguendole dai comandi che cambiano la configurazione.

IP significa Internet Protocol: IPv4 e IPv6 sono due versioni del protocollo. Il programma divide la configurazione in oggetti: link per l'interfaccia, address per gli indirizzi assegnati, route per i percorsi dei pacchetti e neigh per i vicini raggiungibili sul collegamento locale.

Sintassi e oggetti

ip [options] object command [arguments]

Questa è una sintassi descrittiva: parentesi e parole segnaposto non si digitano. Per esempio address è l'oggetto e show il comando di visualizzazione. Controlla ip -V, ip help e man ip per la versione e i comandi disponibili.

Le interrogazioni di base normalmente non richiedono privilegi amministrativi. Operazioni come add, del, set o flush possono invece cambiare lo stato della rete. La forma breve di un comando non ne cambia gli effetti: verifica sempre l'oggetto e l'azione prima di eseguirlo.

Interrogazioni iniziali

Interfacce e indirizzi

ip -br address show

Mostra una sintesi con nome dell'interfaccia, stato e indirizzi assegnati. Un'interfaccia può avere più indirizzi, anche di famiglie diverse. Questa vista aiuta a scegliere il dispositivo corretto, ma non dimostra che una destinazione remota sia raggiungibile.

Tabella dei percorsi

ip route show

Mostra normalmente i percorsi IPv4 della tabella main. Cerca default per una via predefinita, via per il router del salto successivo e dev per l'interfaccia di uscita, quando questi campi sono presenti. Una destinazione direttamente collegata può non avere un campo via.

Non è un elenco automatico di tutte le famiglie e di tutte le tabelle. Per IPv6 usa l'opzione -6; se il sistema impiega regole di instradamento o più tabelle, esamina anche ip rule show e le tabelle interessate. La mancanza di una route predefinita nella sola tabella main non descrive ogni possibile configurazione.

Scelta del kernel per una destinazione

ip route get 192.0.2.1

Chiede al kernel quale percorso sceglierebbe per quella destinazione nel contesto della query. Il risultato può indicare interfaccia, indirizzo sorgente e prossimo salto; se non vi è un percorso utilizzabile può apparire un errore. Non invia pacchetti alla destinazione e non è una prova di connettività o una traccia dei router attraversati.

192.0.2.1 appartiene a un intervallo riservato alla documentazione. Non usarlo come destinazione per certificare la connessione Internet. Per una diagnosi reale scegli l'indirizzo del servizio interessato; con regole basate su sorgente, protocollo o altri attributi, una query generica può non rappresentare esattamente il traffico dell'applicazione.

Leggere stato e prefisso degli indirizzi

La forma seguente usa l'opzione estesa equivalente a -br; è un'altra visualizzazione della stessa categoria di informazioni:

ip -brief address

Output illustrativo, non rilevato dalla tua macchina. eth0 è un nome di esempio e 192.0.2.10 è un indirizzo per documentazione:

lo      UNKNOWN  127.0.0.1/8 ::1/128
eth0    UP       192.0.2.10/24

lo è l'interfaccia di loopback, usata per comunicazioni interne alla macchina. Lo stato UNKNOWN non significa automaticamente un guasto: alcuni dispositivi non forniscono un'informazione operativa più specifica. UP indica uno stato operativo dell'interfaccia, non la verifica di Internet, del router o di un servizio remoto. Linux distingue inoltre lo stato operativo dall'abilitazione amministrativa.

/24 è la lunghezza del prefisso IPv4: nell'esempio la rete è 192.0.2.0/24. Gli indirizzi 127.0.0.1 e ::1 sono di loopback IPv4 e IPv6. Non copiare questi valori come configurazione della tua scheda: indirizzo, prefisso e gateway devono provenire dalla rete effettiva.

Per restringere il problema, separa tre verifiche: l'indirizzo presente sull'interfaccia, il percorso verso la destinazione e la risoluzione del nome. DNS (Domain Name System) traduce i nomi in indirizzi: ip non sostituisce un'interrogazione DNS. Su sistemi che lo usano puoi consultare resolvectl, oppure lo strumento DNS previsto dalla distribuzione. Un test ping può aggiungere informazioni, ma una mancata risposta non dimostra da sola un guasto: il traffico di test può essere filtrato.

Oggetti e opzioni principali

Forma Informazioni mostrate
link show Interfacce, proprietà del collegamento e indicatori di stato.
address show Indirizzi configurati sulle interfacce e relative proprietà.
route show Percorsi nella tabella selezionata; normalmente main se non ne indichi un'altra.
neigh show Voci dei vicini IPv4 o IPv6 sul collegamento locale.
-br Sintesi tabellare per le interrogazioni supportate, come address show.
-4 / -6 Limita l'interrogazione alla famiglia IPv4 o IPv6.

La tabella dei vicini associa indirizzi di rete e informazioni sul collegamento locale. In IPv4 interviene ARP (Address Resolution Protocol), in IPv6 NDP (Neighbor Discovery Protocol). Non è un elenco completo dei dispositivi di Internet e una voce mancante non identifica da sola la causa di un problema.

Le viste si riferiscono al contesto di rete in cui esegui il comando. Un contenitore o uno spazio dei nomi di rete separato può mostrare interfacce e percorsi diversi da quelli dell'host. Verifica di stare osservando il sistema e il contesto coinvolti nel problema.

Prima di cambiare la rete

Su un server remoto, disabilitare un'interfaccia o rimuovere l'indirizzo o la route usata dalla sessione può interrompere subito il collegamento. Prima di qualunque modifica registra i valori correnti, identifica il dispositivo, prepara accesso alla console e una procedura per ripristinare esattamente la configurazione precedente. Non applicare un generico indirizzo di esempio come tentativo di recupero.

I comandi diretti di ip agiscono sullo stato corrente del kernel. Non costituiscono da soli una configurazione persistente: un servizio di gestione può ripristinare o sostituire valori e un riavvio può perderli. Per impostazioni permanenti segui il metodo della distribuzione e il gestore effettivamente in uso; non mescolare procedure di servizi diversi senza verificarne la responsabilità sulle interfacce.

Gli esempi di questa guida servono alla consultazione. Non richiedono di aggiungere o eliminare indirizzi, spegnere interfacce o sostituire la route predefinita. Dopo una modifica autorizzata verifica di nuovo indirizzi, percorso verso il servizio e risoluzione dei nomi, oltre alla sessione dell'applicazione.

Domande frequenti

Qual è la differenza tra ip address e ip route?

ip address mostra gli indirizzi delle interfacce. ip route mostra le vie per inviare pacchetti verso le destinazioni, compresi interfaccia e prossimo salto quando previsto. Avere un indirizzo non garantisce che esista un percorso utilizzabile né che il servizio remoto risponda.

Documentazione di riferimento

Il manuale ip di iproute2 descrive oggetti e opzioni. I manuali di ip address e ip route approfondiscono indirizzi e selezione dei percorsi. La documentazione del kernel sugli stati operativi chiarisce UP e UNKNOWN; la RFC 5737 sugli indirizzi di documentazione spiega l'intervallo usato negli esempi.