Una computadora de escritorio tiene acceso a Internet a través de una interfaz de red inalámbrica USB (popularmente conocidas como dongle). El problema con este tipo de dispositivos externos es que el nombre de interfaz puede cambiarse en cada reinicio, aunque no se cambie el puerto donde está conectada. En mi caso la interfaz se renombraba aleatoriamente de wlan0
a wlan1
y viceversa en cada reinicio. No es un problema grave, excepto que el gestor de redes wicd fija el nombre de adaptador en su configuración, con lo cual era necesario ajustar la configuración de wicd cada vez que se cambiaba el nombre de dispositivo de la interfaz de red WiFi.
Este artículo explica cómo configurar el gestor de dispositivos udev para fijar un nombre de dispositivo a una interfaz de red basándose en su dirección MAC.
Actualmente la interfaz tiene el nombre de dispositivo "wlan0":
root@devuan:~# ifconfig wlan0 wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.6 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 2800:560:40:19cf:1e65:9dff:fe1e:86d5 prefixlen 64 scopeid 0x0<global> inet6 fe80::1e65:9dff:fe1e:86d5 prefixlen 64 scopeid 0x20<link> ether 1c:65:9d:1e:86:d5 txqueuelen 1000 (Ethernet) RX packets 41 bytes 6433 (6.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 104 bytes 16376 (15.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
El primer paso consiste en determinar la dirección MAC de la interfaz:
root@devuan:~# ifconfig wlan0 | grep ether ether 1c:65:9d:1e:86:d5 txqueuelen 1000 (Ethernet)
Se observa en este ejemplo que la dirección MAC es "1c:65:9d:1e:86:d5".
Para fijar el nombre de dispositivo para la interfaz con esta MAC, se crea una regla de udev. Crear el archivo /etc/udev/rules.d/10-network-device.rules
:
root@devuan:~# nano /etc/udev/rules.d/10-network-device.rules
Agregar la siguiente regla:
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="1c:65:9d:1e:86:d5", NAME="wifi5"
En este caso decidí asignarle el nombre "wifi5". Reemplazar la variable ATTR{address}
por la MAC correspondiente.
Guardar los cambios y reiniciar el sistema:
root@devuan:~# reboot
Al iniciar nuevamente se observa que udev le asigna un nombre "wlanX" al igual que antes. Sin embargo, resulta inmediatamente renombrado a "wifi5":
root@devuan:~# grep 'wifi5: renamed' /var/log/syslog Mar 23 18:47:49 devuan kernel: [ 13.414783] rt2800pci 0000:02:00.0 wifi5: renamed from wlan0
A partir de ahora esta interfaz de red WiFi tendrá siempre el nombre de dispositivo "wifi5" independientemente de en qué puerto USB sea conectada:
root@devuan:~# ifconfig wifi5 wifi5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.6 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 2800:560:40:19cf:1e65:9dff:fe1e:86d5 prefixlen 64 scopeid 0x0<global> inet6 fe80::1e65:9dff:fe1e:86d5 prefixlen 64 scopeid 0x20<link> ether 1c:65:9d:1e:86:d5 txqueuelen 1000 (Ethernet) RX packets 41 bytes 6433 (6.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 104 bytes 16376 (15.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Referencias