Convertir interfaces enp o eno o ens a eth

!Bienvenidos de nuevo! Hoy hablaremos sobre como convertir interfaces enp o eno o ens a eth.

¡Empezamos!

Convertir interfaces enp o eno a eth

¿Porque ya no se llaman de la misma forma las interfaces?

A partir de la versión v197 de systemd / udev se cambio la nomenclatura de las interfaces y la forma de detectarlas, para evitar problemas con la re-detección.

Los nombres predecibles de interfaces de red (como se llama a la nueva nomenclatura y forma de detección como se puede ver aquí) llamará a los dispositivos de las siguientes formas:

  • Los nombres que incorporan números de índice proporcionados por Firmware / BIOS para dispositivos integrados (ejemplo: eno1)
  • Los nombres que incorporan firmware / BIOS proporcionan números de índice de ranura de conexión en caliente PCI Express (ejemplo: ens1)
  • Nombres que incorporan la ubicación física / geográfica del conector del hardware (ejemplo: enp2s0)
  • Nombres que incorporan la dirección MAC de las interfaces (ejemplo: enx78e7d1ea46da)
  • Nombre clásico e impredecible de ethX nativo del núcleo (ejemplo: eth0)

¿Qué es mejor la forma tradicional o la nueva?

La forma nueva de nombres predecibles de interfaces de red evita problemas de detección de interfaces, por ejemplo si tenemos 3 interfaces y quitamos una, en este caso la primera, con la nomenclatura tradicional se renombrarán todos los interfaces pasando a ser el que era eth1 a eth0. En ese caso tendríamos que reconfigurar todas las configuraciones de red de los dispositivos.

Con la nueva nomenclatura los nombres son fijos y totalmente predecibles. Si miramos la salida de lspci podremos saber perfectamente como se nombrará el dispositivo. Ademas ahora la nomenclatura es mas similar a la usada por ejemplo con los dispositivos de bloque (sda, sdb, etc), basada en enlaces simbolicos.

 

En los contras de esta nueva nomenclatura, tenemos que un equipo que tenga una o dos interfaces, pasará de tener eth0 y eth1 a una nomenclatura mas compleja y esto para plantillas de sistemas puede dar problemas

 

¿Como se puede volver a la nomenclatura tradicional?

 

Se puede hacer de una forma sencilla ejecutando los siguientes pasos (valido para CentOS y derivados de RedHat 7 y 8):

  • Editar el fichero /etc/default/grub en la linea «GRUB_CMDLINE_LINUX» añadimos los parámetros del kernel «net.ifnames=0» antes de «quiet«
  • Tras guardar el fichero anterior, creamos una copia de la configuración de grub ejecutando «cp /boo/grub2/grub.cfg /boo/grub2/grub.cfg.OLD»
  • Ahora ya podemos ejecutar «grub2-mkconfig -o /boo/grub2/grub.cfg» para regenerar la configuración de grub
  • Ejecutamos un reinicio del sistema, por ejemplo con «reboot -f» y ahora ya debemos tener interfaces eth

Vídeo sobre como renombrar las interfaces eno, ens y enp a eth

Otra opción es desactivar los enlaces simbolicos de nombres fijos de systemd

Se puede deshabilitar la asignación predecible de nombres de interfaces de red para que se utilice solamente ethX.. Para  ello simplemente tienes que crear un enlace simbolico para sustituir el .link de la politica predeterminada de udev, solamente debes ejecutar: ln -s /dev/null /etc/systemd/network/99-default.link 

¿Se pueden renombrar las interfaces a mi gusto?

 

Si, solo debes crear tu esquema de nombres de forma manual, puedes nombrar tus interfaces como «inet0», «lan0», etc.

Para hacer esto tienes que crear tus ficheros .link en /etc/systemd/network/. Puedes ver como hacerlo ejecutando el el comando: man 5 systemd.link

 

Si te ha gustado este artículo puedes compártelo para que podamos publicar mas.

Deja una respuesta