Cómo configurar Wake-on-LAN en Linux para encender el PC
Aprende a configurar Wake-on-LAN en Linux paso a paso. Ajusta ethtool, mapea direcciones MAC y enciende equipos remotos a través de tu red local.
Resumen
- El Wake-on-LAN depende de una señal eléctrica enviada por la tarjeta de red para despertar la placa base.
- La BIOS o UEFI debe tener habilitada la opción de inicio remoto para mantener la tarjeta alimentada.
- La utilidad ethtool verifica y modifica el estado de suspensión de paquetes mágicos en la interfaz de red.
- El paquete mágico viaja por la capa de enlace utilizando la dirección MAC física de la máquina de destino.
- Las herramientas de monitoreo de tráfico como tcpdump ayudan a diagnosticar fallas en el envío de paquetes.
Qué es Wake-on-LAN y cómo funciona en la práctica
¿Alguna vez has imaginado poder encender un ordenador que está en otra habitación o debajo de tu mesa sin necesidad de pulsar el botón físico de encendido? Eso es exactamente lo que hace Wake-on-LAN, abreviado habitualmente como WoL. En la práctica, se trata de un protocolo que permite activar un ordenador apagado o en modo de bajo consumo mediante una señal enviada a través de tu red de área local. El secreto detrás de esta magia es que la tarjeta de red de tu ordenador permanece parcialmente energizada incluso después de que el sistema operativo se apaga, esperando pacientemente una instrucción específica.
Esta instrucción tiene un nombre curioso: paquete mágico o magic packet. Se trata de un bloque especial de datos de red que contiene una secuencia repetida de bytes seguida de la dirección MAC, que es el identificador único e inalterable de la tarjeta de red de destino. Cuando la tarjeta de red captura este paquete en la red local, envía una señal eléctrica directamente a la placa base, ordenando a la fuente de alimentación que encienda todo el ordenador. Antes de iniciar cualquier configuración de software en Linux, es fundamental asegurarse de que tu hardware sea compatible con la tecnología y de que se realicen ajustes preliminares en la placa base.
Preparando la BIOS y UEFI para aceptar la señal remota
Ninguna configuración del sistema operativo Linux funcionará si la placa base de tu ordenador ignora las señales de red mientras el equipo está apagado. Por lo tanto, el primer paso real ocurre incluso antes de que el sistema arranque, ingresando a la pantalla de configuración de la BIOS o UEFI de tu máquina. Cada fabricante de placas base organiza los menús de forma diferente, pero generalmente encontrarás la opción para despertar la máquina en las pestañas de gestión de energía, características avanzadas o configuración de red integrada.
Busca términos como 'Wake on LAN', 'Power On by PCIe', 'PME Event WakeUp' o 'Resume on LAN' y cambia su estado a 'Enabled'. En muchas placas base modernas equipadas con controladores de red integrados de Intel o Realtek, también puede haber una opción relacionada con los estados de ahorro de energía en conexiones de red, conocida como Energy Efficient Ethernet, que a veces debe desactivarse para evitar que la tarjeta apague por completo su circuito de escucha. Guarda los cambios en la BIOS y reinicia tu ordenador normalmente para cargar tu sistema operativo Linux favorito.
Verificando y configurando ethtool en la interfaz de red
Una vez que el sistema operativo está en marcha, debemos verificar si el kernel de Linux y el controlador de la tarjeta de red reconocen las funciones de administración de energía correctamente. Para ello, utilizamos ethtool, que es una utilidad de línea de comandos estándar para consultar y modificar parámetros de tarjetas de red y controladores. En la práctica, actúa como un panel de control detallado para tu adaptador de red, permitiéndote comprobar la velocidad de conexión, el modo dúplex y, por supuesto, la compatibilidad con paquetes mágicos de activación.
Abre tu terminal de Linux y descubre el nombre de tu interfaz de red usando el comando ip link o ifconfig. Supongamos que tu interfaz principal se llama eth0 o enp3s0. Para comprobar el estado actual de Wake-on-LAN, ejecuta el comando con privilegios administrativos. Si prefieres monitorear el tráfico de la red para entender si los paquetes llegan correctamente, puedes consultar nuestra guía práctica sobre Cómo usar tcpdump para capturar paquetes de red en Linux antes de proceder con los ajustes de ethtool.
sudo ethtool enp3s0El resultado mostrado en pantalla traerá una sección específica llamada 'Wake-on'. Si al lado aparece la letra 'd', significa que la función está desactivada (disabled). Para cambiarla y permitir que la tarjeta acepte paquetes mágicos, usamos ethtool pasando el parámetro 'g', que instruye a la interfaz a habilitar la escucha de WoL. Si deseas aplicar una capa adicional de seguridad a tu máquina mientras configuras las interfaces, vale la pena revisar las recomendaciones sobre Cómo configurar el firewall UFW en Linux paso a paso contra accesos no deseados.
sudo ethtool -s enp3s0 wol gHaciendo que la configuración sea persistente tras reiniciar
El gran detalle que toma a muchos usuarios por sorpresa es que los cambios realizados directamente mediante ethtool en la línea de comandos son temporales. Esto significa que tan pronto como reinicies o apagues por completo el ordenador, el controlador de la tarjeta de red volverá a su estado predeterminado de fábrica, desactivando la función Wake-on-LAN. Para garantizar que el comando se ejecute automáticamente cada vez que el sistema arranque, necesitamos crear una regla persistente utilizando systemd o scripts de inicio de NetworkManager.
La forma más elegante y moderna en Linux es crear un servicio personalizado de systemd que ejecute el comando ethtool justo después de que la interfaz de red esté activa. Para ello, crea un archivo de servicio con tu editor de texto favorito en el directorio de servicios del sistema, insertando las instrucciones necesarias para disparar el comando ethtool de forma automatizada durante el proceso de arranque del sistema operativo.
[Unit]
Description=Habilitar Wake-on-LAN en la interfaz de red
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/ethtool -s enp3s0 wol g
[Install]
WantedBy=multi-user.targetGuarda el archivo con el nombre wol.service en el directorio /etc/systemd/system/ y actívalo con los comandos systemctl enable wol.service y systemctl start wol.service. De este modo, te aseguras de que el sistema esté siempre preparado para recibir la señal de activación, incluso después de cortes de energía o mantenimientos programados que requieran reinicios completos del servidor o estación de trabajo.
Enviando el paquete mágico desde otro dispositivo de la red
Ahora que la máquina de destino está debidamente configurada en la BIOS, en ethtool y con persistencia vía systemd, ha llegado el momento de probar la funcionalidad en la práctica. Para enviar el paquete mágico, necesitarás otro dispositivo conectado a la misma red local, que puede ser un portátil, una Raspberry Pi, otro servidor Linux o incluso un smartphone Android a través de aplicaciones dedicadas. El envío requiere solo dos datos cruciales: la dirección MAC de la tarjeta de red de la máquina de destino y la dirección IP de difusión (broadcast) de tu red local.
Si estás utilizando un sistema Linux en el ordenador emisor, la utilidad más común para esta tarea es el paquete etherwake o wakeonlan. Instala la herramienta utilizando el gestor de paquetes de tu distribución y ejecuta el comando proporcionando la dirección física de la máquina que deseas encender. En la práctica, este comando construirá el paquete con los bytes de sincronización y lo transmitirá a todos los equipos de la red local a través de la dirección de difusión.
sudo apt install etherwake
sudo etherwake -i wlan0 AA:BB:CC:DD:EE:FFSustituye AA:BB:CC:DD:EE:FF por la dirección MAC real de la tarjeta de red de tu ordenador de destino, y wlan0 por la interfaz de red del dispositivo que está enviando el comando. Si la máquina de destino se enciende inmediatamente después de ejecutar el comando, enhorabuena: tu configuración ha sido exitosa de principio a fin, permitiendo una gestión energética totalmente remota. Para profundizar en estos conceptos arquitectónicos en producción, consulte también nuestro análisis técnico sobre Cómo probar diodo Schottky en la placa con multímetro digital.
Reflexiones finales sobre redes locales y resolución de problemas
Configurar Wake-on-LAN en Linux es un proceso extremadamente útil para administradores de sistemas y entusiastas de los laboratorios domésticos que desean ahorrar electricidad manteniendo servidores y estaciones de trabajo apagados cuando no están en uso activo. Sin embargo, vale la pena señalar que el protocolo tradicional fue diseñado para operar estrictamente dentro de la misma red local (LAN), ya que los paquetes de difusión generalmente no cruzan los enrutadores de borde sin configuraciones avanzadas de reenvío de paquetes UDP en el puerto 7 o 9.
Si por casualidad el ordenador se niega a encender tras todos los pasos, verifica si la tarjeta de red mantiene sus LEDs encendidos o parpadeando levemente cuando la máquina está apagada, lo que indica que hay energía en espera suministrada por la placa base. Si los LEDs están apagados, el problema seguramente radica en la configuración de la BIOS o en las restricciones de ahorro de energía impuestas por la fuente de alimentación. Con paciencia y validación paso a paso, eliminas cuellos de botella y logras un entorno totalmente automatizado y eficiente.