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.










