wakeonlan do host remoto

2

Eu configurei wake on lan service no meu servidor. Tudo funciona bem na rede local:

root@server$: poweroff
user@local$ wakeonlan AA:BB:CC:DD:EE:FF

e o servidor acorda.

AA:BB:CC:DD:EE:FF é um endereço MAC do meu server , que tem o IP 192.168.1.2 e o nome do host: example.com . Ele está conectado ao roteador, que tem o IP 192.168.1.1 (public: xxx.xxx.xxx.xxx)

Quando o servidor está ativo, posso pingar:

ping example.com

ou faça o login via ssh:

ssh [email protected]

Até agora, tudo bem. Agora sou capaz de despertar o servidor da área local, mas como acordar o servidor da localização remota?

Eu tentei: user@local$ wakeonlan -i xxx.xxx.xxx.xxx AA:BB:CC:DD:EE:FF , mas não funciona (nada acontece;).

Eu tenho que configurar meu roteador de alguma forma para encaminhar pacotes mágicos? Como?

A solução

Após a resposta do Ragnar , a solução pareceu muito fácil.

Mas na verdade, foi um pouco complicado.

Meu roteador é Linksys WAG200g , que não suporta Wake on LAN por padrão. Além disso, não permite encaminhar trigêmeos acima de 254 (meu endereço de broadcast era 192.168.1.255 ).

A solução foi encaminhar a porta UDP 7 para o endereço do servidor, que era 192.169.1.2 , e depois chamar:

wakeonlan -i example.com -p 7 AA:BB:CC:DD:EE:FF

Também instalei um novo firmware:

que é uma ótima atualização de opções de roteador (por exemplo, adiciona a opção Wake on LAN).

Eu também mudei minha máscara de rede de 255.255.255.0 para 255.255.255.128 , então minha transmissão agora é 192.168.1.127 e passa as regras de validação do roteador.

Aqui está o script que eu uso para conectar-me à máquina e ativá-lo, se necessário:

#!/bin/bash
## This sends magic packets to Wake on Lan
## please note, you must formard port 7 to the target machine on your router

## host to wake up
host="example.com"
## mac address of the machive to wake up
mac="AA:BB:CC:DD:EE:FF"
## user to login
user="administrator"

echo "Looking for $host..."
wget -q --tries=2 --wait=1 --waitretry=5 http://$host/
if [ $? -ne 0 ];
then
    echo "$host is not available."
    echo "Waking up $host."
    wakeonlan -p 7 -i $host $mac
    echo "$host is booting up.  Please wait..."
    sleep 30
    wget -q --waitretry=5 --wait=5 http://$host/
    echo ^G
    echo $host is up! Lucky you!
fi
ssh "$user@$host"

Não se esqueça de instalar: wakeonlan

    
por takeshin 01.01.2011 / 17:25

1 resposta

2

Você precisa encaminhar a porta UDP 9 para o endereço de broadcast em sua rede (192.168.1.255, ou similar).

    
por Ragnar123 01.01.2011 / 17:34