Il computer non è una macchina intelligente che aiuta le persone stupide, anzi è una macchina stupida che funziona solo nelle mani delle persone intelligenti.

— Umberto Eco

Rispondi al commento

UDEV rules : Fissare i nomi device delle nostre schede di rete

http://www.stenoweb.it/files/blog/eth.png Il problema mi aveva lasciato parecchio l'amaro in bocca: ho seguito il suggerimento di Davide (postato come commento al post e che ringrazio) e ho creato una regola per UDEV in modo che lo stesso non avesse più libera licenza nell'assegnamento dei nomi alle interfacce di rete. Esperimento riuscito e problema scomparso, anche se nello stesso periodo è arrivato un nuovo aggiornamento del kernel e quindi qualche dubbio mi rimane...

Ci sono tre possibilità:

  • Al momento del fattaccio io avevo qualche fetta di salame davanti agli occhi (che in certe ore del giorno può succedere) e non mi sono accorto dello "scambio" di interfacce.
  • il nuovo kernel (2.6.25-11) ha risolto il problema.
  • le rules applicate a udev hanno risolto il problema.

Va bè, vediamo comunque, come si fà ad applicare il suggerimento di Davide relativo a udev (che male non fà di certo, anzi) con Archlinux.

UDEV rules

Udev è un programma in user space in grado ricevere le notifiche del sottosistema hotplug dei kernel 2.6. udev è in grado di creare dinamicamente i device file (quelli in /dev) per ogni periferica che viene rilevata nel sistema.
Per fare un esempio, se al boot vengono trovate delle porte usb, verrà automaticamente caricato il modulo relativo che permetterà (tra le altre cose) di usare eventuali chiavette usb.
Nel mio caso probabilmente mischiava le interfacce di rete eth0, eth1 e eth2 rispetto a prima e da qui il PATATRAC ;)

E' possibile "pilotare" udev in modo che ad ogni riavvio possiamo essere sicuri che assegni lo stesso nome device alle interfacce di rete. Questo è stato il suggerimento di Davide, e io, come lui, ora lo metterò di default nelle mie future installazioni.

Azione

Risolviamo il tutto creando il file 10-network.rules :

sudo nano /etc/udev/rules.d/10-network.rules

Nel mio caso ci sono 3 interfacce di rete (tra cui due identiche su scheda madre, da qui forse il casino), eth0, eth1, e eth2.
Con ifconfig vedo il MAC address delle schede, ne prendo nota e nel file inserisco:
SUBSYSTEM=="net", ATTRS{address}=="00:ab:cd:39:b7:00", NAME="eth0"
SUBSYSTEM=="net", ATTRS{address}=="00:a3:12:d2:c2:26", NAME="eth1"
SUBSYSTEM=="net", ATTRS{address}=="00:a3:12:d2:c2:27", NAME="eth2"

In questo modo sono sicuro che ad ogni riavvio alla scheda con MAC address "00:ab:cd:39:b7:00" venga assegnato il nome "eth0" e così via.

Per non dimenticare ;)

Rispondi

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.