Cómo conseguir que Wake-on-LAN funcione en tu equipo Linux sin perder la cabeza
Trabajar con WoL en Linux es un poco extraño y frustrante a veces. Configuras todo (BIOS, herramientas de red) y, de repente, nada. O peor aún, indica que WoL no es compatible, aunque se supone que tu hardware debería hacerlo. Esta guía te ahorrará molestias, explicándote los problemas más comunes y sus soluciones reales, para que finalmente puedas reactivar tu equipo Linux de forma remota sin tener que preocuparte cada vez.
Cómo solucionar el problema de WoL en Linux
Asegúrese de que el BIOS admita y tenga habilitado Wake-on-LAN
Este es el primer paso, pero a menudo se pasa por alto. A veces, esas configuraciones de la BIOS están ocultas tras menús extraños o tienen nombres diferentes según la placa base. Reinicia tu PC, pulsa Supr, F2 o cualquier otra tecla para abrir la BIOS/UEFI. Ve a las secciones «Administración de energía» o «Avanzado».Busca opciones con nombres como Wake on PCI/PCI-E, Power on By PCI-Eo S5 Wake on LAN. Activa esa opción. Guarda y sal. Porque, claro, Windows tiene que complicarlo más de lo necesario; Linux hereda todas estas peculiaridades.
En algunas configuraciones, esta configuración no es evidente y podría estar deshabilitada por defecto, por lo que WoL no activa nada. Después de habilitarla, reinicie de nuevo y compruebe si su tarjeta de red está lista para recibir paquetes mágicos.
Instalar y usar ethtool para comprobar y habilitar WoL
Esta herramienta es un salvavidas, pero la línea de comandos puede ser intimidante al principio.¿Por qué es útil ? Interactúa directamente con el controlador de tu tarjeta de red, así que si WoL es compatible, ethtool puede avisarte y habilitarlo. Si no es compatible o el controlador no es compatible con WoL, la verdad es que no hay solución.
Instálalo si aún no lo has hecho: $ sudo apt install ethtool
Encuentra tu interfaz Ethernet; probablemente algo como enp3s0o eth0. Enumere todas las interfaces: $ ifconfigo$ ip link
Correr: $ sudo ethtool enp3s0 | grep "Wake-on"
Se espera ver indicadores como «d» (deshabilitado), «w» (activación con paquete mágico) u otros. Si está deshabilitado, prueba: $ sudo ethtool --change enp3s0 wol g
Ese comando le indica a la tarjeta de red que acepte paquetes mágicos. Si el cambio se confirma, ¡genial! Ese es el primer paso. Si recibe un error como netlink error: cannot enable unsupported WoL mode (offset 36), es la señal: su hardware o controlador no es compatible con WoL en esa interfaz.
Cómo hacer que WoL se mantenga después de reiniciar: usar NetworkManager o systemd
Porque, claro, Linux reinicia todo esto al reiniciar. Necesitas una forma de automatizarlo. Aquí tienes algunas opciones:
Método 1: Usar nmcli (para NetworkManager)
Muchas distribuciones, especialmente Ubuntu, Debian, Rocky o Fedora, usan NetworkManager. Puedes habilitar WoL con: $ nmcli con showpara listar las conexiones y luego encontrar tu conexión cableada. Muestra nombres como » Conexión cableada 1″ o nombres personalizados.
Habilitar WoL para esa conexión: $ sudo nmcli c modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic
Comprueba si está habilitado: $ nmcli c show "Wired connection 1" | grep 802-3-eth
Si está turbio o no funciona, es posible que tengas que volver a aplicarlo en cada arranque o incluirlo en el script de rutinas de inicio.
Método 2: Use systemd para ejecutar ethtool en el arranque
Esto es un poco complicado, pero funciona bien. Básicamente, se crea un servicio systemd que ejecute el ethtoolcomando al iniciar, de modo que active WoL automáticamente cada vez.
Crea un archivo /etc/systemd/system/wol.servicecon este contenido:
[Unidad] Descripción=Habilitar Wake-on-LAN Después de=red-online.objetivo [Servicio] Tipo=one-shot ExecStart=/sbin/ethtool --change enp3s0 wol g [Instalar] WantedBy=red-online.objetivo
Reemplace enp3s0con el nombre de su interfaz. Guarde el archivo y ejecute: $ sudo systemctl daemon-reload $ sudo systemctl enable wol.service $ sudo systemctl start wol.service
Consultar estado con: $ systemctl status wol
De esta manera, WoL debería habilitarse automáticamente después de cada reinicio, lo que es un alivio.
Prueba y envío de paquetes mágicos
Una vez configurado todo, es hora de probar. Confirme que su máquina admita modos de suspensión (verifique con $ systemctl status suspend.target) y apáguela para probarla. Luego, use una aplicación cliente o herramientas CLI como wakeonlan o etherwake para ingresar la dirección MAC.
Instalar la herramienta: $ sudo apt-get install wakeonlan etherwake
Envía tu paquete mágico: $ wakeonlan <MAC-address>o: $ etherwake <MAC-address>
Si la configuración de red no es demasiado estricta y la BIOS está configurada correctamente, el PC debería reactivarse. Tenga en cuenta que los paquetes WoL generalmente solo funcionan dentro del mismo segmento de LAN; aquí no se produce ninguna acción de enrutamiento.
Resumen
- Asegúrese de que el BIOS tenga WoL habilitado.
- Úselo
ethtoolpara verificar y alternar la compatibilidad con WoL. - Haga que WoL sea persistente a través de NetworkManager o scripts systemd.
- Prueba con
wakeonlanoetherwake.
Resumen
Conseguir que WoL funcione en Linux a veces se trata más de buscar compatibilidad de hardware y peculiaridades de controladores que de software en sí. Pero una vez configurado, es bastante práctico: reactivar servidores o PC desde otra habitación sin SSH no está nada mal. Solo ten en cuenta que a veces tu tarjeta de red no admite WoL, por mucho que la ajustes. Ojalá esto ayude a superar los obstáculos y a que las reactivaciones remotas sean realmente fiables.