En Raspberry Pi OS Bookworm y Trixie la red la gestiona NetworkManager: fija la IP estática con nmcli o con el menú nmtui y vuelve a activar la conexión. En Bullseye y anteriores, añade la dirección en /etc/dhcpcd.conf y reinicia. Comprueba el resultado con ip a.
Esta guía sirve para un TouchBerry Pi Panel PC, un Raspberry PLC o cualquier Raspberry Pi con Raspberry Pi OS. Cubre Ethernet y Wi-Fi.
La primera versión de este artículo solo usaba dhcpcd.conf. Ese método sigue funcionando en sistemas antiguos, así que también está aquí, pero las imágenes actuales usan NetworkManager.
- Paso 1Comprueba el sistemaBookworm o Trixie, o una versión anterior
- Paso 2Busca la conexiónEthernet o Wi-Fi en NetworkManager
- Paso 3Fija la direcciónnmcli, nmtui o dhcpcd.conf
- Paso 4Compruébalaip a, ip route y ping
IP dinámica o estática: ¿cuál necesitas?
Por defecto, la Raspberry Pi pide una dirección al router por DHCP (Dynamic Host Configuration Protocol). La dirección puede cambiar después de un reinicio o cuando caduca la concesión.
Para un portátil no pasa nada. Es un problema para un equipo que otros deben encontrar: un servidor de archivos o web, un servidor TCP, un panel que lee un SCADA o un PLC en la red de una máquina.
- IP dinámica: la asigna el router y puede cambiar.
- IP estática: la fijas en el equipo y se mantiene igual después de cada reinicio.
Elige una dirección fuera del rango DHCP del router, para que ningún otro equipo la reciba. Si prefieres mantener DHCP, pide una reserva DHCP en el router para la dirección MAC del equipo.
Los ejemplos usan esta red. Cambia los valores por los de la tuya:
| Parámetro | Valor de ejemplo |
|---|---|
| Interfaz | eth0 (Ethernet) o wlan0 (Wi-Fi) |
| Dirección IP y máscara | 192.168.1.25/24 (máscara 255.255.255.0) |
| Puerta de enlace (router) | 192.168.1.1 |
| Servidor DNS | 192.168.1.1 |
Paso 1: comprueba qué método usa tu sistema
Abre un terminal en el equipo, o conéctate por SSH, y consulta la versión del sistema operativo:
cat /etc/os-release
La línea VERSION_CODENAME indica la versión:
| Versión | Servicio de red | Cómo fijar una IP estática |
|---|---|---|
| Bookworm (Debian 12) y Trixie (Debian 13) | NetworkManager | nmcli o nmtui |
| Bullseye (Debian 11) y anteriores | dhcpcd | /etc/dhcpcd.conf |
El Raspberry PLC viene con Debian Bookworm de 64 bits, así que usa NetworkManager.
Paso 2: busca el nombre de la conexión
NetworkManager guarda la configuración en conexiones. Lista los dispositivos y las conexiones:
nmcli device status
nmcli connection show
La conexión Ethernet de eth0 suele llamarse Wired connection 1. La conexión Wi-Fi de wlan0 suele tener el nombre de la red, o preconfigured si configuraste la Wi-Fi en Raspberry Pi Imager.
Usa el nombre que aparece, entre comillas si tiene espacios. Si un dispositivo aparece como unmanaged, otra herramienta lo configura, por ejemplo un bloque iface en /etc/network/interfaces.
Paso 3: fija la IP estática con nmcli (Bookworm y Trixie)
Cambia el método IPv4 a manual, indica la dirección con su prefijo, la puerta de enlace y el servidor DNS, y vuelve a activar la conexión:
sudo nmcli connection modify "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.1.25/24 ipv4.gateway 192.168.1.1 ipv4.dns 192.168.1.1
sudo nmcli connection up "Wired connection 1"
El cambio queda guardado y se mantiene después de reiniciar. Si estás conectado por SSH a través de ese puerto, la sesión se corta cuando cambia la dirección: vuelve a conectarte a la dirección nueva.
Para más de un servidor DNS, sepáralos con un espacio entre comillas, por ejemplo ipv4.dns "192.168.1.1 8.8.8.8".
Wi-Fi (wlan0)
El comando es el mismo, con el nombre de la conexión Wi-Fi y una dirección de la red Wi-Fi:
sudo nmcli connection modify "preconfigured" ipv4.method manual ipv4.addresses 192.168.1.26/24 ipv4.gateway 192.168.1.1 ipv4.dns 192.168.1.1
sudo nmcli connection up "preconfigured"
Con nmtui (menú de texto)
Si prefieres un menú, ejecuta sudo nmtui:
- Elige Edit a connection y selecciona la conexión Ethernet o Wi-Fi.
- En IPv4 CONFIGURATION, cambia Automatic por Manual y abre Show.
- Rellena Addresses (
192.168.1.25/24), Gateway y DNS servers, y selecciona OK. - Vuelve atrás, elige Activate a connection y desactiva y activa la conexión para aplicar la dirección.
Paso 3 en sistemas antiguos: dhcpcd.conf (Bullseye y anteriores)
Raspberry Pi OS hasta Bullseye usa dhcpcd. En Bookworm y posteriores este archivo no se usa, así que editarlo no tiene ningún efecto.
Abre el archivo de configuración:
sudo nano /etc/dhcpcd.conf
El archivo tiene un ejemplo comentado (líneas que empiezan por #). Añade tu propio bloque al final del archivo. Para Ethernet:
interface eth0
static ip_address=192.168.1.25/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
Para Wi-Fi, el bloque es el mismo con interface wlan0:
interface wlan0
static ip_address=192.168.1.26/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
| Línea | Qué significa |
|---|---|
interface | La interfaz que se configura: eth0 o wlan0 |
static ip_address | La dirección fija, con el prefijo /24 al final |
static routers | La puerta de enlace (el router) |
static domain_name_servers | El servidor DNS, normalmente el router. Separa varios servidores con un espacio. |
Guarda con Ctrl+O, sal con Ctrl+X y reinicia:
sudo reboot
Paso 4: comprueba la dirección con ip a
ip a show eth0
ip route
ping -c 3 192.168.1.1
En la salida de ip a show eth0, busca la línea inet 192.168.1.25/24. ip route debe mostrar default via 192.168.1.1, y el ping a la puerta de enlace debe recibir respuesta.
Para la Wi-Fi, comprueba wlan0:
ip a show wlan0
Usa ip a en lugar de ifconfig. ifconfig pertenece al antiguo paquete net-tools, puede no estar instalado y no muestra todas las direcciones de una interfaz.
Raspberry PLC y TouchBerry Pi: la dirección de fábrica 10.10.10.20
Los dos equipos vienen con la dirección 10.10.10.20 en eth0 para la primera conexión por SSH. El Raspberry PLC también tiene 10.10.11.20 en eth1.
En un Raspberry PLC preparado con la imagen o el script install.sh de Industrial Shields, es una segunda dirección del puerto, definida en /etc/network/interfaces.d/eth0_1:
auto eth0:1
allow-hotplug eth0:1
iface eth0:1 inet static
address 10.10.10.20
netmask 255.255.255.0
Funciona junto a la dirección que fijas con nmcli, así que el equipo responde en las dos. Comprueba con ip a qué direcciones tiene antes de cambiar nada.
Para cambiar la dirección de fábrica, o para usar los dos puertos Ethernet de un Raspberry PLC, sigue cómo cambiar la IP estática de un Raspberry PLC.
Volver a DHCP
Con NetworkManager, pon el método en automático y borra los valores fijos:
sudo nmcli connection modify "Wired connection 1" ipv4.method auto ipv4.addresses "" ipv4.gateway "" ipv4.dns ""
sudo nmcli connection up "Wired connection 1"
Con dhcpcd, borra el bloque que añadiste en /etc/dhcpcd.conf y reinicia.
Si no funciona
| Qué ves | Causa probable | Qué hacer |
|---|---|---|
El cambio en dhcpcd.conf no hace nada | El sistema es Bookworm o posterior | Usa nmcli o nmtui |
nmcli dice que la conexión no existe | El nombre es otro | Copia el nombre de nmcli connection show, entre comillas |
| La sesión SSH se corta | La dirección ha cambiado | Vuelve a conectarte a la dirección nueva |
| La dirección está fijada, pero no hay internet | Puerta de enlace o DNS incorrectos | Revisa ip route y el valor del DNS |
| Las conexiones fallan de vez en cuando | Otro equipo tiene la misma dirección | Elige una dirección libre fuera del rango DHCP |
Preguntas frecuentes sobre la IP estática en una Raspberry Pi
¿Puedo seguir usando /etc/network/interfaces?
No en una instalación normal. Raspberry Pi OS configura la red con dhcpcd (Bullseye y anteriores) o con NetworkManager (Bookworm y posteriores). Los archivos que la imagen de Industrial Shields añade en /etc/network/interfaces.d/ solo definen las direcciones de fábrica.
¿Hay que reiniciar después de nmcli?
No. nmcli connection up aplica la dirección al momento y queda guardada para el siguiente arranque. Con dhcpcd, reinicia.
¿Qué dirección IP elijo?
Una de la misma subred que el router y los demás equipos, que no use otro equipo y que esté fuera del rango DHCP. En una planta, pregunta a quien gestiona la red.
¿Puedo tener IP estática en Ethernet y DHCP en la Wi-Fi?
Sí. Cada conexión tiene su propia configuración. Pon puerta de enlace solo en la conexión que va al router.
Guías relacionadas
- Cliente TCP en un TouchBerry Pi o Raspberry PLC, parte 1 y parte 2
- Servidor TCP con Node.js
- Cómo cambiar la IP estática de un Raspberry PLC
El TouchBerry Pi Panel PC existe en 7", 10,1" y 18,5" con Ethernet Gigabit. La familia Raspberry PLC tiene dos puertos Ethernet y Debian Bookworm de 64 bits preinstalado.
Para ir más allá
Una dirección fija es el primer paso para conectar un panel o un PLC con el resto de la máquina. Estas páginas lo muestran en un proyecto real.
Caso de estudio
Embotellado de agua con un TouchBerry Pi Panel PC
Un TouchBerry Pi de 7" controla una estación de embotellado como PLC y HMI: cinta, sensores, cilindro y bomba en sus propias E/S.
Leer el caso de estudio
PLC Solution Library
Socket TCP entre Python y Node-RED en un Raspberry PLC
Un proceso de control en Python y un dashboard de Node-RED intercambian datos de un encoder y órdenes de marcha, paro y salida por TCP.
Ver el ejemplo