10.9 Gestire nomi inconsistenti delle interfacce dati dal kernel
I nomi eth0, eth1, ecc. vengono assegnati dal kernel
in maniera che possa creare le interfacce con il medesimo nome. mentre gli
adattatori riconosciuti al boot sono in genere riconosciuti ogni volta nello
stesso ordine e quindi ricevono gli stessi nomi ogni volta, lo stesso no vale
per quelli che vengono inseriti a caldo. Questi possono venire riconosciuti in
qualsiasi ordine e finire con nomi diversi assegnati dal kernel in occasioni
differenti.
A causa di ci�, su un sistema in cui gli adattatori di rete vengono inseriti a
caldo, non sempre vale la pena di definire delle interfacce logiche in
/etc/network/interfaces
con i nomi eth0,
eth1, ecc. e di fidarsi della mappatura predefinita. Invece,
dovrete dare nomi distinti alle interfacce logiche ed usare uno dei metodi
seguenti per decidere quale interfaccia pu� essere assegnata a quale
adattatore.
Un metodo � di usare o l'utilit� nameif
(del pacchetto
net-tools
) o la pi� flessibile ifrename
(del
pacchetto ifrename
) per far assegnare al kernel i nomi alle
interfacce in accorso con le propriet� degli adattori soggiacenti. Con tale
schema, in effetti, il nome dell'interfaccia fisica pu� essere utilizzato per
risalire a quale adattatore esso corrisponda.
Un altro metodo consiste nell'usare il meccanismo di mappatura di
ifup
in maniera tale che un'interfaccia logica venga scelta per
attivarne una fisica sulla base di alcune caratteristiche tipiche del dato
adattatore a cui corrisponde.
Ammettiamo, per esempio che avete due adattatori di rete diversi che usate con
le reti net1 e net2, rispettivamente. La directory
/usr/share/doc/ifupdown/examples/
contiene uno script di mappatura
che pu� essere utilizzato per scegliere un'interfaccia logica basandosi
sull'indirizzo del Media Access Controller (indirizzo MAC) dell'adattatore.
Per prima cosa installate lo script nella directory appropriata.
# install -m770 /usr/share/doc/ifupdown/examples/get-mac-address.sh \
/usr/local/sbin/
Aggiungete,poi, un gruppo di righe come il seguente a
/etc/network/interfaces
:
mapping eth0
script /usr/local/sbin/get-mac-address.sh
map 02:23:45:3C:45:3C net1
map 00:A3:03:63:26:93 net2
Vedere
Mappatura multilivello, Sezione
10.11 per un esempio pi� complesso.
In entrambi i metodi applicati, la propriet� che viene usata pi� comunemente
per identificare l'adattatore � l'indirizzo MAC.