¿Cómo cambiar el nombre de la interfaz de red en 15.10?

35

Decidí hacer una instalación limpia de 15.10 y, como resultado, necesito reinstalar MATLAB. Las licencias de MATLAB están vinculadas a la dirección de hardware eth0.

Mi tarjeta Ethernet aparece como enp1s0 y necesito cambiarle el nombre a eth0. solo lo aparece en la lista /etc/network/interfacesy /etc/udev/rules.d/70-persistent-net.rulesno existe, así que no estoy seguro de por dónde empezar.

Steve Mohan
fuente
1
Puede definir una udevregla para cambiar el nombre de la interfaz como eth0... digamos que la dirección MAC de la interfaz es xx:XX:xx:YY:yy:ZZentonces puede crear un archivo, por /etc/udev/rules.d/ejemplo, 99-rename-net.rulesy ponerlo SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:XX:xx:YY:yy:ZZ", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"en el archivo ... si no conoce la dirección MAC, puede obtenerla del /sys/class/net/enp1so/addressarchivo ..
heemayl
@heemayl si agregaste ese comentario como respuesta, entonces la gente podría comentarlo más fácilmente y discutir por qué parece funcionar para algunas personas y no para otras. ¡Abrazos!
Jonathan Hartley
La respuesta de @ heemayl en el comentario anterior no funcionó para mí, en una nueva instalación de Ubuntu 15.10.
Jonathan Hartley
En lo anterior, @jdnz sugirió usar los .linkarchivos de systemd , pero algunos otros sugirieron que esto no funcionó para ellos. Lo más probable es que no funcionó porque después de editar los archivos de enlace, initramfs debe actualizarse . Entonces, siga la respuesta de @ jndz primero, y luego siga la respuesta que he vinculado anteriormente.
Pinja-Liina Jalkanen

Respuestas:

29

Mi solución a esto fue crear un archivo /etc/udev/rules.d/10-rename-network.rulescon el contenido:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"
richvdh
fuente
1
Esto me funcionó en Ubuntu 15.10 (a diferencia de las respuestas y comentarios más votados sobre la pregunta)
Jonathan Hartley
1
@ steve-mohan Esta es la respuesta correcta y debe marcarse como correcta.
Hubro
55
Esto funciona de hecho a partir del 16.04.
EnzoR
Como esta es la respuesta principal, solo quiero notar lo que realmente funcionó para mí ... tuve que cambiar una configuración de grub y regenerar el comando de arranque para deshabilitar el cambio de nombre de las interfaces de red como se describe aquí: itzgeek.com/how-tos/ mini-howtos / ...
qodeninja
1
Trabajó para mí en 16.04. ff: ff: ff: ff: ff: ff necesitaba ser reemplazado por la dirección MAC.
Ken Shirriff
7

Tuve el mismo problema y agregar archivos /etc/udev/rules.d/no ayudó. El problema parece estar en el uso de nombres de interfaz de red predecibles como se describe aquí . Para crear su propio esquema de nombres manual, es decir, para nombrar su dispositivo "eth0" para MATLAB, puede crear sus propios .linkarchivos /etc/systemd/network/como se describe aquí .

Específicamente, creé un archivo /etc/systemd/network/10-eth.linkcon el contenido

[Match]
MACAddress=ff:ff:ff:ff:ff:ff
[Link]
Name=eth0

reemplazando ff:ff:ff:ff:ff:ffcon la dirección MAC del dispositivo que quería cambiar. Después de reiniciar, el nombre era el deseado.

jdnz
fuente
1
Esto no funcionó para mí, y me encantaría saber por qué.
richvdh
1
Esto no funcionó para mí en Ubuntu 15.10
Jonathan Hartley
1
Esto no funcionará a partir de 16.04.
EnzoR
6

Si por alguna razón la respuesta sugerida por @zab no funciona para usted, también puede deshabilitar este esquema de nombres como se hizo aquí . Pero el método propuesto por @zab es potencialmente más seguro

Simplemente no incluí biosdevname = 0 en el argumento de la línea de comando, parece que está desactivado por defecto.

Se deben seguir los siguientes pasos:

$ sudo nano /etc/default/grub

En la línea GRUB_CMDLINE_LINUX agregue net.ifnames = 0

GRUB_CMDLINE_LINUX="[previous parameters] net.ifnames=0"

Luego genere un nuevo archivo grub:

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

Al final reiniciar el sistema.

Dmitriy Kozlov
fuente
1
¿Podría por favor dar más detalles para que esta respuesta siga siendo útil si ese enlace no está disponible en el futuro?
Zanna
@Zanna Eso está hecho
Dmitriy Kozlov
2
Después de innumerables intentos de todo en Internet, esto es lo que arregló Ethernet para mí. Mi situación (para las búsquedas de Google en el futuro) no fue Ethernet después de instalar Linux Mint (o Ubuntu) a través de Serva / PXE porque el estúpido adaptador de red usa un nombre de interfaz de red predecible en lugar de eth0. Las instrucciones se encontraron aquí: itzgeek.com/how-tos/mini-howtos/…
ThePCpenguin
A partir de hoy (con todas las actualizaciones instaladas) esto funciona. Gracias.
Erutan409
2

Esto funcionó para mí en el servidor 16.04 como eno1 estaba mostrando cuando lo hice ifconfig -a. Tuve que abrir la interfaz cuando ifconfig eno1 uphice lo siguiente:

vi /etc/udev/rules.d/10-network.rules

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"
Jose
fuente
¿Cambia esto el nombre inmediatamente o solo después de reiniciar?
Xen2050