Como Configurar o Wake-on-LAN em um Servidor Debian
- tags
- #Wake-on-LAN #WOL #Debian #Configuração #Servidor
- categorias
- Tutoriais Linux Debian Networking
- publicado
- tempo de leitura
- 4 minutos
Como Configurar o Wake-on-LAN em um Servidor Debian
1. Obtendo Informações
Antes de começar, certifique-se de que a opção de Wake-on-LAN (WOL) está habilitada na BIOS do servidor.
Abaixo está o meu passa a passo no servidor de teste como referência, para ativar o Wake-on-Lan.

Tela de Bios Servidor
Em seguida, precisamos descobrir o endereço IP, o endereço MAC e o nome da interface de rede que será configurada para WOL. Utilize o seguinte comando para listar as interfaces de rede:
ip a | grep '0' # Exibe as interfaces que possuem '0' no nome
Aqui está um exemplo do resultado obtido:
umbrel@umbrel:~$ ip a | grep "0"
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP
group default qlen 1000
link/ether 40:8d:5c:4b:61:7a brd ff:ff:ff:ff:ff:ff
inet 192.168.42.198/24 brd 192.168.42.255 scope global dynamic noprefixroute enp1s0
inet6 fe80::16c1:a6b6:cf8f:bb38/64 scope link noprefixroute
3: wlp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 56:44:0d:85:41:91 brd ff:ff:ff:ff:ff:ff permaddr 5c:e4:2a:08:7a:69
No exemplo acima, a interface de interesse é a enp1s0, com endereço MAC 40:8d:5c:4b:61:7a e IP 192.168.42.198.
Com essas informações, você precisa realizar dois passos:
- Configurar a interface de rede (
enp1s0) para habilitar o Wake-on-LAN no servidor. - Instalar a ferramenta necessária em outro computador para ligar o servidor remotamente pela rede.
2. Configurando o Servidor
Primeiro, verifique se a função Wake-on-LAN está ativa na interface de rede utilizando o ethtool. Instale o software e execute o comando abaixo:
sudo apt install ethtool
sudo ethtool enp1s0
A saída do comando será semelhante a esta:
Settings for enp1s0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
master-slave cfg: preferred slave
master-slave status: slave
Port: Twisted Pair
PHYAD: 0
Transceiver: external
MDI-X: Unknown
Supports Wake-on: pumbg
Wake-on: d
Link detected: yes
No trecho Wake-on:, precisamos que a configuração esteja como g (habilitado). Para ativar, use o comando:
sudo ethtool -s enp1s0 wol g
Agora, o servidor está configurado para Wake-on-LAN.
Persistindo a Configuração Após Reinicialização
Se a configuração não se mantiver após uma reinicialização, crie um script para aplicar o comando automaticamente ao ligar o sistema:
sudo vim /etc/network/if-up.d/wol_fix.sh
No editor, adicione o seguinte conteúdo:
#!/bin/sh
/sbin/ethtool -s enp1s0 wol g
Salve e saia do editor.
Em seguida, defina permissões de execução para o arquivo:
sudo chmod +x /etc/network/if-up.d/wol_fix.sh
Crie uma unidade de serviço no systemd para garantir que o script seja executado durante a inicialização:
sudo vim /etc/systemd/system/wol_fix.service
Adicione o seguinte conteúdo:
[Unit]
Description=Fix para manter o Wake-on-LAN habilitado após a reinicialização
[Service]
ExecStart=/etc/network/if-up.d/wol_fix.sh
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Salve e saia do editor.
Agora, recarregue o daemon do systemd e habilite o serviço:
sudo systemctl daemon-reload
sudo systemctl enable wol_fix.service
sudo reboot
3. Configurando o Outro Computador
No outro computador, instale o software wakeonlan para enviar o comando que ligará o servidor pela rede:
sudo apt install wakeonlan
Para ligar o servidor, basta executar o comando com o endereço MAC do servidor:
wakeonlan 40:8d:5c:4b:61:7a
O servidor deve iniciar. Para testar, execute um ping no IP do servidor:
ping 192.168.42.198
Se o servidor estiver ativo, você verá uma resposta semelhante a esta:
64 bytes from 192.168.42.198: icmp_seq=16 ttl=64 time=5.94 ms
64 bytes from 192.168.42.198: icmp_seq=17 ttl=64 time=2.29 ms
64 bytes from 192.168.42.198: icmp_seq=18 ttl=64 time=1.71 ms
64 bytes from 192.168.42.198: icmp_seq=19 ttl=64 time=2.43 ms
64 bytes from 192.168.42.198: icmp_seq=20 ttl=64 time=1.75 ms
64 bytes from 192.168.42.198: icmp_seq=21 ttl=64 time=2.04 ms
Esses são os passos que realizei para configurar o Wake-on-Lan em casa, sintam se livres para alterar ou melhorar essas etapas.
4 - Bônus - Adicionando atalho no DWM
Em um editor de texto, crie um menu para o DMenu, conforme abaixo:
#!/bin/bash
ligar_home_lab="HomeLab Ligar"
# Variable passed to dmenu
options="$ligar_home_lab"
chosen="$(echo -e "$options" | dmenu -p "Wake-on-Lan Servidores " )"
case $chosen in
$ligar_home_lab)
wakeonlan 40:8d:5c:4b:61:7a
notify-send -t 3000 "Wake-on-Lan Home Lab" "Enviado sinal para ligar servidor"
;;
esac
Salve o arquivo em um local de path, dê permissão e adicione esse script em um atalho no dwm:
static const Key keys[] = {
...
MODKEY|ShiftMask, XK_v, spawn, SHCMD("~/.local/bin/dmenu/dmenu-wake-on-lan") },
...
};
Após compilar o DWM, o seu ataho estará pronto:

Dmenu para ligar homelab
Esse bônus foi apenas um exemplo, na verdade há infinitas formas de fazer isso, com diversos outros softwares, utilize isso como base.