Uncategorized

Nombres de interfaces usando systemd

Interfaces de red y systemd

Desde hace un tiempo los sistemas operativos han cambiado el nombre de las interfaces de red
estabamos muy acostumbrados a trabajar con interfaces con nombres tales como eth0, wlan0.
Sin embargo ahora los nombres son mas complejos aparecen nombres como enp2s0, enp18 enx7865780.

¿Qué fué lo que paso para que aquello que era intuitivo en el nombre de las interfaces se transfome en algo complejo ?

La razón es que a partir de la versión 197 de systemd, udev asigna automáticamente los nombres de las
interfaces de red para ethernet, WLAN, WWAN. Antes el núcleo del sistema otorgaba automáticamente a cada
dispositivo ethernet conectado un número comenzando por 0 a cada uno de los dispositivos, un ejemplo es
eth0, eth1, etc, pero en los nuevos sistemas el arranque de los controladores no es predecible.
Para solucionar esto se penso en asociar la interface eth0 a la mac address pero nuevamente tuvimos un monton de
problemas tales como invocar un directorio donde estuvieran las configuraciones que muchas veces no era accesible
desde el arranque. Ademas en algunos sistema de maquinas virtuales los dispositivos tienden a cambiar, con la consecuencia que en el arranque las maquinas virtuales no tenian asociados los números ip al dispositivo configurado, con el consecuente trastorno para los administradores.

Finalmente, la solución llego por el lado del systemd.
Se crearon una serie de reglas basadas en la información del hardware, veamos cuales son.
1.- Los nombres de las interfaces incorporan información del firmware o BIOS del hardware, por ejemplo ENO1.
2.- Los nombres incorporan información que proporciona el slot PCI Express,por ejemplo ens1.
3.- Los nombres incorporan información física del conector enp2s0.
4.- Los nombres incorporan información de la Mac address, por ejemplo enc00bbccddee.
5.- Los nombres adoptan el clásico del kernel, por ejemplo eth0.

¿Cómo aplica las reglas systemd?

Systemd nombra las interfaces siguiendo las directrices anteriores, a saber: se elige la opción 1
si la información proveniente del firmware esta disponible. De lo contrario se usa la opción 2 sólo
si la información esta disponible, de lo contrario se usa el esquema 3, y sino es posible alguna de las
anteriores se utiliza la opción número 4.

 

Más información en https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *