15 comandi "ifconfig" utili per configurare la rete in Linux
Utilità ifconfig in breve "configurazione dell'interfaccia" per l'amministrazione del sistema/della rete nei sistemi operativi Unix/Linux per configurare, gestire e interrogare i parametri dell'interfaccia di rete tramite l'interfaccia della riga di comando o negli script di configurazione del sistema.
Il comando "ifconfig" viene utilizzato per visualizzare le informazioni sulla configurazione di rete corrente, impostare un indirizzo IP, maschera di rete o indirizzo broadcast su un'interfaccia di rete, creare un alias per l'interfaccia di rete, impostare l'indirizzo hardware, e abilitare o disabilitare le interfacce di rete.
Questo articolo tratta 15 utili comandi "ifconfig" con i loro esempi pratici, che potrebbero esserti molto utili nella gestione e configurazione delle interfacce di rete nei sistemi Linux.
Aggiornamento: il comando di rete ifconfig è deprecato e sostituito dal comando ip (Scopri 10 esempi di comando IP) nella maggior parte delle distribuzioni Linux.
1. Elenca le interfacce di rete in Linux
Il comando "ifconfig" senza argomenti visualizzerà tutti i dettagli di configurazione dell'interfaccia di rete attiva che includono gli indirizzi IP assegnati, le netmask e altre informazioni rilevanti.
ifconfig
Output di esempio:
eth0 Link encap:Ethernet HWaddr 00:0B:CD:1C:18:5A
inet addr:172.16.25.126 Bcast:172.16.25.63 Mask:255.255.255.224
inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2341604 errors:0 dropped:0 overruns:0 frame:0
TX packets:2217673 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:293460932 (279.8 MiB) TX bytes:1042006549 (993.7 MiB)
Interrupt:185 Memory:f7fe0000-f7ff0000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:5019066 errors:0 dropped:0 overruns:0 frame:0
TX packets:5019066 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2174522634 (2.0 GiB) TX bytes:2174522634 (2.0 GiB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.1.1.1 P-t-P:10.1.1.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
2. Visualizza informazioni su tutte le interfacce di rete
Il seguente comando ifconfig con l'argomento -a
visualizzerà informazioni su tutte le interfacce di rete attive o inattive sul server. Visualizza i risultati per eth0, lo, sit0 e tun0.
ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0B:CD:1C:18:5A
inet addr:172.16.25.126 Bcast:172.16.25.63 Mask:255.255.255.224
inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2344927 errors:0 dropped:0 overruns:0 frame:0
TX packets:2220777 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:293839516 (280.2 MiB) TX bytes:1043722206 (995.3 MiB)
Interrupt:185 Memory:f7fe0000-f7ff0000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:5022927 errors:0 dropped:0 overruns:0 frame:0
TX packets:5022927 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2175739488 (2.0 GiB) TX bytes:2175739488 (2.0 GiB)
sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.1.1.1 P-t-P:10.1.1.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
3. Visualizza le impostazioni di rete dell'interfaccia specifica
Utilizzando il nome dell'interfaccia (eth0) come argomento con il comando "ifconfig" verranno visualizzati i dettagli dell'interfaccia di rete specifica.
ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0B:CD:1C:18:5A
inet addr:172.16.25.126 Bcast:172.16.25.63 Mask:255.255.255.224
inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2345583 errors:0 dropped:0 overruns:0 frame:0
TX packets:2221421 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:293912265 (280.2 MiB) TX bytes:1044100408 (995.7 MiB)
Interrupt:185 Memory:f7fe0000-f7ff0000
4. Come abilitare un'interfaccia di rete
Il flag “up” o “ifup” con il nome dell'interfaccia (eth0) attiva un'interfaccia di rete se non è in stato inattivo e consente di inviare e ricevere informazioni.
Ad esempio, "ifconfig eth0 up" o "ifup eth0" attiveranno l'interfaccia eth0.
ifconfig eth0 up
OR
ifup eth0
5. Come disabilitare un'interfaccia di rete
Il flag "down" o "ifdown" con il nome dell'interfaccia (eth0) disattiva l'interfaccia di rete specificata. Ad esempio, il comando “ifconfig eth0 down” o “ifdown eth0” disattiva l'interfaccia eth0 se è in uno stato inattivo.
ifconfig eth0 down
OR
ifdown eth0
6. Come assegnare un indirizzo IP all'interfaccia di rete
Per assegnare un indirizzo IP a un'interfaccia specifica, utilizza il seguente comando con il nome dell'interfaccia (eth0) e l'indirizzo IP che desideri impostare. Ad esempio, "ifconfig eth0 172.16.25.125" imposterà l'indirizzo IP per l'interfaccia eth0.
ifconfig eth0 172.16.25.125
7. Come assegnare una maschera di rete all'interfaccia di rete
Utilizzando il comando "ifconfig" con l'argomento "netmask" e il nome dell'interfaccia come (eth0) è possibile definire una maschera di rete per una determinata interfaccia . Ad esempio, "ifconfig eth0 netmask 255.255.255.224" imposterà la maschera di rete su una determinata interfaccia eth0.
[root@tecmint ~]# ifconfig eth0 netmask 255.255.255.224
8. Come assegnare una trasmissione all'interfaccia di rete
Utilizzando l'argomento "broadcast" con un nome di interfaccia imposterai l'indirizzo di trasmissione per l'interfaccia specificata. Ad esempio, il comando "ifconfig eth0 broadcast 172.16.25.63" imposta l'indirizzo di trasmissione su un'interfaccia eth0.
ifconfig eth0 broadcast 172.16.25.63
9. Come assegnare un IP, una maschera di rete e una trasmissione all'interfaccia di rete
Per assegnare un indirizzo IP, un indirizzo Netmask e un indirizzo Broadcast contemporaneamente utilizzando il comando "ifconfig" con tutti gli argomenti indicati di seguito.
ifconfig eth0 172.16.25.125 netmask 255.255.255.224 broadcast 172.16.25.63
10. Come modificare MTU per un'interfaccia di rete
L'argomento “mtu” imposta l'unità di trasmissione massima su un'interfaccia. La MTU consente di impostare la dimensione limite dei pacchetti trasmessi su un'interfaccia. La MTU è in grado di gestire un numero massimo di ottetti su un'interfaccia in un'unica transazione.
Ad esempio, "ifconfig eth0 mtu 1000" imposterà l'unità di trasmissione massima su un determinato set (ovvero 1000). Non tutte le interfacce di rete supportano le impostazioni MTU.
ifconfig eth0 mtu 1000
11. Come abilitare la modalità promiscua
Ciò che accade in modalità normale è che quando un pacchetto viene ricevuto da una scheda di rete, questa verifica che appartenga a se stessa. In caso contrario, rilascia normalmente il pacchetto, ma nella modalità promiscua viene utilizzato per accettare tutti i pacchetti che fluiscono attraverso la scheda di rete.
Gli strumenti di rete odierni utilizzano la modalità promiscua per acquisire e analizzare i pacchetti che fluiscono attraverso l'interfaccia di rete. Per impostare la modalità promiscua, utilizzare il comando seguente.
ifconfig eth0 promisc
12. Come disattivare la modalità promiscua
Per disattivare la modalità promiscua, utilizza l'interruttore "-promisc" che riporta l'interfaccia di rete alla modalità normale.
ifconfig eth0 -promisc
13. Come aggiungere un nuovo alias all'interfaccia di rete
L'utilità ifconfig ti consente di configurare interfacce di rete aggiuntive utilizzando la funzione alias. Per aggiungere l'interfaccia di rete alias di eth0, utilizza il seguente comando. Tieni presente che l'indirizzo di rete alias si trova nella stessa subnet mask. Ad esempio, se l'indirizzo IP della tua rete eth0 è 172.16.25.125, l'indirizzo IP alias deve essere 172.16.25.127.
ifconfig eth0:0 172.16.25.127
Successivamente, verifica l'indirizzo dell'interfaccia di rete alias appena creato, utilizzando il comando "ifconfig eth0:0".
ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:01:6C:99:14:68
inet addr:172.16.25.123 Bcast:172.16.25.63 Mask:255.255.255.240
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:17
14. Come rimuovere l'alias dall'interfaccia di rete
Se non hai più bisogno di un'interfaccia di rete alias o l'hai configurata in modo errato, puoi rimuoverla utilizzando il comando seguente.
ifconfig eth0:0 down
15. Come modificare l'indirizzo MAC dell'interfaccia di rete
Per modificare l'indirizzo MAC (Media Access Control) di un'interfaccia di rete eth0, utilizzare il seguente comando con l'argomento “hw ether “. Ad esempio, vedi sotto.
ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
Questi sono i comandi più utili per configurare le interfacce di rete in Linux, per ulteriori informazioni e utilizzo del comando ifconfig utilizzare le pagine man come "man ifconfig " al terminale. Dai un'occhiata ad alcune altre utilità di rete di seguito.
Altre utilità di rete
- nmcli – un client da riga di comando utilizzato per controllare NetworkManager e segnalare informazioni di rete.
- Tcmpdump – è uno strumento di acquisizione e analisi di pacchetti da riga di comando per il monitoraggio del traffico di rete.
- Netstat – è uno strumento di monitoraggio della rete da riga di comando open source che monitora il traffico dei pacchetti di rete in entrata e in uscita.
- ss (socket Statistics) – uno strumento che stampa informazioni relative al socket di rete su un sistema Linux.
- Wireshark – è un analizzatore di protocolli di rete open source utilizzato per risolvere i problemi relativi alla rete.
- Munin – è un'applicazione di monitoraggio della rete e del sistema basata sul web utilizzata per visualizzare i risultati nei grafici utilizzando rrdtool.
- Cactus – è un'applicazione completa di monitoraggio e grafica basata sul web per il monitoraggio della rete.
Per ottenere maggiori informazioni e opzioni per uno qualsiasi degli strumenti di cui sopra, consulta le pagine man inserendo "man toolname" al prompt dei comandi. Ad esempio, per ottenere le informazioni per lo strumento “netstat”, utilizzare il comando “man netstat”.