¿Cómo puedo mostrar los antiguos nombres eth0 y también cambiar el nombre de las interfaces de red en debian 9 stretch?

12

Me gustaría hacer 2 cosas:

1) Revierta las interfaces al antiguo nombre clásico: eth0 en lugar de ens33.

2) Cambie el nombre de las interfaces de la manera que desee para que, por ejemplo, pueda llamar a la interfaz eth0 como wan0 o asignar eth1, eth2 y así sucesivamente a la dirección mac que quiero.

usuario3450548
fuente

Respuestas:

21

Suponiendo que acaba de instalar su debian 9 stretch.

1) Para revertir los nombres antiguos de las interfaces:

nano /etc/default/grub

editar la línea GRUB_CMDLINE_LINUX=""aGRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

luego inicie un grub-mkconfig para aplicar los cambios dentro del gestor de arranque

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

Necesita reiniciar después de eso.


2) Para renombrar las interfaces use:

  • Para una modificación temporal, eche un vistazo a la respuesta @xhienne.

  • Para una modificación permanente:

Comience creando / editando el archivo /etc/udev/rules.d/70-persistent-net.rules .

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

E inserte líneas internas como:

# 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"

Si desea asignar, por ejemplo, un nombre como wan0 a eth0, puede usar dado mi ejemplo:

# 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"

Después del próximo reinicio o usando el reinicio de la red de servicio , debería ver los cambios aplicados.


EXTRA: ¡ Recuerde que después de todas estas modificaciones, debe editar su archivo / etc / network / interfaces reemplazando los nombres de las interfaces antiguas por las nuevas!


EXTRA: si desea saber qué dirección MAC tienen sus interfaces, simplemente haga un

ip addr show

y mira debajo del enlace / sección.

usuario3450548
fuente
¿Dónde se puede encontrar esta información en la documentación oficial de Linux?
vfclists
5

Para la pregunta 1) vea la respuesta del usuario 3450548 . Para la pregunta 2) puede dar cualquier nombre que desee a una interfaz con iproute2:

ip link set ens33 down           # Else you will get "Device or resource busy"
ip link set ens33 name eth0
xhienne
fuente
1
Oh, bien, sin embargo, ¿esto no es solo un cambio temporal hasta el próximo reinicio?
user3450548
Si. Por supuesto, puede agregar esto en un script de inicio, pero su respuesta es mejor si desea algo permanente. No noté que estaba respondiendo su propia pregunta (puede aceptarla en ese momento) y agregué esto si usted (o cualquier otra persona) desea un cambio de nombre temporal para fines de prueba.
xhienne
Gracias, este es un buen complemento,
señalaré
0

Cree el archivo a continuación si no está allí

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

agregar debajo de la línea

# 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"
luke
fuente
0

Encontré una manera muy fácil cambiando solo /etc/network/interfaces:

rename enp3s0=wan0

Entonces

service networking restart

para reiniciar el servicio de red.

Le debemos Bernt Robertsen
fuente