Форум по программам и оборудованию > >

Что такое Wake-on-LAN, для чего его можно использовать и как настраивать

20.05.2018 19:04


[ОТВЕТИТЬ]
13.02.2015 10:55
OlegON
 
В связи с переустановкой десктопа снимаю с него бОльшую часть задач, в связи с чем хочу его выключать, если не по бездействию, то, хотя бы, на время длительных командировок, поездок и т.п.

Однако, иногда нужно достать документы и что-то еще, хранящееся на десктопе. Сразу пришла в голову Wake-on-LAN, т.е. возможность включить компьютер по сети, которую я, правда, никогда не использовал.

Суть проста. Махонькая программа (под Linux я буду использовать wol) посылает столь же маленький UDP-пакет, либо бродкастом, либо на конкретный адрес, комп (не выключенный, а спящий в S3-S5!) ловит пакет сетевой картой с поддержкой WOL и комп включается. Эксперименты еще предстоят, как доберусь до дома, но какие грабли я вижу. Во-первых, рутеры могут не пропускать бродкаст. Т.е., возможно, что придется слать на конкретный адрес. Этот конкретный адрес должен принадлежать компу, который знает про MAC-адрес того компа, который мы должны разбудить. Адрес нужен для того, чтобы рутер отправил в нужную сторону этот самый магический пакетик на пробуждение. Нельзя указывать IP-адрес спящего компа, потому, что его не существует, когда комп спит. Судя по всему, еще тот неспящий комп, в чей адрес пойдет пакет, должен быть рутером, в противном случае я не вижу причины, по которым он должен этот пакет передать тому компу, который надо разбудить.

Если вы как-то используете эту фичу, поделитесь граблями и для чего она вам пригодилась?
13.02.2015 11:01
baggio
 
1. фича работает. и иногда помогает.
2. В вебке openwrt есть Wol... я думаю и для твоего есть пакет... заходим на роутер там в вебке выбираем комп.. шлем... удобно... роутер соответсвенно должен видится с наружи...
13.02.2015 11:12
OlegON
 
раз есть практика применения, когда она его НЕ будит? Вебку очень не хочется в инет пробрасывать... Я уж руками его запущу...
13.02.2015 11:19
baggio
 
Цитата:
OlegON раз есть практика применения, когда она его НЕ будит? Вебку очень не хочется в инет пробрасывать... Я уж руками его запущу...
1. если нет питания на ситемнике то не включит.
2. Вебку не обязательно выбрасывать наружу... можно PPTP,OpenVPN поднять...
13.02.2015 11:24
OlegON
 
Я так понимаю, что надо выставлять AC Power loss в Power on, но при этом при пропадании и включении питания системник будет включаться полностью, так?
13.02.2015 11:37
Micle
 
суть WOL это всегда отправка Ethernet пакета в сторону пробуждаемой железки. Адресация всегда по MAC адресу. Соответственно слать нужно из того же сегмента сети, где находится пробуждаемая железка. При наличии поддержки в биос и на сетевой плате, можно не только будить но и включать, насколько мне известно.
13.02.2015 12:01
OlegON
 
Вот будить или включать - уже интересно. Что обычно поддерживается?
Что касается "того же сегмента", то однозначный факт - magic packet можно хоть из инета прислать, т.е. с рутингом.
13.02.2015 12:51
Micle
 
Честно говоря, я не очень понимаю каким боком UDP вдруг приравняли к L2... Сетевухе в режиме ожидания WOL пакета ровно всё равно с каким DestinationIP к ней пришел пакет... Она зрит его содержимое. Это с одной стороны, с другой, чтобы свич ей этот пакет доставил, он должен быть либо широковещательным Ethernet пакетом (не путать с протоколами более высокого уровня UDP/TCP) либо адресов именно для неё (по MAC опять же адресу).

Из выше написанного следует единственный на мой взгляд вывод: Чтобы будить комп через интернет, нужно чтобы роутер торчащий наружу и принимающий UDP/TCP пакеты из Сети, понимал что от него хотят, и при стечении определённых условий "транслировал" внешний запрос во внутреннюю сеть.
13.02.2015 19:43
baggio
 
Цитата:
OlegON Я так понимаю, что надо выставлять AC Power loss в Power on, но при этом при пропадании и включении питания системник будет включаться полностью, так?
нет, достаточно что бы на него поступало 220... включать его целиком необязательно...
13.02.2015 20:41
OlegON
 
Да, вот сижу, ковыряю... Пока, действительно, нет понимания, каким образом рутить эти пакеты.
Т.е. я с одной стороны, с другой стороны, за рутером - комп, который надо разбудить. Причем, я еще на шлюзе с двумя сетевухами, в другой подсети.
13.02.2015 20:59
OlegON
 
На моем ASUS N56U утилитка
Код:
/usr/sbin/ether-wake -i br0 MAC
будит... Только это не то...
13.02.2015 21:28
baggio
 
подними openvpn и снаружи подключайся..
потом броадкасть...
13.02.2015 21:33
OlegON
 
да зачем мне снаружи подключаться, если я вот, на этом хосте сижу, к которому VPN надо пробросить...
Проблема-то в том, чтобы рутер перелезть...
13.02.2015 22:32
Micle
 
Что касается Ethernet Layer II роутера (L2 Ethernet), вот так

Цитата:
В Сетях Ethernet широковещательным MAC-адресом является адрес из 48 единиц, или "FF FF FF FF FF FF" - в шестнадцатеричном виде.
Если рутер есть нечно иное как интернет шлюз т.е. рутит не Ethernet а TCP/IP, то он должен поддерживать некую фичу. В некоторых источниках, её называют magic-packet. В зависимости от конкретной реализации оно ждёт некий пакет (обычно UDP) на определённый порт, и при выполнении условий предъявляемых к этому пакету, формирует на его основе Ethernet пакет, направленный в указанный (в настройках) интерфейс либо на конкретный адрес (указанный в UDP пакете) либо на широковещательный ("FF FF FF FF FF FF") Ethernet адрес. (он же MAC).

По идее, всё что отправляется на "FF FF FF FF FF FF" должно пройти через свичи и L2 Ethernet роутеры вне зависимости от текущей MAC таблицы привязанной к конкретному Ethenet порту.
14.02.2015 08:39
OlegON
 
Осталось только догадаться, работает ли это в Asus N56U... И куда слать этот пакет :(
14.02.2015 11:27
OlegON
 
В общем, перебор вариантов и wireshark показывает, что wol -i IP MAC доходит до компа, если тот включен. Т.е. на существующий IP он рутится нормально и именно тот WOL-пакет... При этом, соответственно, если комп выключен, то этот пакет улетает в никуда.
14.02.2015 11:47
vdm
 
На роутере MAC-IP включаемого компа должен быть жестко забит в arp-таблицу.
Когда-то давно делал такое на zyxel adsl. Из инета шлется udp-пакет на порт роутера. На нем настроен проброс порта на IP компа. А раз он есть в arp, то отсылается независимо от того включен или нет.
14.02.2015 12:04
OlegON
 
да вот и пытался уже arp -s прибивать... все как-то через костыли...
нашел темку:
только сначала завел еще одну:
посмотрим, что разрабы скажут... пока решение в скрипте, который запускает утилиту на рутере... но я - перфекционист :)
14.02.2015 13:13
vdm
 
Как я это все представляю.

Роутер получает в Wan интерфейс:
- либо произвольный пакет на порт и тупо пробрасывает его в соответствии с маппингом портов
- либо он понимает, что получил wol-пакет, разбирает его и отправляет правильный пакет в Lan

Роутер отправляет с Lan интерфейса:
- либо unicast, заранее зная mac
- либо broadcast, но тогда в пакете как-то должна присутствовать информация кому реально он предназначен. Реальный мас или пароль, т.е. сетевуха на компе должна это понимать.

В твоем примере я не понял wol на .255 из wan. Это тот случай, когда роутер должен понять что получил именно wol и переправить его в lan. Т.е. некая фича в прошивке должна работать.
14.02.2015 14:07
OlegON
 
Я, если честно, вообще с трудом себе представляю, как это должно работать, особенно в свете непонятности природы этого магического пакета.
Некоторое более глубокое копание выдает следующие возможности сетевой:
Цитата:
man ethtool | grep -i wake
Sets Wake-on-LAN options. Not all devices support this. The argument to this option is a string of characters specifying which options to enable.
p Wake on PHY activity
u Wake on unicast messages
m Wake on multicast messages
b Wake on broadcast messages
a Wake on ARP
g Wake on MagicPacket™
d Disable (wake on nothing). This option clears all previous options.
wol 0x4000 Wake-on-LAN status
соответственно, включено сейчас
Цитата:
Supports Wake-on: pumbg
Wake-on: g
Еще веселее стало, когда я обнаружил, что не могу найти проброс портов в рутере... Очевидно, отключил какую-то смежную опцию. iptables, конечно, на месте, но хочется штатно :) А .255, это типа бродкаст в подсети же...
14.02.2015 17:26
OlegON
 
Забавная фича, по ссылке

открывается и, вроде, даже работает проброс портов, но не напрямую в эту страницу попасть нельзя... Скорее всего, потому, что отключен нат. А нат мне не нужен. Ну и фик бы с ним :(
Опции темы


Часовой пояс GMT +3, время: 19:04.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.