Le distribuzioni basate su Linux hanno un insieme di comandi che forniscono un modo per configurare la rete in modo facile e potente attraverso la riga di comando. Questo insieme di comandi è disponibile 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 sufficienti per configurare la rete nel modo in cui qualsiasi utente Linux, sia principiante che esperto, desidererebbe, ma a causa dell’avanzamento del kernel Linux negli ultimi anni e della manutenzione non sostenibile di questo insieme di comandi, stanno diventando obsoleti e sta emergendo un’alternativa più potente che ha la capacità di sostituire tutti questi comandi.
Questa alternativa è presente da un po’ di tempo ed è molto più potente di qualsiasi altro comando. Le sezioni seguenti metteranno in evidenza questa alternativa e la compareranno con uno dei comandi del pacchetto net-tools, ovvero ifconfig.
ip – Un sostituto per ifconfig
ifconfig è presente da molto tempo ed è ancora utilizzato per configurare, visualizzare e controllare le interfacce di rete da molti, ma ora esiste un’alternativa sui sistemi operativi Linux che è molto più potente. Questa alternativa è il comando ip
del pacchetto iproute2util.
Sebbene questo comando possa sembrare un po’ complesso a prima vista, è molto più ampio nella funzionalità rispetto a ifconfig. È organizzato funzionalmente su due livelli dello stack di rete, cioè Livello 2 (Livello di collegamento), Livello 3 (Livello IP) e svolge il lavoro di tutti i comandi sopra menzionati dal pacchetto net-tools.
Mentre ifconfig mostra principalmente o modifica le interfacce di un sistema, questo comando è in grado di svolgere le seguenti attività:
- Visualizzazione o modifica delle proprietà dell’interfaccia.
- Aggiunta, rimozione delle voci della cache ARP insieme alla creazione di una nuova voce ARP statica per un host.
- Visualizzazione degli indirizzi MAC associati a tutte le interfacce.
- Visualizzazione e modifica delle tabelle di routing del kernel.
Uno dei principali punti salienti che lo separa dal suo antico predecessore ifconfig è che quest’ultimo utilizza ioctl per la configurazione di rete, che è un modo meno apprezzato di interagire con il kernel mentre il primo sfrutta il meccanismo del socket netlink per lo stesso scopo, che è un successore molto più flessibile di ioctl per l’intercomunicazione tra kernel e spazio utente utilizzando rtnetlink (che aggiunge la capacità di manipolazione dell’ambiente di rete).
Possiamo ora iniziare a evidenziare le caratteristiche di ifconfig e come vengono efficacemente sostituite dal comando ip.
Comandi ip vs ifconfig
La sezione seguente evidenzia alcuni comandi di ifconfig e il loro sostituto 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, sia abilitate che 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/Rimuovi Indirizzo IP
# ifconfig eth0 add 192.168.80.174
Sintassi per aggiungere/rimuovere un’interfaccia usando il comando ifconfig:
# ifconfig eth0 add 192.168.80.174 # ifconfig eth0 del 192.168.80.174
ip – Aggiungi/Rimuovi Indirizzo IP
# ip a add 192.168.80.174 dev eth0
Sintassi per aggiungere/rimuovere un’interfaccia usando il comando ip:
# ip a add 192.168.80.174 dev eth0 # ip a del 192.168.80.174 dev eth0
4. Aggiungi indirizzo MAC all’interfaccia di rete
Il comando seguente imposta l’indirizzo hardware per l’interfaccia eth0
al valore specificato nel comando. Questo può essere verificato controllando il valore HWaddr
nell’output del comando ifconfig.
ifconfig – Aggiungi Indirizzo MAC
Qui, la sintassi per aggiungere un indirizzo MAC usando il comando ifconfig:
# ifconfig eth0 hw ether 00:0c:29:33:4e:aa
ip – Aggiungi Indirizzo MAC
Qui, la sintassi per aggiungere un indirizzo MAC usando 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 di indirizzo IP o indirizzo hardware, altre configurazioni che possono essere applicate a un’interfaccia includono:
- MTU (Unità di Trasferimento Massimo)
- Flag di multicast
- Lunghezza della coda di trasmissione
- Modalità promiscua
- Abilitare o disabilitare tutte le modalità multicast
ifconfig – Altre configurazioni di rete
ip – Altre configurazioni di rete
a. Set MTU value to 2000.
# ifconfig eth0 mtu 2000
# ip link set dev eth0 mtu 2000
b. Enable or Disable multicast flag.
# ifconfig eth0 multicast
# ip link set dev eth0 multicast on
c. Setting the transmit queue length.
# ifconfig eth0 txqueuelen 1200
# ip link set dev eth0 txqueuelen 1200
d. Enabling or disabling promiscuous mode.
# ifconfig eth0 promisc
# ip link set dev eth0 promisc on
e. Enable or disable all multicast mode.
# ifconfig eth0 allmulti
# ip link set dev eth0 allmulti on
5. Abilitare o disabilitare l’interfaccia di rete
I comandi seguenti abilitano o disabilitano un’interfaccia di rete specifica.
ifconfig – Disabilitare/Abilitare l’interfaccia di rete
Il comando seguente disabilita l’interfaccia eth0
e questo viene verificato dall’output di ifconfig che per impostazione predefinita mostra solo le interfacce che sono attive.
# ifconfig eth0 down
Per riabilitare l’interfaccia, basta sostituire down con up.
# ifconfig eth0 up
ip – Disabilitare/Abilitare l’interfaccia di rete
Il seguente comando ip è un’alternativa a ifconfig per disabilitare un’interfaccia specifica. Questo può essere verificato dall’output del comando 'ip a'
che mostra tutte le interfacce per impostazione predefinita, sia attive che disattivate, ma evidenzia il loro stato insieme alla descrizione.
# ip link set eth0 down
Per riabilitare l’interfaccia, basta sostituire down con up.
# 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 – Abilitare/Disabilitare il protocollo ARP
Il comando abilita il protocollo ARP da utilizzare con l’interfaccia eth0. Per disabilitare questa opzione, basta sostituire arp con -arp
.
# ifconfig eth0 arp
ip – Abilitare/Disabilitare il protocollo ARP
Questa è l’alternativa ip per abilitare ARP per l’interfaccia eth0. Per disabilitare, basta sostituire on con off.
# ip link set dev eth0 arp on
Conclusione
Quindi, abbiamo evidenziato le caratteristiche 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 secondo la sua convenienza. Quindi, quale comando è conveniente secondo te e che preferiresti utilizzare? Menzionalo nei tuoi commenti.
Se vuoi saperne di più su questi due comandi, allora dovresti leggere i nostri articoli precedenti che mostrano alcuni esempi pratici di ifconfig e ip command in modo più dettagliato.
Non perdere: 15 “ifconfig” Esempi per Configurare l’Interfaccia di Rete in Linux
Non perdere: 10 “ip” Esempi per Configurare l’Interfaccia di Rete in Linux
Source:
https://www.tecmint.com/ifconfig-vs-ip-command-comparing-network-configuration/