Como habilitar Wake-on-LAN (WOL) no Linux

O recurso Wake-on-LAN (WoL) permite ativar remotamente um computador Linux enviando um pacote Ethernet de transmissão especial (pacote mágico) contendo o endereço MAC do host que você deseja ativar.

Antes de habilitar o WoL no Linux, você precisa se certificar de que sua placa-mãe suporta esse recurso e habilitá-lo nas configurações do BIOS. Reinicie o host e abra as configurações do BIOS (UEFI). O nome da opção WoL pode variar dependendo do fornecedor, modelo da placa-mãe e versão do firmware. Esta opção pode ser chamadaWake on PCI/PCI-E,Power or Resume on PCI/PCI-E,S5 Wake on LAN. Encontre e ative esta opção. Salve as configurações do BIOS.

Oettoolferramenta é comumente usada para gerenciar Wake On LAN no Linux. Instale:

Leia mais:Como criar um USB inicializável do Linux Mint no Windows 10

$ sudo apt install ethtool

Listar interfaces de rede:

$ ifconfig

Copie o nome da interface do seu adaptador LAN Ethernet e execute o comando:

$ sudo ethtool enp3s0 | grep "Wake-on"

Neste caso, WoL está desabilitado (d).

Habilite Wake on LAN para o adaptador específico:

$ sudo ethtool --change enp3s0 wol g

A opção Wake On Lan deve mudar parag(Acorde no MagicPacket).

O 'netlink error: cannot enable unsupported WoL mode (offset 36)‘indica que WoL não é compatível com o adaptador de rede ou está desabilitado no BIOS.

Agora você pode ativar remotamente seu host Linux. No entanto, a opção WoL da interface de rede será redefinida na reinicialização. Existem várias maneiras de ativar automaticamente o Wake on LAN para o adaptador quando o computador inicializa.

Gerenciador de redeé a ferramenta de gerenciamento de rede padrão em muitas distribuições Linux, incluindo Ubuntu, Rocky e Debian. No NetworkManager, você pode habilitar WoL para um adaptador usando onmclicomando:

$ nmcli con show

Copie o nome da conexão Ethernet (com fio neste exemplo) e habilite o WoL:

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

Verifique se Wake on LAN está habilitado na interface:

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

Para outras distribuições Linux, você pode usarsistemapara ativar o WakeOnLan na inicialização. Crie uma nova unidade systemd:

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

Adicione a seguinte configuração:

[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 o serviço:

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

Verifique se o serviço está em execução:

$ systemctl status wol

Agora você pode testar como o Wake on Lan funciona neste host. Copie o endereço MAC do adaptador de rede no qual você ativou o WoL.

Verifique se o modo de suspensão está ativado no Linux:

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

Coloque seu host Linux para dormir:

$ sudo systemctl suspend

Para enviar um pacote mágico no Linux, você pode usarsemana_alouetherwakeferramenta:

$ sudo apt-get install wakeonlan etherwake

Para ativar remotamente um computador, insira seu endereço MAC (os pacotes WoL não são roteados, portanto os computadores devem estar no mesmo segmento LAN):

$ wakeonlan <MAC-address>
ou:
$ etherwake <MAC-address>

Depois de receber o pacote mágico, o computador deverá acordar. Observe que o WoL não requer a abertura da porta no firewall do Linux. O pacote de transmissão WoL UDP é recebido e processado diretamente pelo adaptador de rede sem usar a pilha de rede Linux.

Related Posts