Publi

Píldora: Recupera los nombres de los interfaces de red de tu equipo, eth0, wlan0, etc

Network interfaces

A medida que una tecnología crece, siempre tenemos el mismo problema, terminamos metiendo muchos elementos de un mismo tipo en un equipo. Y terminamos teniendo el mismo problema: si cambiamos algo de sitio, o un driver se carga antes que otro, estamos perdidos porque nada funcionará igual.

Preámbulo

El caso más claro es el de los discos duros, las placas base suelen tener un montón de puertos para conectar discos duros. Y, simplemente tendría que dar igual dónde enchufemos cada uno. Incluso si cambiamos un disco duro de sitio una vez instalado el sistema (porque se ha roto el puerto, porque nos viene mejor cambiar las conexiones por la longitud de los cables… o ¡porque lo desarmamos todo y tenemos que enchufar séis discos duros y no queremos apuntar dónde estaba cada uno! Por eso, si miramos un /etc/fstab más o menos reciente, veremos que los discos duros están identificados por un UUID (que podemos obtener si ejecutamos blkid como superusuario).

Del mismo modo pasa con los interfaces de red. Podemos tener varias tarjetas de red enchufadas, varios WiFi y que, cada uno tenga un cometido diferente. Los dispositivos de red, por cable, históricamente han sido siempre eth0, eth1, eth2… y así hasta el final. Pero, ¿qué sucedería si cuando reiniciemos el que antes era eth0, ahora es eth2? seguramente el cable que está conectado a eth0 no tenga acceso a los equipos de eth2 y no funcione nada.

Personalmente, tuve un problema parecido en un miniPC casero que tengo funcionando de router. Este equipo tiene dos interfaces de red: uno integrado en la placa base que está conectado a Internet, y otro enchufado por USB que está conectado a un switch y punto de acceso WiFi. Un día, tras actualizar el equipo en remoto no volví a tener acceso a la máquina hasta que físicamente le conecté un monitor y me di cuenta de que los nombres de los interfaces de red habían cambiado (eth0 pasó a ser eth1 y eth1 se convirtió en eth0). En aquel momento, lo que hice fue cambiar la configuración de los interfaces, cambiar los interfaces en el firewall y listo. Pero, desde udev versión 197 estos dispositivos pasaron a tener un nombre fijo y muy feo, pero pongas el dispositivo como lo pongas, el nombre se mantendrá.

¡Al grano!

Por un lado está bien, por ejemplo, para el caso que comenté antes. Aunque en el ordenador de trabajo, que solo tengo un eth0 y wlan0, pero muchísimos scripts que utilizan interfaces de red fijos, no me gustaba la idea de tener que cambiar los nombres de dispositivos, así que decidí volver a utilizar eth0 y wlan0 como antes.

Nota: Estas modificaciones están hechas para una Ubuntu, para otra distribución, si usamos grub tendremos que buscar el archivo de configuración.

Para ello, editamos el archivo /etc/default/grub y en la línea de GRUB_CMDLINE_LINUX_DEFAULT añadimos net.ifnames=0. Por ejemplo esta línea puede quedarse así (depende mucho del contenido anterior):

1
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash net.ifnames=0"

Y luego ejecutamos:

sudo update-grub

Cuando reiniciemos el sistema, volveremos a tener todo como antes.

Más info: Systemd/PredictableNetworkInterfaceNames en Freedesktop.org

Actualizado 07/09/2017: Añadido enlace de Freedesktop. Gracias Osqui.

Foto principal: Seb Zurcher

También podría interesarte...

There are 3 comments left Ir a comentario

  1. Pingback: Píldora: Recupera los nombres de los interfaces de red de tu equipo, eth0, wlan0, etc | PlanetaLibre /

  2. Osqui /
    Usando Mozilla Firefox Mozilla Firefox 55.0 en Fedora Linux Fedora Linux

    Gracias
    Estaría bien hacer referencia a https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

    1. Gaspar Fernández / Post Author
      Usando Mozilla Firefox Mozilla Firefox 55.0 en Ubuntu Linux Ubuntu Linux

      Pues si. Muchas gracias. Añadí el enlace 🙂

Leave a Reply