Búsqueda de sitios web

Cómo habilitar Wake-on-LAN (WOL) en Linux


La función Wake-on-LAN (WoL) le permite reactivar de forma remota una computadora Linux enviando un paquete Ethernet de transmisión especial (paquete mágico) que contiene la dirección MAC del host que desea encender.

Antes de habilitar WoL en Linux, debe asegurarse de que su placa base admita esta función y habilitarla en la configuración del BIOS. Reinicie el host y abra la configuración del BIOS (UEFI). El nombre de la opción WoL puede variar según el proveedor, el modelo de placa base y la versión de firmware. Esta opción se puede llamar

Wake on PCI/PCI-E

,

Power or Resume on PCI/PCI-E

,

S5 Wake on LAN

. Busque y habilite esta opción. Guarde la configuración del BIOS.

La herramienta ethtool se usa comúnmente para administrar Wake On LAN en Linux. Instalarlo:

$ sudo apt install ethtool

Listar interfaces de red:

$ ifconfig

Copie el nombre de la interfaz de su adaptador LAN Ethernet y ejecute el comando:

$ sudo ethtool enp3s0 | grep "Wake-on"

En este caso, WoL está deshabilitado (d).

Habilite Wake on LAN para el adaptador específico:

$ sudo ethtool --change enp3s0 wol g

La opción Wake On Lan debería cambiar a g (Wake on MagicPacket).

El '

netlink error: cannot enable unsupported WoL mode (offset 36)

' indica que WoL no es compatible con el adaptador de red o está deshabilitado en el BIOS.

Ahora puede activar de forma remota su host Linux. Sin embargo, la opción WoL de la interfaz de red se restablecerá al reiniciar. Hay varias formas de habilitar automáticamente Wake on LAN para el adaptador cuando se inicia la computadora.

NetworkManager es la herramienta de administración de red predeterminada en muchas distribuciones de Linux, incluidas Ubuntu, Rocky y Debian. En NetworkManager, puede habilitar WoL para un adaptador usando el comando nmcli:

$ nmcli con show

Copie el nombre de la conexión Ethernet (cableada en este ejemplo) y habilite WoL:

$ sudo nmcli c modify "wired" 802-3-ethernet.wake-on-lan magic

Verifique que Wake on LAN esté habilitado en la interfaz:

$ nmcli c show "wired" | grep 802-3-eth

Para otras distribuciones de Linux, puede usar systemd para habilitar WakeOnLan en el arranque. Cree una nueva unidad systemd:

$ sudo systemctl edit wol.service --full --force

Agregue la siguiente configuración:

[Unit]
Description=Enable Wake-on-LAN
After=network-online.target
[Service]
Type=oneshot
ExecStart=/sbin/ethtool --change enp3s0 wol g
[Install]
WantedBy=network-online.target

Habilite el servicio:

$ sudo systemctl daemon-reload
$ sudo systemctl enable wol.service
$ sudo systemctl start wol.service

Compruebe que el servicio se esté ejecutando:

$ systemctl status wol

Ahora puede probar cómo funciona Wake on Lan en este host. Copie la dirección MAC del adaptador de red en el que ha habilitado WoL.

Verifique que el modo de suspensión esté habilitado en Linux:

$ sudo systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target

Pon tu host Linux en suspensión:

$ sudo systemctl suspend

Para enviar un paquete mágico en Linux, puede utilizar la herramienta wakeonlan o etherwake:

$ sudo apt-get install wakeonlan etherwake

Para reactivar una computadora de forma remota, ingrese su dirección MAC (los paquetes WoL no se enrutan, por lo que las computadoras deben estar en el mismo segmento LAN):

$ wakeonlan <MAC-address>

o:

$ etherwake <MAC-address>

Después de recibir el paquete mágico, la computadora debería reactivarse. Tenga en cuenta que WoL no requiere abrir el puerto en el firewall de Linux. El adaptador de red recibe y procesa directamente el paquete de transmisión WoL UDP sin utilizar la pila de red de Linux.

Artículos relacionados