cookieOptions

вторник, 9 декабря 2014 г.

WoL (Wake-On-LAN), методика и принципы использования, настройка и грабли

Недавно я задумался, что полезно иметь возможность удаленно включать мой домашний компьютер, чтобы, например, забрать важный документ, успешно забытый дома. Любой человек грамотный в hardware делах скажет, что изобретать ничего не надо - есть функция Wake-On-LAN, именно о практическом применении оной я и расскажу в данной статье. Технически, для того чтобы компьютер «проснулся» необходимо выполнение необходимого условия, а вот какого – разберемся далее.
     Требования
  Для того чтобы полноценно воспользоваться функцией удаленного включения необходимо:

- Материнская плата, поддерживающая WoL (Wake-On-LAN);
- Блок питания стандарта ATX;
- Сетевая карта или модем, поддерживающие управление электропитанием;
- Компьютер, выключенный в режиме Soft-OFF (именно в этот режим он переходит через пуск, после нажатия кнопки включения на корпусе/клавиатуре, выключения всеми возможными программными средствами).


Основная часть, реалии и фантастика

     При анализе всего материала я пришел к выводу, что удобно будет разделить способы включения компьютера на три категории, и уже по ним вести повествование. Итак, условно разделим все способы на:
- Проводные;
- Удаленные;
- Беспроводные.
     Почему в данной статье будет место фантастике, а также, почему я расположил разделы именно так, станет понятно чуть позже.
Раздел 1. Скучный. Проводные способы включения
     Во-первых, к проводным способам включения, конечно же, относятся включение с помощью клавиатуры и мышки. Оба способа скучные, легко включаются в BIOS’е, в разделе Power, и мало востребованные, ну если только системный блок стоит неудобно и до кнопки включения тянуться далеко.

             Второй вариант, который я отнес к этому разделу – включение по сети, т.е. чистый Wake-On-LAN без дополнительных заморочек.
     Конкретно в этом случае необходимо наличие сетевого адаптера (если сетевая карта дискретная и вставлена в слот PCI версии ниже 2.2 то необходимо соединить ее с материнской платой трехконтактным WoL проводком), ну и наличие самой сети.
     Примечание: для состояния сна и гибернации иногда доступны еще два способа пробуждения: WakeUP on PING/ARP – пробуждение при обращении к вашему ПК по сети, и WakeUP on Link Change – пробуждение при смене статуса сети (включилась/выключилась).
     Процесс настройки WoL начинается с включения ее в BIOS’е, все там же – в закладке Power.


    
      Также на просторах интернета советуют проверить состояние чекбокса на закладке Управление электропитания для сетевого адаптера. Панель управления > Оборудование и звук > Диспетчер устройств > Выбираем из списка ваш сетевой адаптер > Свойства > Управление электропитанием > Поставить галку на «Разрешить устройству вывод компьютера из ждущего режима».

     Еще я советую проверить состояние параметра Wake-On-Lan на вкладке «Дополнительно» (если она вообще доступна) для вашего сетевого адаптера.

     Теперь для включения компьютера по сети все готово, осталась лишь последняя деталь – узнать MAC адрес вашего сетевого адаптера. Его узнать можно многими способами. Самый простой (для Windows): Пуск > Выполнить > cmd >  getmac




     Однако, если у вас несколько сетевых устройств в системе, то более удобной может оказаться команда ipconfig /all Она выводит полную информацию по всем сетевым адаптерам, вам надо будет найти требуемый и списать «физический» MAC адрес.



      Теперь все что необходимо – послать специальный пакет по сети, который включит компьютер. В Unix системах это можно сделать из консоли, для операционных систем Windows существуют специальные приложения. Вот некоторые из них:
Magic Packet
- Wake On Lan
WOL
     Найти такие приложения не составляет никакого труда, поэтому я не стану уделять этому много внимания. Единственное что могу добавить – программа WOL поддерживает работу из командной строки, т.е. можно создать ярлык вида:  , который будет отправлять пакеты с указанными MAC адресами.



Раздел 2. Интересный и полезный. Удаленные способы включения

     Самым простым и понятным способом удаленного пробуждения ПК – является включение от звонка на модем. Для этого потребуется: модем поддерживающий функцию Wake-On-Ring и активация одноименного пункта в BIOS’е вашей материнской платы.
     Причем важно понимать, что если модем внешний, то необходимо активировать пункт «Pwr Up On External Modem Act», а если внутренний - то пункт «Wake On Lan or PCI Modem».


     В данном случае компьютер будет включаться каждый раз, когда зазвонит телефон – удобно, если у вас есть свободная линия, на которую никто не будет звонить. Минус только в том, что модем может срабатывать от помех или набора номера на параллельном  телефоне, а значит, может случиться ложное включение ПК.
     Но это не самый интересный способ – куда более полезным может быть включение компьютера из любого места, где есть доступ в Интернет.
     Что потребуется:
     - ПК с настроенным Wake-On-LAN;
  - Роутер или модем (внешний модем, работающий в режиме Router), поддерживающий постоянное Интернет соединение;
     - статический «белый» IP адрес или аккаунт на DynDNS.
     Чтобы объяснить что зачем я опишу свою конфигурацию. Интернет приходит по ADSL на Wi-Fi роутер, откуда раздается на все необходимые устройства. Поскольку IP адрес мне назначается динамически, мне пришлось зарегистрировать аккаунт на DynDNS.com чтобы иметь возможность в любой момент времени найти свой роутер во внешней сети (узнать текущий IP адрес).
     Теперь о настройках, чтобы пакет прошел через роутер – необходимо пробросить 7 и 9 порт на адрес широковещательных рассылок, поскольку в выключенном состоянии сетевому адаптеру ПК не присваивается IP адрес. Например, ваш ПК  и роутер (и остальные устройства, если есть) находятся в подсети 192.168.0.*** то необходимо пробросить 7 и 9 порт (я пробросил только 9) на адрес 192.168.0.255. Но и тут возникают сложности – как правило, в настройках модемов нельзя указать этот адрес. Есть два выхода:
1.     Обмануть систему проверки вводимых данных в Web конфигураторе модема. Для этого надо отключить JavaScript в браузере и сохранить необходимый адрес. В Opera: при попытке сохранить адрес с 255 на конце, Опера показала окошко ошибки, внизу там есть чекбокс «Отключить выполнение сценариев для этой страницы» - ставите галку и сохраняете нужное значение. На моем LinkSys WAG-200 это сработало. Данный способ также хорош тем, что достаточно 1 раз пробросить порт таким образом чтобы включать любой компьютер в домашней подсети из WAN.
2.      


     2. Создать статическую ARP запись в ARP таблице маршрутизатора или модема. Это делается для того, чтобы модем/роутер мог определить по MAC адресу ваш компьютер. Т.е. у модема должна быть жесткая связь между MAC адресом и IP адресом компьютера, и тогда пакет дойдет до адресата (в динамическом режиме ARP запись не хранится, если хост выключен).  Тогда пробрасывать порт необходимо на IP адрес компьютера.

     После того как проблема доставки волшебного пакета решена, остается только запомнить/записать MAC адрес компьютера который нам надо включить и…
     В принципе, можно воспользоваться утилитами, описанными в 1 разделе, но может случиться и так что их не окажется под рукой – не беда, запрос на включение можно отправить с адреса wakeonlan.ru! Также на этом сайте можно настроить отправку WoL пакета по расписанию, что может оказаться полезным в некоторых случаях.
     Итак вот он 21 век, для того чтобы включить компьютер достаточно зайти на страничку и сделать пару кликов. Также существуют программы для сотовых телефонов и коммуникаторов, позволяющие отправить WoL пакет через GPRS.
     Что касается ложных включений – чтобы компьютер включился, необходимо точно знать MAC адрес и адрес назначения (куда посылать пакет). В общем, за весь тестовый период у меня не было случаев ложного включения компьютера. На мой взгляд, именно эта возможность включить компьютер, находясь где угодно с доступом в интернет, является наиболее полезной в наше время.

Раздел 3. Фантастика. Беспроводные способы включения
     Самый простой способ беспроводного включения ПК – это включение при помощи комплекта удаленного управления компьютером. Проще говоря это пульт, позволяющий управлять многими функциями находясь на некотором расстоянии от компьютера. Например, у меня в комплекте с материнской платой шел такой наборчик.



     IR-приемник вставляется в USB и принимает сигналы от небольшого пульта, на котором и есть заветная кнопочка включения. У меня все прекрасно включается с пульта. Для того чтобы все работало по такой схеме, нужно в BIOS’е была активировать возможность включения от устройств USB.



     Также необходимо чтобы на устройства USB при выключенном ПК подавалось питание. Последнее, как правило, переключается джамперами на самой материнской плате. Подробнее об этом можно почитать в инструкции к материнской плате.


     Существуют и другие комплекты, которые продаются отдельно, у них также есть возможность включать компьютер с пульта. Также большинство TV тюнеров умеют дистанционно включать компьютер. С практической же стороны от такого способа мало пользы, т.к. расстояние до компьютера строго ограничено, а в случае с IR комплектами, необходима и прямая видимость между пультом и приемником.
     Также, к беспроводным способам включения относится Wake-On-LAN через Wi-Fi. К сожалению, тут не все так замечательно – большинство сетевых Wi-Fi адаптеров не поддерживает WoL. В интернете встречаются описания  беспроводных адаптеров поддерживающих WoL, обычно они имеют более высокую цену по сравнению с остальными адаптерами. Мне так и не удалось протестировать WoL через Wi-Fi в домашних условиях, поскольку сетевые адаптеры встроенные и в материнскую плату ПК, и в ноутбуке не поддерживают эту функцию. Видимо эта функция найдет более широкое распространение среди Wi-Fi адаптеров в будущем.
     Следующее что пришло мне в голову – включение компьютера через Bluetooth-адаптер. Технически это такой же сетевой адаптер, который так же имеет MAC адрес, а значит вполне можно реализовать WoL функцию. Однако я не нашел никакой информации о реализация данного метода на практике. В целом, и целесообразность данного метода вызывает большие сомнения – Bluetooth адаптеры также имеют весьма ограниченный радиус действия. Причем в эту же категорию я бы отнес комплекты беспроводных клавиатур и мышек (некоторые также работают через Bluetooth).
     Ну и самая невероятная идея, пришедшая мне в голову – включение через USB 3G модем, при посылке SMS или вызова на сим карту, стоящую в этом модеме. Опять же технически для реализации подобной функции надо чтобы питание поступало на шину USB при выключенном ПК, а модем в это время находился в рабочем состоянии и поддерживал данную функцию.
     В целом, получается, что включить компьютер можно практически от любого из устройств, главное – найти способ как достичь цели и чтобы эта функция поддерживалась самим устройством. Впрочем, это уже совсем фантастика…
Итог
     Совсем недавно я задался этим вопросом: как иметь доступ к данным на домашнем компьютере и не держать его все время включенным, и нашел решение этой задачи. Меня удивило то, что все необходимое есть под рукой, а данная функция традиционно считается бесполезной в большинстве случаев. Когда я разбирался с данным вопросом, пришлось почитать много информации, и я обнаружил что на западных форумах вопрос обсуждается куда чаще чем на наших.
     Также не стоит забывать, что все перечисленные методы могут не только включать компьютер, но и выводить из спящего режима и режима гибернации. В результате я открыл для себя очень удобную фишку, и надеюсь, что данная статья поможет кому то в решении повседневных задач, и вопросов касающихся функции Wake-On-LAN.



Комментариев нет:

Отправить комментарий