cambiando los nombres de las interfaces de red, debian wheezy

14

Estoy tratando de establecer un nombre para una interfaz, "ethLan" en lugar de eth0. Al hacerlo, también se asegura que el nombre del if se mantendrá constante en cada reinicio y kernel.

Encontré algunos artículos sobre el tema, pero todos tienen un par de años:
http://www.debian-administration.org/articles/463
http://www.linuxfromscratch.org/hints/downloads/files/ nameif.txt

Hice lo que dijeron y agregué el ethLan mac a / etc / mactabs / . En este punto tengo dos problemas:
1) El if [...] && /sbin/nameifscript que puse en /etc/network/if-pre-up.d/ no se ejecuta. Resolví esto agregando esto a /etc/init.d/networking , pero ¿por qué no funciona if-pre-up.d ?
2) La interfaz no se cargará a menos que lo haga manualmente si configuro ethLan , a pesar de agregarlo a / etc / network / interfaces . ¿Qué estoy haciendo mal?

usuario
fuente

Respuestas:

17

Los artículos que encontraste están algo desactualizados. Ahora hay un método fácil para asignar nombres a las interfaces de red, a través de Udev .

En Debian y derivados (incluido Ubuntu), busque un archivo llamado /etc/udev/rules.d/70-persistent-net.rules. Este archivo se crea /lib/udev/rules.d/75-persistent-net-generator.rulescon la ayuda del script /lib/udev/write_net_rules. Cada vez que udev ve un nuevo dispositivo de red, le asignará un nuevo número y le agregará ese número /etc/udev/rules.d/70-persistent-net.rules. De esa manera, los números de interfaz son persistentes en todos los reinicios y persistirán después de una reinstalación si restaura /etc.

(Si su distribución no envía estos archivos, búsquelos en el paquete Debian ).

Si se quiere dar un nombre significativo a una interfaz y tiene /etc/udev/rules.d/70-persistent-net.rules, todo lo que tiene que hacer es editar el archivo y el cambio "eth0"a "ethLan". Ejecute udevadm trigger --sysname eth0para cambiar el nombre del dispositivo existente después de haber editado el archivo (creo que esto requiere cerrar la interfaz). Si no tiene ese archivo, puede escribir la coincidencia de una línea usted mismo (los complicados scripts que agrega Debian son solo para hacerlo automáticamente):

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="01:23:45:67:89:ab", NAME="ethLan"
Gilles 'SO- deja de ser malvado'
fuente
1
Si desea una lista práctica de atributos utilizables en las reglas de udev, puede intentar algo como udevadm info -a /sys/class/net/eth0. (ver udevadm(8)para más detalles)
Austin Adams
1
La pregunta indica claramente que es para Wheezy, sin embargo, vale la pena señalar que esta respuesta ya no es válida para Debian y Ubuntu más nuevos. Comenzar con la denominación de interfaz systemd 220-7 debe hacerse por otros medios.
sampi
@sampi Mi respuesta todavía se aplica a Debian jessie (la versión estable actual). ¿Falla en el estiramiento o solo recomienda un método obsoleto? ¿Sabes qué versión de Ubuntu es el límite?
Gilles 'SO- deja de ser malvado'
@Gilles No profundicé lo suficiente en los detalles para saber si realmente falla o simplemente es una desaprobación recomendada. Parece que Ubuntu Wily y más reciente usan systemd superior a 220-7 .
sampi
6

Para las personas que se encuentran con esta publicación a través de un motor de búsqueda, como yo:

En Debian Stret y versiones posteriores, puede usar archivos systemd .link para que udev cambie el nombre de los dispositivos. Consulte https://manpages.debian.org/stretch/udev/systemd.link.5.en.html para ver la página de manual.

Un ejemplo:

cat /etc/systemd/network/10-uplink0.link 
[Match]
MACAddress=00:0d:b9:49:8a:18

[Link]
Name=uplink0

No olvide ejecutar update-initramfs -udespués para incrustar estos archivos de configuración actualizados en sus initramfs, donde se aplicarán.

Miguel
fuente
Si los archivos de enlace están presentes en un sistema con udev.rules.d, ¿cuál tendrá prioridad?
vfclists
1

Hay una manera un poco más simple de hacerlo con un paquete llamado ifrename. Tiene un udevarchivo de configuración separado (de ) y puede usar direcciones MAC para identificar interfaces.

Sin wireless-toolsembargo, entra en conflicto con .

Mischa Arefiev
fuente
2
Cabe señalar que ifrenameentrará en conflicto udevsi ambos se utilizan para dar nombres persistentes a las interfaces.
Mischa Arefiev