La última versión de Raspberry Pi 3 lleva una controladora Wifi integrada en la misma placa, pero en las versiones anteriores es posible conectarlas mediante USB. Si no sabes cómo conectar raspberry pi con ip fija para Wifi y Lan debes seguir estos pasos.
Uno de los casos que se pueden dar es que quieras tener conectada tu raspberry por cable y wifi a la misma red, pero en ocasiones después de configurar las dos con ip fija puede que te encuentres con algunos errores. En la mayoría de las ocasiones el problema que vas a ver es que la wifi se configura correctamente con la ip que le indiques, pero la red LAN (por cable) seguirá cogiendo la ip por dhcp ignorando la configuración de interfaces.
Cómoconfigurar IP fija por WiFi y LAN en Raspbian
Esta solución te puede servir para la mayoría de las versiones de raspbian, así como también para las distribuciones basadas en Debian, Ubuntu, etc. En algunas ocasiones pueden generarse conflictos en la red, por lo que te recomiendo que tengas la posibilidad de controlar directamente tu Raspberry Pi por si pierde la conexión a la red.
En primer lugar vas a configurar las ips fijas en interfaces para que a partir de ahí puedas conectar a tu raspberry siempre con la misma ip, aunque por alguna razón a la mía le gustan las ips 160 y 178.
Editaremos el archivo:
sudo nano /etc/network/interfaces
Debería quedarte algo como el siguiente, puedes añadir, modificar o sustituir las líneas que te falten, recuerda que esto es para una Raspberry Pi 3 con Wifi, así que si no tienes una wifi usb conectada esa parte no te funcionará.
# interfaces(5) file used by ifup(8) and ifdown(8) # Please note that this file is written to be used with dhcpcd # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf' # Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.30 netmask 255.255.255.0 gateway 192.168.1.1 allow-hotplug wlan0 iface wlan0 inet static address 192.168.1.31 netmask 255.255.255.0 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf allow-hotplug wlan1 iface wlan1 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Como puedes observar hemos puesto static en la declaración de eth0, así como añadimos un auto. Por otro lado en eth0 (LAN) configuramos address, netmask y gateway con los que correspondan a nuestro router:
- address: la ip estática que queremos
- netmask: la máscara de subred, normalmente no tendremos que cambiarla
- gateway: la puerta de enlace, que puedes mirar en tu pc, escribiendo ifconfig en la consola de linux en la raspberry, o habitualmente será siempre la ip que queramos tener acabada en 1 como en el ejemplo.
Una vez terminada la configuración de las ips edita el archivo /etc/wpa_supplicant/wpa_supplicant.conf, que es donde estará configurada la conexión Wifi. Introduce los siguientes datos para que quede así:
country=ES ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="vichaunter.org" psk="micontraseña" }
Deberás modificar los detalles para que coincidan con tu red wifi.
- ssid: nombre de la red
- psk: contraseña en texto plano
Una vez terminado podemos o bien reiniciar las conexiones de red, o lo más fácil será reiniciar la raspberry:
sudo reboot o sudo ifdown eth0 && ifup eth0 && ifdown wlan0 && ifup wlan0
Con uno de estos dos comandos al escribir en la consola ifconfig nos debería aparecer algo así:
eth0 Link encap:Ethernet HWaddr cc:cc:cc:cc:cc:cc inet addr:192.168.1.30 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: asdf:adsf:adsf:adsf:adsf/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:132592 errors:0 dropped:29 overruns:0 frame:0 TX packets:22081 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:58746238 (56.0 MiB) TX bytes:3771638 (3.5 MiB) wlan0 Link encap:Ethernet HWaddr cc:cc:cc:cc:cc:cc inet addr:192.168.1.31 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: adsf:asdf:asdf:adsf:asdf/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:87340 errors:0 dropped:37 overruns:0 frame:0 TX packets:1927 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:20715691 (19.7 MiB) TX bytes:398269 (388.9 KiB)
Las líneas resaltadas son las que van a indicar la ip de cada tarjeta.
Mi Raspberry Pi ignora la configuración estática y coge IP por dhcp
Bueno, si has tenido que llegar hasta aquí abajo, es por que con los pasos de arriba una de las dos ips no es la que toca, por lo que vas a tener que realizar un paso más. Es un problema bastante común debido a la configuración de las conexiones, y lo más seguro es que incluso teniendo ips diferentes las dos tarjetas en la red recibas un aviso de ip duplicada si tienes algún programa que lo monitorice.
Para forzar ip fija en raspberry pi vas a modificar el archivo /etc/dhcpcd.conf, y vas a añadir estas líneas justo al principio del archivo antes que ningún otro contenido (no tienes que borrar nada, solo insertar estas líneas):
interface eth0 static ip_address=192.168.1.30/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1
Recuerda cambiar eth0 por el nombre que le hayas dado a la tarjeta de red en tu caso. Si vas a configurar la wifi es wlan0, y si son las dos simplemente añade las líneas otra vez indicando en interface cada nombre. Una vez terminado reinicia tu raspberry para asegurarte de que coge bien la nueva ip:
sudo reboot
Deberías ver ahora correctamente las ips al ejecutar ifconfig y el problema quedaría resuelto.
¿Has tenido algún otro problema con la red en Raspberry Pi? ¿Cómo has forzado la ip fija en la raspberry en tu caso?
Ver comentarios (4)
He seguido al pie de la letra el tutorial, sencillo y bien explicado, sin embargo sigo teniendo el mismo problema: no logro conectar por wifi al RPi si antes no ha arrancado desde cable de red :( ¿a qué puede ser debido?
gracias!
Cambia en la configuración allow-hotplug por auto como en las otras tarjetas de red. Esto debería hacer que se ejecutara automáticamente sí o sí.
Excelente me funciono...
he añadido al final de dhcpcd.conf :
nohook resolv.conf
dejando en resolv.conf mi lista de dns´s
Parece que así funciona.