Ricerca nel sito web

ifconfig vs ip: qual è la differenza e il confronto della configurazione di rete


Le distribuzioni basate su Linux dispongono di una serie di comandi che consentono di configurare la rete in modo semplice e potente tramite la riga di comando. Questi set di comandi sono disponibili nel pacchetto net-tools che è presente da molto tempo su quasi tutte le distribuzioni e include comandi come: ifconfig, route<, nameif, iwconfig, iptunnel, netstat, arp.

Questi comandi sono appena sufficienti per configurare la rete nel modo in cui qualsiasi utente Linux principiante o esperto vorrebbe, ma a causa del progresso del kernel Linux negli ultimi anni e dell'impossibilità di mantenere questo insieme di comandi pacchettizzati, stanno diventando deprecati e una versione più potente sta emergendo un'alternativa in grado di sostituire tutti questi comandi.

Anche questa alternativa esiste ormai da un po' di tempo ed è molto più potente di qualsiasi altro comando. Il resto delle sezioni evidenzierà questa alternativa e la confronterà con uno dei comandi del pacchetto net-tools, ad esempio ifconfig.

ip – Un sostituto di ifconfig

ifconfig esiste da molto tempo ed è ancora utilizzato da molti per configurare, visualizzare e controllare le interfacce di rete, ma ora esiste una nuova alternativa sulle distribuzioni Linux che è molto più potente di essa. Questa alternativa è il comando ip dal pacchetto iproute2util.

Sebbene questo comando possa sembrare un po' complesso a prima vista, ha funzionalità molto più ampie rispetto a ifconfig. È organizzato funzionalmente su due livelli di Networking Stack, ovvero Livello 2 (Link Layer), Livello 3 (IP Layer ) e fa il lavoro di tutti i comandi sopra menzionati dal pacchetto net-tools.

Sebbene ifconfig visualizzi o modifichi principalmente le interfacce di un sistema, questo comando è in grado di eseguire le seguenti attività:

  1. Visualizzazione o modifica delle proprietà dell'interfaccia.
  2. Aggiunta e rimozione di voci della cache ARP durante la creazione di una nuova voce ARP statica per un host.
  3. Visualizzazione degli indirizzi MAC associati a tutte le interfacce.
  4. Visualizzazione e modifica delle tabelle di routing del kernel.

Uno dei principali punti di forza che lo separa dalla sua antica controparte ifconfig è che quest'ultimo utilizza ioctl per la configurazione della rete, che è un modo meno apprezzato di interagire con il kernel mentre il primo ne trae vantaggio del meccanismo socket netlink per lo stesso che è un successore molto più flessibile di ioctl per l'intercomunicazione tra kernel e spazio utente utilizzando rtnetlink (che aggiunge capacità di manipolazione dell'ambiente di rete).

Possiamo ora iniziare a evidenziare le funzionalità di ifconfig e come vengono effettivamente sostituite dal comando ip.

Comandi ip vs ifconfig

La sezione seguente evidenzia alcuni comandi ifconfig e la loro sostituzione utilizzando i comandi ip:

1. Visualizzazione di tutte le interfacce di rete in Linux

Qui, una caratteristica distintiva tra ip e ifconfig è che mentre ifconfig mostra solo le interfacce abilitate, ip mostra tutte le interfacce abilitate o disabilitate.

Comando ifconfig
ifconfig

Comando ip
ip a

2. Aggiunta o eliminazione di un indirizzo IP in Linux

Il comando seguente assegna l'indirizzo IP 192.168.80.174 all'interfaccia eth0.

ifconfig – Aggiungi/Elimina indirizzo IP
ifconfig eth0 add 192.168.80.174

Sintassi per aggiungere/rimuovere un'interfaccia utilizzando il comando ifconfig:

ifconfig eth0 add 192.168.80.174
ifconfig eth0 del 192.168.80.174
ip – Aggiungi/Elimina indirizzo IP
ip a add 192.168.80.174 dev eth0

Sintassi per aggiungere/rimuovere un'interfaccia utilizzando il comando ip:

ip a add 192.168.80.174 dev eth0
ip a del 192.168.80.174 dev eth0

4. Aggiungere l'indirizzo hardware MAC all'interfaccia di rete

Il comando seguente imposta l'indirizzo hardware per l'interfaccia eth0 sul valore specificato nel comando. Ciò può essere verificato controllando il valore HWaddr nell'output del comando ifconfig.

ifconfig – Aggiungi indirizzo MAC

Ecco la sintassi per aggiungere l'indirizzo MAC utilizzando il comando ifconfig:

ifconfig eth0 hw ether 00:0c:29:33:4e:aa
ip – Aggiungi indirizzo MAC

Ecco la sintassi per aggiungere l'indirizzo MAC utilizzando il comando ip:

ip link set dev eth0 address 00:0c:29:33:4e:aa

4. Impostazione di altre configurazioni dell'interfaccia di rete

Oltre all'impostazione dell'indirizzo IP o dell'indirizzo hardware, altre configurazioni che possono essere applicate a un'interfaccia includono:

  1. MTU (unità di trasferimento massima)
  2. Bandiera multicast
  3. Trasmettere la lunghezza della coda
  4. Modalità promiscua
  5. Abilita o disabilita tutte le modalità multicast
ifconfig – Altre configurazioni di rete
ip – Altre configurazioni di rete

UN. Imposta il valore MTU su 2000.

ifconfig eth0 mtu 2000
ip link set dev eth0 mtu 2000

B. Abilita o disabilita il flag multicast.

ifconfig eth0 multicast
ip link set dev eth0 multicast on

C. Impostazione della lunghezza della coda di trasmissione.

ifconfig eth0 txqueuelen 1200
ip link set dev eth0 txqueuelen 1200

D. Abilitare o disabilitare la modalità promiscua.

ifconfig eth0 promisc
ip link set dev eth0 promisc on

e. Abilita o disabilita tutte le modalità multicast.

ifconfig eth0 allmulti
ip link set dev eth0 allmulti on

5. Abilitazione o disabilitazione dell'interfaccia di rete

I comandi seguenti abilitano o disabilitano un'interfaccia di rete specifica.

ifconfig: disabilita/abilita l'interfaccia di rete

Il comando seguente disabilita l'interfaccia eth0 e viene verificato dall'output di ifconfig che per impostazione predefinita mostra solo le interfacce attive.

ifconfig eth0 down

Per riattivare l'interfaccia, sostituisci semplicemente giù con su.

ifconfig eth0 up
ip: disabilita/abilita l'interfaccia di rete

Il comando ip riportato di seguito è un'alternativa a ifconfig per disabilitare un'interfaccia specifica. Ciò può essere verificato dall'output del comando 'ip a' che mostra tutte le interfacce per impostazione predefinita, su o giù, ma evidenzia il loro stato insieme alla descrizione.

ip link set eth0 down

Per riattivare l'interfaccia, sostituisci semplicemente giù con su.

ip link set eth0 up

6. Abilitare o disabilitare l'uso del protocollo ARP

I comandi seguenti abilitano o disabilitano il protocollo ARP su un'interfaccia di rete specifica.

ifconfig – Abilita/Disabilita il protocollo ARP

Il comando abilita l'utilizzo del protocollo ARP con l'interfaccia eth0. Per disabilitare questa opzione, basta sostituire arp con -arp.

ifconfig eth0 arp
ip – Abilita/Disabilita il protocollo ARP

Questo comando è l'alternativa ip per abilitare ARP per l'interfaccia eth0. Per disabilitarlo, basta sostituire on con off.

ip link set dev eth0 arp on

Conclusione

Pertanto, abbiamo evidenziato le funzionalità del comando ifconfig e come possono essere eseguite utilizzando il comando ip. Attualmente, le distribuzioni Linux forniscono all'utente entrambi i comandi in modo che possa utilizzarli a suo piacimento. Quindi, quale comando è conveniente secondo te e preferiresti utilizzare? Menzionalo nei tuoi commenti.

Se vuoi saperne di più su questi due comandi, dovresti consultare i nostri articoli precedenti che mostrano alcuni esempi pratici dei comandi ifconfig e ip in modo più dettagliato.

Da non perdere: 15 esempi “ifconfig” per configurare l'interfaccia di rete in Linux

Da non perdere: 10 esempi di comandi “ip” per configurare l'interfaccia di rete in Linux