Как работает WOL (Wake-On LAN)?

15

Это всегда было для меня загадкой, и при всем том снеге, который мы получаем, я бы хотел работать из дома, но начальник хочет, чтобы мы выключили наши компьютеры на ночь, чтобы сэкономить энергию. Я решил попробовать Wake-On LAN, но не уверен, с чего начать.

Питер Тернер
источник
этот URL, в контексте с названием вопроса, на самом деле заставил меня смеяться: D (Да, это можно было бы сделать, введя мой лучший выбор в адресную строку случайным образом - как я полагаю, «я чувствую себя [ld] ucky»)? )
n611x007

Ответы:

6

В основном, когда ваша машина подключена, даже выключена, некоторые поддерживают некоторые очень простые функции, такие как сетевая карта.

Они могут быть настроены таким образом, чтобы при получении специальной инструкции он мог включить питание машины.

Самый простой способ начать это просто, если у вас есть встроенный сетевой адаптер, посмотрите в BIOS и посмотрите, поддерживает ли он его. Если у вас есть настоящая сетевая карта, вы не сможете ее использовать ... Но стоит посмотреть, есть ли у вас слот для Wake On Lan Chip или кабеля

Также, что касается экономии энергии, вам, очевидно, нужно включить свое устройство! У вас должен быть маршрутизатор, который может включать устройства по расписанию или по беспроводному мобильному телефону или аналогичному устройству, с которого вы можете отправлять инструкцию - очевидно, однако, вам может быть лучше включить аппарат с помощью кнопки питания!

В Википедии есть хорошая статья о Wake On Lan


Поддержка Wake on LAN (WoL) реализована на материнской плате компьютера и в сетевом интерфейсе и, как таковая, не зависит от операционной системы, работающей на аппаратном обеспечении, хотя иногда операционная система может управлять поведением WoL. Если сетевой интерфейс представляет собой подключаемую карту, а не интегрирован в материнскую плату, возможно, карту необходимо подключить к материнской плате с помощью кабеля. Материнские платы со встроенным контроллером Ethernet, который поддерживает WoL, не нуждаются в кабеле.

Уильям Хилсум
источник
Где NIC берет власть для работы?
Дим
6

Хорошо, в сети не так много хорошей информации об этом, так что вот моя мудрость:

Как работает Wake-on-LAN

Таким образом, весь смысл WoL заключается в том, чтобы включить компьютер удаленно с помощью сети. Очевидно, что если ваш компьютер был фактически полностью выключен, то это никак не могло бы сработать, поэтому, когда современные компьютеры выключены, карта Ethernet фактически остается включенной (надеюсь) в состоянии низкого энергопотребления, прослушивая пакеты WoL.

Когда WoL был впервые создан, вы могли настроить свою сетевую карту так, чтобы сигнал BIOS включал ваш компьютер при любой сетевой активности. То есть всякий раз, когда сетевой адаптер (или, возможно, IP-пакет; я не уверен на 100%) виден сетевой картой. Кажется разумным, но в действительности это бесполезно, потому что случайные пакеты, летящие по сети, будут разбудить ваш компьютер без причины. Чтобы это исправить, кто-то изобрел MagicPacket ™! При установке вашей карты в режим MagicPacket ™ он будет будить компьютер только тогда, когда он увидит данные, содержащие MAC-адрес вашей сетевой карты, повторенный 6 раз (насколько я помню). Теперь случайные пакеты не будут раздражать ваш компьютер. Это также причина, по которой вам нужно поместить свой MAC-адрес в инструменты WoL; так что он может построить MagicPacket ™.

Вы могли заметить небольшой недостаток MagicPacket ™: любой человек в сети может видеть ваш MAC-адрес, поэтому, если вы пытаетесь использовать WoL в ненадежной локальной сети (например, в университете), раздражающие люди могут продолжать будить ваш компьютер. Не цитируйте меня об этом, но, глядя на ethtoolсправочную страницу, похоже, что кто-то "изобрел" SecureOn ™ для MagicPacket ™. Это, очевидно, позволяет вам установить MAC-адрес, который прослушивает ваша карта, эффективно превращая его в частный пароль.

Как пакет попадает на ваш компьютер

Теперь вот сложная часть. Ethernet был разработан для отправки данных между компьютерами, которые включены. Это плохо работает с WoL, который хочет отправлять пакеты на выключенные компьютеры.

Первое препятствие состоит в том, что у выключенных компьютеров действительно нет IP-адресов. Поэтому вы не можете отправить пакет WoL на IP-адрес (инструменты, которые позволяют вам ввести свой IP-адрес, действительно запрашивают IP-адрес маршрутизатора, который включен). Вместо этого пакеты WoL транслируются на каждое подключенное устройство Ethernet. В хороших маршрутизаторах вы можете вручную связать IP-адрес с MAC-адресом, но большинство маршрутизаторов этого не допускают, и отбрасывают IP-пакеты, отправленные на другие компьютеры.

Трансляция пакетов работает, но есть проблема ...

Почему это не очень хорошо

Проблема в том, что большинство маршрутизаторов не позволяют пересылать пакеты на широковещательный адрес. В идеале то, что вы хотите в типичном «Я на работе, и я хочу вещи с моего домашнего компьютера», настройка WoL - это пересылка с внешнего порта 9 (например, см. Ниже) на 255.255.255.255:9. Маршрутизаторы просто не будут этого делать. В конце концов, я действительно узнал, как это сделать для ADSL-роутера speedtouch, но это потребовало ручного редактирования конфигурационных файлов.

Вероятно, единственный реальный способ заставить это работать - это установить достойную прошивку стороннего маршрутизатора, такую ​​как Tomato или DD-WRT. У них есть инструменты WoL, встроенные в веб-интерфейс. Это не так аккуратно, потому что вы не можете делать такие крутые вещи, как использование телефона для автоматического пробуждения компьютера, когда вы вернетесь домой. Но все равно. Я на самом деле не пробовал, но вы можете получить эти прошивки для прямой трансляции. Кто знает.

Порт 7 и Порт 9

Многие гиды говорят , что вы должны использовать порт 7 или вы должны использовать порт 9, и вы думаете , «почему?», «Какой?». Ответ не имеет значения. Вы можете использовать любой порт; 80, 666, это не имеет значения. Сетевая карта на вашем компьютере не заботится о том, на какой порт отправляется MagicPacket ™, до тех пор, пока он его получает, и в нем повторяется MAC-адрес. И если вам удастся заставить работать WoL-переадресацию, вы также можете использовать любой порт (а затем вставить соответствующий порт в инструмент WoL).

7 и 9 рекомендуются потому, что они были портами, которые использовались парой совершенно бесполезных серверов, которые никто не использовал с 80-х годов. Так же, как порт 80 является портом для Интернета, порт 7 является портом для «эхо-сервера», который повторяет все назад отправителю, и представляет собой серьезную уязвимость безопасности, а порт 9 является портом для «отбрасывающего» сервера, который просто отбрасывает все полученные данные и никогда ничего не отправляет обратно. Сейчас они совершенно бесполезны, но, думаю, возможно, они были хороши для тестирования сети, когда Интернет был новым (70-е годы).

Устранение неполадок - Мой компьютер не включается!

Первое , что нужно проверить , что вы получите MagicPacket ™ , когда ваш компьютер находится в . Для этого загрузите wireshark (google it), попросите его прослушать порт 9 (или 7 или любой другой) и отправить пакет WoL. Вы должны это увидеть. Если вы этого не сделаете, проблему будет относительно легко решить или, по крайней мере, диагностировать.

Если вы получаете пакет, но ваш компьютер все равно не включается, он становится немного сложнее.

Сначала зайдите в BIOS / UEFI и убедитесь, что включена опция типа «Разрешить PCI разбудить компьютер» или аналогичная. Также включите опцию PCIe. Во-вторых, на Linux используйте ethtoolдля включения WoL для вашей сетевой карты. Нечто подобное ethtool -s eth0 wol bgm. В окнах вы найдете опцию «Разрешить это устройство, чтобы разбудить компьютер», и, возможно, где-то есть варианты MagicPacket ™. Я не знаю, я не использую окна прямо сейчас.

Теперь, надеюсь, это сработает. Но, возможно, он работает только в течение нескольких минут (или даже секунд) после выключения компьютера! о нет! Это проблема с роутером. Я рекомендую вам получить другой. Серьезно, Tomato-USB потрясающий.

Timmmm
источник
Где NIC берет власть для работы?
Дим
От источника питания. Он все еще снабжает материнскую плату немного энергии.
Тимммм
4

Wake on LAN (вероятно) не будет работать, если ваш компьютер находится за брандмауэром. Чтобы заставить его работать, вы должны иметь открытые порты в брандмауэре компании, чтобы пропустить сообщение и отправить его на ваш компьютер.

Один из способов обойти это, если у вас есть доступ к компьютеру за брандмауэром, который всегда включен, и отправлять свой WOL-сигнал с этого компьютера.

Nifle
источник
Хорошее предложение о том, как обойти его, оставив один компьютер включенным и выполнив оттуда пакет WOL, если они находятся в одной локальной сети или коммутаторы пропускают его. Когда вы закончите, вы можете выключить компьютер. Один оставшийся компьютер также можно использовать для таких простых вещей, как проверка электронной почты или использование внутренней сети. Что касается того, как это работает, проверьте другие предоставленные ссылки. Когда ваша сетевая карта видит этот волшебный пакет со своим MAC-адресом, она сигнализирует ПК о загрузке. Волшебный пакет напоминает мне лапшу рамен.
Bratch
0

Тимммм Очень хорошо подробный ответ !! Я также хотел бы упомянуть, что поскольку сигналы WOL находятся на уровне 2 модели osi (данных), поэтому они передаются по кадрам и MAC-адресам. Следовательно, машина, отправляющая сигналы WOL, должна иметь доступ ко всем vLANS машин, которые вы хотите включить.

Так что скорее всего сервер в Management vLAN. Вот почему сигналы WOL чаще всего отправляются с главного брандмауэра или с сервера DHCP определенного виртуального локального сети, с которым вы пытаетесь установить связь. Что, конечно, требует VPN-доступа или настройки RDP-машины в DMZ с доступом к управлению (последнее НЕОБХОДИМО!)

Это было бы МНОГО работы для развертывания, а не для прихода в офис в снежный день;)

Greenlord
источник