WoL - будим компьютер издалека

Понадобилось будить удалённую машину, как это делается я никогда не знал, почитал один вечер и наладил, на самом деле всё очень просто. Так что будет очень короткая записка. Я бужу машины с Win11, думаю, что по аналогии можно настроить и другие винды. Про другие системы ничего не знаю. По порядку что нужно сделать.

1. Нужно разрешить будить машину сетевому адаптеру, идем в контрольную панель, там в менеджер устройств и ищем карточку, открываем свойства и проверяем, если не разрешено - включить. Выглядеть не обязательно будет так же, но по смыслу что-то похожее должно быть.

wol01wol00

2. Нужно узнать MAC-адрес компьютера, который будем будить по сети. Идём в настройки смотрим нижнюю строку и копируем. Сохраняем так, что бы можно было прочитать и тогда, когда эта машина будет спать.

3. Начиная с Win8 разбудить можно только из состояния сна, поэтому в BIOS(UEFI) никаких действий делать не нужно, если система старше Win8, то нужно разрешить сетевому адаптеру будить машину, и тогда можно будет будить из любого состояния, предположительно, мне не на чем проверить. А если система совсем старая и сетевая карта дискретная, то ещё нужно соединить проводом разъёмы WoL на карточке и мазере.

4. Если будить будем не только по LAN, а ещё и из мира, то нужно присвоить статический IP и пробросить на рутере 7 порт UDP. Внешний порт можно поставить какой-то подальше от начала, что бы злые хакеры в него не стучались, но, с другой стороны, MAC - и так хороший пароль. И даже если как-то угадают, то просто разбудят, да и всё. Если порт 7 не заработает, то проверить порт 9, может быть и на нём. У меня срабатывает по обоим.
Кроме этого ещё нужно сделать статическим в таблице ARP соответствие MAC - IP.
Справочно: ARP (англ. Address Resolution Protocol — протокол определения адреса) — протокол в компьютерных сетях, предназначенный для определения MAC-адреса другого компьютера по известному IP-адресу.
В чём тут проблема: когда мы будим из ГУИ рутера отправляется пакет бродкастом - сразу всем, кто может услышать и нужная карточка его принимает и будит всю машину. Мы же отправляем пакет в конкретный IP. А когда машина засыпает рутер теряет линк с сетевым адаптером и удаляет из ARP таблицы строку с MAC-адресом адаптера. Когда приходит из мира магический пакет рутер не знает куда его отправлять и на этом всё останавливается без всяких действий. Исправить просто. Для Mikrotik будет вот такая команда:

/ip arp add address=10.10.10.10 interface=INTERFACE mac-address=00:00:00:00:00:00

Где 10.10.10.10 надо заменить своим IP, INTERFACE своим именем интерфейса, на котором сидит этот IP, ну и MAC - своим маком.
Или в Винбоксе IP --> ARP, правой кнопкой на нужном IP и нажать Make Static:

Для D-LINK нашёл картинку, там делается вот так:

5. Как будить. У многих рутеров есть встроенная будилка, но даже из локальной сети лезть на рутер, что бы что-то разбудить это слишком сложно. Тестировать - да, а вот на каждый день - сложно. Самое простое - использовать чужую онлайновую будилку: просто идём по ссылке, заполняем поля - и всё работает. Там же есть подсказка как будить просто готовой ссылкой, но без объяснения, вот оно. Нужно сделать линк вида:

https://www.depicus.com/wake-on-lan/woli?m=MAC_АДРЕС&i=АйПи_ИЛИ_ДОМЕННОЕ_ИМЯ&s=255.255.255.255&p=НОМЕР_ПОРТА

где вместо MAC_АДРЕС - поставить мак без разделителей, вместо АйПи_ИЛИ_ДОМЕННОЕ_ИМЯ вставить IP или адрес, разделители - точки, вместо НОМЕР_ПОРТА - номер порта цифрой. Скормить такой адрес броузеру и всё произойдёт. Сабнет маск можно изменить, а можно и бросить как есть - будет работать. Вот пример:

https://www.depicus.com/wake-on-lan/woli?m=001AA0001AA0&i=example.com&s=255.255.255.255&p=9
https://www.depicus.com/wake-on-lan/woli?m=001AA0001AA0&i=159.159.159.159&s=255.255.255.255&p=7

Или даже так, будет работать, и так правильнее, наверное:

https://www.depicus.com/wake-on-lan/woli?m=001AA0001AA0&i=example.com&p=9
https://www.depicus.com/wake-on-lan/woli?m=001AA0001AA0&i=159.159.159.159&p=7

Там же можно скачать примитивную программку с графическим интерфейсом для Виндов, я скачал, попробовал - работает, и приложил снизу. Спасибо доброму человеку и сайту www.depicus.com

Я перебрал несколько программок для Андроида и остановился на Wake On Lan: баланс между удобством и простотой. Снизу положил версию 1.81.

 

 

Attachments:
FileFile sizeLast modified
Download this file (wakeonlan_1.81.zip)APK для Android, распаковать!3862 kB13.01.25
Download this file (wakeonlangui.zip)Будилка для Windows179 kB13.01.25
Добавлен: 3 дн. 2 ч. назад от GREY #33501
GREY аватар
Всё, проверил - работает всё как надо. Дополнил.
Добавлен: 3 дн. 13 ч. назад от GREY #33489
GREY аватар
А не работает, вернее работает, но очень короткое время, я разобрался почему: как только рутер теряет линк, он сразу сбрасывает таблицу АRP, ну и, соответственно, мэджик пакет приходит на рутер и там гибнет, потому, что рутер не знает куда его пульнуть дальше. Т.е. бродкастом из локалки всё будет работать, а из мира в точный ай-пи - нифига. Или надо писать скрипт, который будет заводится в рутере от какого-то внешнего пинка и посылать бродкастом побудку сразу на всю сеть, как и делают будилки в самом рутере, и это правильно, на самом деле: не важно какой ай-пи у машины, адрес можно получать динамический, не надо об этом помнить, ну т.е. это вот правильно! Или пойти простым путём и сделать соответствие мак - ай-пи в таблице ARP статическим, что неправильно, но тоже будет работать. Костыль как есть, но рабочий. Я проверил.
Вот такие пироги.
Потом дополню.
Добавлен: 4 дн. 6 ч. назад от GRЕY #33480
GRЕY аватар

Понадобилось будить удалённую машину, как это делается я никогда не знал, почитал один вечер и наладил, на самом деле всё очень просто. Так что будет очень короткая записка. Я бужу машины с Win11, думаю, что по аналогии можно настроить и другие винды. Про другие системы ничего не знаю. По порядку что нужно сделать.

1. Нужно разрешить будить машину сетевому адаптеру, идем в контрольную панель, там в менеджер устройств и ищем карточку, открываем свойства и проверяем, если не разрешено - включить. Выглядеть не обязательно будет так же, но по смыслу что-то похожее должно быть.

wol01wol00

2. Нужно узнать MAC-адрес компьютера, который будем будить по сети. Идём в настройки смотрим нижнюю строку и копируем. Сохраняем так, что бы можно было прочитать и тогда, когда эта машина будет спать.

Подробнее...
Добавлен: 5 дн. 7 ч. назад от Ulis #33472
Ulis аватар
Какая ОС - без разницы. Главное, что бы LAN карта слушала сеть на magic-пакеты, при выключенном компе.
Это функция BIOS (UEFI). То есть в BIOS(UEFI) должен быть включен WOL. А роутер должен "помнить" MAC.
Запускать можно с роутера, как я или прожкой, которая умеет выдавать magic-пакеты.
Добавлен: 5 дн. 8 ч. назад от Ulis #33471
Ulis аватар
GREY пишет:
Скажите, кто-нибудь практически пользуется Wake On LAN?

Да.
Бужу сервак, что бы что ни будь качнуть с торрента.
WOL по MAC-адресу. В роутере у меня встроенная утилитка для этого.