Asignando IP estática al adaptador inalámbrico de tu Raspberry Pi

rpi_static_ip.png

Cada vez que juego con un Raspberry Pi, el resultado final suele ser conectar algún sensor y exponer los datos del mismo a través de algún servicio REST. Esto implica que el RPi es instalado en mi red en modo servidor, al cual le mando peticiones y recibo respuestas.

Por defecto, cuando instalas el sistema operativo (Raspbian en mi caso), la configuración del adaptador inalámbrico es trivial, pero se configura en modo DHCP, es decir, el router asigna la IP de forma dinámica. Normalmente, te asigna la misma IP siempre, pero no se garantiza.

Nuestro objetivo es garantizar que el RPi siempre tenga la misma IP.

La configuración de IP estática del adaptador inalámbrico no es tan trivial como parece. Por ejemplo, cuando queremos asignar un IP estática al adaptador de red ethernet (eth0 por defecto), la solución es simple:

Nuestro fichero /etc/network/interfaces inicialmente tiene el siguiente contenido (suponiendo que tengas un adaptador de red inalámbrico - wlan0)

auto lo

iface lo inet loopback iface eth0 inet dhcp

allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp

Para asignarle una IP estática a nuestro adaptador de red eth0, todo lo que tenemos que hacer es cambiar la línea:

iface eth0 inet dhcp

por:

iface eth0 inet static

Y añadir:

address 192.168.1.50 network 255.255.255.0 gateway 192.168.1.1

Los valores dependeran de la configuración de tu red.

Con eso nos bastaría. Para configurar el adaptador inalámbrico wlan0, uno podría pensar, pues hago lo mismo, cambio la línea:

iface wlan0 inet manual

Y añado los valores, pero eso no funciona, al menos a mi no me funciona. Lo que tenemos que hacer es crear una interfaz nueva, llamémosla home :

iface home inet static

Y justo debajo los valores:

address 192.168.1.35 netmask 255.255.255.0 gateway 192.168.1.1

De nuevo, estos valores podrían ser distintos en to LAN.

Además de eso, también tenemos que modificar el fichero /etc/wpa_supplicant/wpa_supplicant.conf y definir la variable id_str y asignarle el valor de la nueva interfaz que definimos anteriormente, en nuestro caso home. Nuestro fichero /etc/wpa_supplicant/wpa_supplicant.conf tendría algo parecido a esto:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1

network={ ssid="" psk="" proto=RSN key_mgmt=WPA-PSK pairwise=TKIP auth_alg=OPEN id_str=“home” }

Los valores de ssid y psk mostrarán el nombre de tu red inalámbrica y la contraseña respectivamente.

Una vez hechos estos cambios, puedes activarlos:

sudo service networking restart

O aún mejor, reinicia tu RPi para asegurarte de que la IP es asignada correctamente en el arranque.