wakeonlan из удаленного хоста

У меня установлена ​​служба wake on lan на моем сервере.

AA:BB:CC:DD:EE:FF - это MAC-адрес моего server, который имеет IP 192.168.1.2 и имя хоста: example.com. Он подключен к маршрутизатору, который имеет IP 192.168.1.1 (public: xxx.xxx.xxx.xxx)

Когда сервер работает, я могу выполнить ping:

ping example.com

[d4 ] или войдите через ssh:

ssh user@example.com

До сих пор так хорошо. Теперь я могу разбудить сервер из локальной области, но как разбудить сервер из удаленного места?

Я попытался: user@local$ wakeonlan -i xxx.xxx.xxx.xxx AA:BB:CC:DD:EE:FF, но он не работает (ничего не происходит;).

Нужно ли мне каким-то образом настроить мой маршрутизатор для пересылки магических пакетов? Как?

Решение

После ответа Рагнара решение выглядело очень просто.

Но на самом деле это было немного сложно.

Мой маршрутизатор Linksys WAG200g, который по умолчанию не поддерживает Wake on LAN. Кроме того, он не позволяет пересылать триплеты выше 254 (мой широковещательный адрес был 192.168.1.255).

Решение заключалось в том, чтобы перенаправить UDP-порт 7 на адрес сервера, который был 192.169.1.2, затем вызовите:

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

Также я установил новую прошивку:

OpenWag200

, которая является отличным обновлением параметров маршрутизатора (например, добавляет Wake on LAN.)

Я также изменил маску сети с 255.255.255.0 на 255.255.255.128, поэтому моя трансляция теперь 192.168.1.127 и передает правила проверки маршрутизатора.

сценарий, который я использую для подключения к машине, и, если необходимо, разбудить его:

#!/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"

Не забудьте установить: Ответ Рагнара

1
задан 13 April 2017 в 15:23

0 ответов

Другие вопросы по тегам:

Похожие вопросы: