Come posso mostrare i vecchi nomi di eth0 e anche rinominare le interfacce di rete in debian 9 stretch?


12

Vorrei fare 2 cose:

1) Ripristina le interfacce al vecchio nome classico: eth0 invece di ens33.

2) Rinominare le interfacce nel modo che desidero in modo che, ad esempio, possa chiamare l'interfaccia eth0 come wan0 o assegnare eth1, eth2 e così via sull'indirizzo MAC che desidero.

Risposte:


21

Supponendo che tu abbia appena installato il tuo debian 9 stretch.

1) Per ripristinare i vecchi nomi delle interfacce fare:

nano /etc/default/grub

modifica la linea GRUB_CMDLINE_LINUX=""inGRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

quindi avviare un grub-mkconfig per applicare le modifiche all'interno del bootloader

grub-mkconfig -o /boot/grub/grub.cfg

È necessario un riavvio dopo quello.


2) Per rinominare le interfacce usare:

  • Per una modifica temporanea dai un'occhiata alla risposta @xhienne.

  • Per una modifica permanente:

Inizia creando / modificando il file /etc/udev/rules.d/70-persistent-net.rules .

nano /etc/udev/rules.d/70-persistent-net.rules

E inserisci linee interne come:

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# interface with MAC address "00:0c:30:50:48:ab" will be assigned "eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:ab", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Se vuoi assegnare ad esempio un nome come wan0 a eth0 puoi usare dato il mio esempio:

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wan0"

Dopo il riavvio successivo o utilizzando il riavvio della rete del servizio , dovresti vedere le modifiche applicate.


EXTRA: Ricorda che dopo tutte queste modifiche devi modificare il tuo file / etc / network / interfaces sostituendo i vecchi nomi delle interfacce con quelli nuovi!


EXTRA: Se vuoi sapere quale indirizzo MAC hanno le tue interfacce, basta fare un

ip addr show

e guarda sotto il link / sezione.


Dove possono essere trovate queste informazioni nella documentazione ufficiale di Linux?
vfclists,

5

Per la domanda 1) vedere la risposta dell'utente3450548 . Per la domanda 2) puoi dare qualsiasi nome tu voglia ad un'interfaccia con iproute2:

ip link set ens33 down           # Else you will get "Device or resource busy"
ip link set ens33 name eth0

1
Oh bello, tuttavia questo non è solo un cambiamento temporaneo fino al prossimo riavvio?
user3450548

Sì. Ovviamente puoi aggiungerlo in uno script di avvio, ma la tua risposta è migliore se vuoi qualcosa di permanente. Non ho notato che stavi rispondendo alla tua domanda (potresti accettarla allora) e l'ho aggiunto se tu (o chiunque altro) desideri una modifica temporanea del nome a scopo di test.
xhienne,

Grazie, questo è un bel componente aggiuntivo, indicherò anche la soluzione temporanea alla tua risposta :)
user3450548

0

Crea il file sottostante se non presente

nano /etc/udev/rules.d/70-persistent-net.rules

aggiungi sotto la riga

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
# KERNEL=="enp3s0" is debians current interface name
# NAME="eth0" is a new ethernet interface name
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="enp3s0", NAME="eth0"

0

Ho trovato un modo molto semplice cambiando solo /etc/network/interfaces:

rename enp3s0=wan0

Poi

service networking restart

per riavviare il servizio di rete.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.