Reimpostare eth0 e wlan0 su Debian Stretch

Chi ha provato Debian Stretch (versione 9), l’attuale versione stabile, avrà notato dei cambiamenti radicali per quanto riguarda il riconoscimento delle interfacce di rete (eth0, wlan0, ecc…), non hanno più i nomi di un tempo, ma dei biosdevname, in pratica i nomi assegnati direttamente dal BIOS, che cambiano di macchina in macchina.

Questa nuova funzionalità è stata implementata in systemd, ed il suo nome è v197, ossia Predictable Network Interface Names.

Il nostro amato file /etc/udev/rules.d/70-persistent-net.rules generato da udev è sparito.

Se volete ripristinare i vecchi device di rete ed il file sopra citato su Debian Stretch state seguendo la guida giusta.

I dispositivi di rete vengono mappati in questa cartella qui /sys/class/net/ nel mio caso vengono chiamate eno1 e wlo1.

Possiamo scoprire i nomi dei nostri dispositivi di rete in due modi, digitando:

oppure digitando

Ricordo che per riavere il comando ifconfig bisogna installare il seguente pacchetto:

Nel mio caso la ethernet viene chiamata eno1 e l’interfaccia wifi invece wlo1.

I dispositivi di rete USB invece vengono mappati in questo file: /lib/udev/rules.d/73-usb-net-by-mac.rules

Per ripristinare i vecchi nomi delle interfacce di rete digitiamo quindi:

E troveremo una riga di codice di questo tipo:

Sostituiamola con questa riga di codice:

Salviamo il file ed aggiorniamo il GRUB digitando:

C’è un file chiamato /lib/systemd/network/99-default.link che contiene le policy dei singoli devices o addirittura suddivisi in classi. Potete reperire più informazioni sulle sue pagine man, digitando:

Le policy in quel file possonoessere cambiate solo se non disabilitiamo il net.iframes nelle impostazioni del GRUB, cosa che abbiamo fatto poco fa, ed il file /lib/systemd/network/01-mac-for-usb.link mappa i dispositivi di rete USB usando i MAC ADDRESS degli stessi.

Adesso disabilitiamo il file dove andranno generate le interfacce di rete del bios digitando:

Adesso andiamo a rinominare le interfacce di rete del bios con quelle normali in /etc/network/interfaces/

Rigeneriamo l’initramfs digitando:

E riavviamo.

Adesso possiamo ricreare il nostro file su /etc/udev/rules/ chiamandolo però 76-persistent-net.rules anzichè 70-persistent-net.rules.

Il nome del rules file deve avere un prefisso (numero) minore di 80, in modo da poter avviarsi prima di /lib/udev/rules.d/80-net-setup-link.rules e più grande di 75 in modo che si avvia dopo il file /lib/udev/rules.d/75-net-description.rules.

Un esempio di file /etc/udev/rules/76-persistent-net.rules è questo qui:

oppure

I VENDOR_ID ed i MODEL_ID per i dispositivi PCI li troviamo digitando il comando:

discover –vendor-id –model-id pci | uniq

Nel mio caso l’output sarà:

I primi quattro numeri sono il VENDOR_ID, gli altri quattro invece i MODEL_ID.

Nel caso dei dispositivi USB invece il comando sarà:

Ulteriori informazioni potete trovarle nelle pagine man di udev digitando:

Ogni volta che apportiamo modifiche al file /etc/udev/rules/76-persistent-net.rules dobbiamo rigenerare l’initramfs digitando:

Ulteriori informazioni sui Predictable Network Interface Names le possiamo trovare qui: https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/



Leave a comment