O que aconteceria se um dia você precisasse religar uma máquina que você nao tem acesso físico?
Uma das soluções para esse problema é o recurso Wake on Lan(WOL) das atuais placas de rede(juntamente com a placa mãe).
Este recurso permite que quando a máquina desligue a placa de rede fique em estado como de hibernação, respondendo só a um pacote chamado MagicPacket. Para isso tudo funcionar necessário 2 programas:
wakeonlan <== Para enviar o magicpacket a placa de rede(mac addr).
ethtool <== Para iniciar o modulo WOL na placa de rede.
Instalando os programas
$ apt-get install wakeonlan ethtool
Iniciando o modulo WOL na placa de rede
Substitua X pela sua placa de rede que deseja ativar o modulo:
$ ethtool -s ethX wol g
Para verificar se o modulo está ativo execute o seguinte comando:
$ ethtool ethX
As 4 linhas finais deve apresentar algo semelhante a isso:
Supports Wake-on: g <===
Wake-on: g <===
Current message level: 0x00000007 (7)
Link detected: yes
Caso apareça “d” ao invés de “g” o recurso nao é suportado pela sua placa de rede.
Para assegurar que a placa de rede não seja desligada ao desligar/rebootar (entre em modo de “hibernação”):
Substitua a linha do arquivo /etc/init.d/halt
"halt -d -f -i $netdown $poweroff $hddown" (ou semelhante)
para
"halt -d -f $poweroff $hddown"
Substitua a linha do arquivo /etc/init.d/reboot
reboot -d -f -i
para
reboot -d -f (é so retirar o "-i")
A maquina precisa iniciar o modulo WOL na placa de rede toda vez que for iniciada, então crie um arquivo
/etc/init.d/ethwol com o seguinte conteudo:
#! /bin/bash
ethtool -s eth0 wol g
E de permissão de execução:
$ chmod 755 /etc/init.d/ethwol
Finalmente o comando para ligar a máquina remota:
wakeonlan 01:23:44:55:66:77
Caso não funcione as vezes é preciso mandar por broadcast:
wakeonlan -i 192.168.1.255 01:23:44:55:66:77
Edit de ultima hora
O Amigo Alvaro Figueiredo falou de uma coisa importante que passou desapercebido. É necessario checar se o recurso está habilitado na BIOS da placa mãe para que tudo funcione perfeitamente. Valeu Alvaro!
Pingback: Configurando WAKE ON LAN no Debian
pois é, nao botei referencia pq sou eu mesmo q fiz ^^
Gostei do artigo, parabéns pela iniciativa!
Só não dou conceito ótimo porque ainda não testei aqui no meu Debian Lenny.
Mas de qualquer forma, parabéns pelo post.
Grande abraço.
Adicionei a página nos favoritos, só uma pergunta boba o comando para ligar a máquina wakeonlan mais o mac adress da minha máquina que pode ser visto com o ifconfig?
Pingback: Wake on lan « Jonny Zone : Copyleft - all rights reversed
Exatamente, é o mac que aparece no ifconfig da maquina remota.
Testei em alguns micros rodando Ubuntu, com sucesso. Nem sequer precisei alterar os arquivos /etc/init.d/halt e /etc/init.d/reboot. Também não foi necessário informar o endereço de broadcast da rede no wakeonlan.
A única ressalva que faço é que o artigo não deixou bem explícito que é necessário configurar o recurso no Setup do BIOS.
Obrigado, a informação será muito útil.