In ambiente Linux per la gestione degli indirizzi IP (Internet Protocol) all’interno delle intefacce di rete (come per esempio le comunissime ethernet) viene utilizzato il comando ifconfig (abbreviazione di interface configurator) il quale corrisponde, a grandi linee, al comando ipconfig disponibile sui sistemi equipaggiati con Microsoft Windows; esattamente come accade per i terminali che possono avere più di un indirizzo IP, anche le interfacce di rete possono essere relative ad uno o più indirizzi.
Ad uno stesso Pc possono corrispondere una o più interfacce di rete, potremmo quindi avere una "eth0", una "eth1" etc. ognuna con il suo indirizzo Ip, inoltre ogni interfaccia di tipo ethernet potrà avere un suo alias identificabile ad esempio con la sigla "eth0:1" oppure "eth0:2" etc.
Tornando ad ificonfig, possiamo dire che questo comando ci permette innanzitutto di acquisire numerose informazioni sulla configurazione e lo stato della nostra interfaccia di rete; per far questo avremo a disposizione l’istruzione:
ifconfig -a
dove "a" significa "all", cioè tutte le interfacce di rete. In molte distribuzioni la semplice istruzione ifconfig digitata senza opzioni è già di per sè un alias di "ifconfig -la", come per esempio sulla mia Ubuntu:
ubuntu@ubuntu:~$ ifconfig
eth1 Link encap:Ethernet HWaddr 00:0C:29:86:3A:15
inet addr:192.168.8.3 Bcast:192.168.8.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe86:3a15/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1597 (1.5 KiB) TX bytes:6576 (6.4 KiB)
Interrupt:17 Base address:0x1400
Isoliamo le varie righe dell’output e descriviamone il significato; innanzitutto abbiamo:
eth1 Link encap:Ethernet HWaddr 00:0C:29:86:3A:15
questa parte è riferita alla tipologia di hardware utilizzato e al suo indirizzo fisico cioè il MAC address (Media Access Control address) o se preferite l’indirizzo ethernet.
La parte contenente le seguenti indicazioni:
inet addr:192.168.8.3 Bcast:192.168.8.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe86:3a15/64 Scope:Link
comunica nella prima riga l’indirizzo IP, indirizzo di broadcast e la maschera della rete; nella seconda gli eventuali alias.
Prima di continuare è bene specificare che:
- L’indirizzo di broadcast è un indirizzo IP che permette di inviare dati contemporaneamente a tutti gli host di una sotto-rete invece che ad un specifico host.
- La maschera di rete, detta anche netmask, è un insieme di indicatori che separano la parte di un indirizzo IP che indica la rete da quella che indica la sotto-rete.
Continuiamo, la riga:
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
fornisce informazioni su lo stato dell’interfaccia ("UP" indica che l’interfaccia è accessibile, diversamente sarebbe "DOWN"), le opzioni attivate, l’MTU (Maximum Transfer Unit) e la Metrica (computo del costo di trasmissione).
Adiamo avanti:
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1597 (1.5 KiB) TX bytes:6576 (6.4 KiB)
è la parte relativa alle statistiche, "RX" stà per ricezione mentre "TX" stà per trasmissione, nell’ultima riga viene indicato il "peso" di ogni pacchetto inviato o ricevuto.
Passiamo ora all’ultima parte:
Interrupt:17 Base address:0x1400
è composta da un’unica riga che mostra l’indirizzo della scheda così come viene visto dal terminale.
Per attivare un determinato indirizzo Ip su un’interfaccia basta utilizzare il comando ifconfig seguito dall’identificativo dellinterfaccia e dall’indirizzo stesso ad esempio:
ifconfig eth0 192.168.0.1 up
Nello stesso modo sarà possibile associare un Ip ad un alias dell’interfaccia di rete semplicemente specificandone il nome.