Wake-on-LAN en Linux (solo red local)
Esta guía explica cómo habilitar Wake-on-LAN (WOL) en Linux después de haberlo activado a nivel de hardware / firmware.
Wake-on-LAN en Linux funciona solo con conexiones Ethernet por cable. No funciona de forma fiable a través de Wi-Fi.
Sistemas compatibles
Esta guía aplica a la mayoría de distribuciones Linux modernas, incluyendo:
- Ubuntu
- Debian
- Fedora
- Arch Linux
- Linux Mint
- Raspberry Pi OS
Aplica solo a sistemas que utilizan:
- Ethernet por cable
- Tarjetas de red compatibles con Wake-on-LAN
Requisitos previos
Antes de continuar, asegúrate de que:
- Wake-on-LAN está habilitado en la BIOS / UEFI
- El ordenador está conectado por Ethernet
- La interfaz Ethernet es detectada por Linux
Si la BIOS / UEFI aún no está configurada, hazlo primero:
→ Habilitar Wake-on-LAN en BIOS / UEFI
No se necesita la dirección MAC en este paso.
Paso 1: Identificar la interfaz Ethernet
Abre Terminal y ejecuta:
ip link
Busca la interfaz Ethernet activa. Los nombres comunes incluyen:
eth0enp3s0enp0s25
Ignora:
lo- Interfaces Wi-Fi (
wlan0,wlpXsY) - Interfaces VPN o virtuales
Utilizarás este nombre de interfaz en los siguientes pasos.
Paso 2: Comprobar la compatibilidad con Wake-on-LAN
Ejecuta el siguiente comando, reemplazando INTERFACE por el nombre de tu
interfaz Ethernet:
sudo ethtool INTERFACE
Busca la línea:
Supports Wake-on: Wake-on:
Ejemplo:
Supports Wake-on: pumbg Wake-on: d
Significado:
g= Wake on Magic Packet (requerido)d= deshabilitado
Si g no aparece en Supports Wake-on, la tarjeta de red no es
compatible con Wake-on-LAN.
Paso 3: Habilitar Wake-on-LAN
Para habilitar Wake-on-LAN (magic packet):
sudo ethtool -s INTERFACE wol g
Verifica el cambio:
sudo ethtool INTERFACE
La salida debería mostrar:
Wake-on: g
Esto habilita Wake-on-LAN a nivel de sistema operativo.
Paso 4: Hacer la configuración persistente (importante)
En muchos sistemas Linux, la configuración de Wake-on-LAN se restablece después de reiniciar.
Debes hacer que la configuración sea persistente.
Opción A: NetworkManager (la mayoría de sistemas de escritorio)
Crea o edita un script de dispatcher:
sudo nano /etc/NetworkManager/dispatcher.d/99-wol
Añade el siguiente contenido:
#!/bin/sh
if [ "$2" = "up" ]; then /usr/sbin/ethtool -s INTERFACE wol g fi
Reemplaza INTERFACE por el nombre de tu interfaz Ethernet.
Haz el script ejecutable:
sudo chmod +x /etc/NetworkManager/dispatcher.d/99-wol
Opción B: servicio systemd (método genérico)
Crea un servicio systemd:
sudo nano /etc/systemd/system/wol.service
Añade:
[Unit] Description=Enable Wake-on-LAN After=network.target
[Service] Type=oneshot ExecStart=/usr/sbin/ethtool -s INTERFACE wol g
[Install] WantedBy=multi-user.target
Reemplaza INTERFACE por el nombre de tu interfaz Ethernet.
Habilita el servicio:
sudo systemctl enable wol.service
Paso 5: Consideraciones sobre estados de energía
Wake-on-LAN en Linux funciona cuando el sistema está en:
- Apagado (S5)
- Suspensión (S3)
- Hibernación (si es compatible)
Requisitos:
- El cable Ethernet debe permanecer conectado
- El sistema debe permanecer con alimentación eléctrica
Paso 6: Verificación (opcional)
Después de apagar el sistema:
- Comprueba los LEDs del puerto Ethernet
- Deberían permanecer encendidos o parpadeando
Esto indica que la interfaz de red sigue con alimentación y escuchando.
Problemas comunes y soluciones
Wake-on-LAN se restablece después de reiniciar
- La configuración no es persistente
- Usa el dispatcher de NetworkManager o un servicio systemd
Funciona desde suspensión pero no desde apagado
- La BIOS puede no soportar WOL desde S5
- Busca las opciones WOL from S5 o Shutdown Wake-On-LAN
- Desactiva las opciones de suspensión profunda en la BIOS/UEFI
El nombre de la interfaz cambia
- Linux moderno usa nombres de interfaz predecibles
- Verifica el nombre de la interfaz con
ip link - Actualiza los scripts correspondientes