Форум русскоязычного сообщества Ubuntu


Автор Тема: HOWTO: Wake On LAN, удалённое включение компьютера  (Прочитано 80682 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Undo

  • Автор темы
  • Любитель
  • *
  • Сообщений: 73
    • Просмотр профиля
В данном  HowTo рассматривается вопрос использования Wake on LAN под Ubuntu.

Wake-On-LAN — технология, позволяющая удалённо включать компьютер. Почему-то не часто используемая функция, хотя бесспорно будет полезна любителям ввести halt не в том ssh-сеансе  ;)

Что понадобится:
- компьютер-жертва с ATX-источником питания, материнской платой, поддерживающей Wake On LAN и Ubuntu на борту;
- сетевой адаптер с поддержкой Wake On LAN;
- знание IP и MAC сетевого устройства;
- второй компьютер, при помощи которого будем будить первого;
- спец-программа на втором компьютере, умеющая отсылать «волшебный пакет».

Как это работает:
Управляемый компьютер находится в дежурном режиме (stand by) и выдаёт питание на сетевой адаптер. Сетевой адаптер находится в режиме пониженного энергопотребления, просматривая все пакеты, приходящие на его MAC-адрес и ничего не отвечая на них. Если одним из пакетов окажется Magic Packet, сетевой адаптер выдаёт сигнал на включение питания компьютера.

Делаем:
1.Включаем поддержку WAN в BIOS. Как это делается — смотрите в мануале вашей материнской платы. Или просто ищите в настройках BIOS что-то похожее на «enable Wake On LAN».

2.Теперь загружаем ОС и создаем скрипт, который будет должным образом конфигурировать сетевую карту при каждой загрузке Ubuntu.

- Выбираем необходимую сетевую карту:
ifconfigeth0      Link encap:Ethernet  HWaddr 01:23:45:67:89:ab
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::215:f2ff:fe6f:3487/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:71495 errors:0 dropped:0 overruns:0 frame:0
          TX packets:76190 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:23164212 (22.0 MiB)  TX bytes:7625016 (7.2 MiB)
          Interrupt:217 Base address:0xd400

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1290 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1290 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:161182 (157.4 KiB)  TX bytes:161182 (157.4 KiB)
в данном примере карта одна, eth0.

- Теперь создаем сам скрипт, для этого сначала необходимо получить права администратора:
sudo su
cd /etc/init.d/
gedit wakeonlanconfig

- пишем в файл следующие строки, сохраняем, закрываем:
#!/bin/bash
ethtool -s eth0 wol g
exit

- устанавливаем права:
chmod a+x wakeonlanconfig
- создаем символическую ссылку, делаем скрипт исполняемым при загрузке:
update-rc.d -f wakeonlanconfig defaults
на экране должно отобразиться что-то вроде
Adding system startup for /etc/init.d/wakeonlanconfig ...
   /etc/rc0.d/K20wakeonlanconfig -> ../init.d/wakeonlanconfig
   /etc/rc1.d/K20wakeonlanconfig -> ../init.d/wakeonlanconfig
   /etc/rc6.d/K20wakeonlanconfig -> ../init.d/wakeonlanconfig
   /etc/rc2.d/S20wakeonlanconfig -> ../init.d/wakeonlanconfig
   /etc/rc3.d/S20wakeonlanconfig -> ../init.d/wakeonlanconfig
   /etc/rc4.d/S20wakeonlanconfig -> ../init.d/wakeonlanconfig
   /etc/rc5.d/S20wakeonlanconfig -> ../init.d/wakeonlanconfig

- проверяем что всё нормально получилось, вводим в терминале
/etc/init.d/wakeonlanconfigесли никакого вывода не последовало и показалась следующая строка ввода - значит всё прошло гладко.

- проверяем на практике.
распечатываем данное руководство, выключаем первый компьютер и идём ко второму :) Здесь нам понадобится одна из многочисленных программ, умеющих слать волшебный пакет. Программа попросит указать IP и MAC первого компьютера, в крайнем случае - еще и порт (обычно 7 или 9).
Для Ubuntu удобна программа wakeonlan, для офтопика найдет гугл. Мне же нравится он-лайн сервис http://www.rshut.com/rus/products/wol которым легко можно воспользоваться даже с сотового телефона :)

Пробуем:
wakeonlan -i [IP адрес] -p [порт] [MAC адрес] , например
wakeonlan -i 192.168.1.2 -p 7 01:23:45:67:89:ab
должно сработать  :coolsmiley: если ничего не вышло - проблема, скорее всего, в неправильной настройке BIOS, перепроверьте. Может быть ситуация, когда включаемый компьютер находится за маршрутизатором, в таком случае следует пробросить необходимый порт.

_____________________________________________________________________
источники:
http://ru.wikipedia.org/wiki/Wake-on-LAN - теоретическая часть
http://ubuntuforums.org/showthread.php?t=234588 - практическая часть

HowTo испробовано на Ubuntu 7.10, сработало с первой попытки.

Оффлайн Belyaev Nikolay

  • Активист
  • *
  • Сообщений: 734
    • Просмотр профиля
    • моя работа- дробилки, грохота...
спасибо за перевод!
Хочу дополнить, что в биосе можно искать не только пункт Wake on lan, но и Power on by PCI Devices
Есть только один вопрос. Не нашёл как можно поменять порт, на который надо обращаться при пробуждении? в ethtool есть параметр port, но отвечает за протокол транспорта... вроде  :-\
port tp|aui|bnc|mii
Select device port.
« Последнее редактирование: 29 Март 2008, 16:35:13 от Belyaev Nikolay »
"Сначала они вас игнорируют, потом смеются над вами, потом борются с вами, а потом вы побеждаете"
Махатма Ганди

Оффлайн Undo

  • Автор темы
  • Любитель
  • *
  • Сообщений: 73
    • Просмотр профиля
Re: HOWTO: Wake On LAN, удалённое включение компьютера
« Ответ #2 : 13 Апрель 2008, 02:17:46 »
Есть только один вопрос. Не нашёл как можно поменять порт, на который надо обращаться при пробуждении? в ethtool есть параметр port, но отвечает за протокол транспорта... вроде  :-\
port tp|aui|bnc|mii
Select device port.

"волшебный пакет" даёт команду на включение компьютера, соответственно ОС в этот момент не загружена, в крайнем случае, она вообще может отсутствовать, это не помешает включению. Следовательно и в ее настройках нечего искать.
Конкретный порт зависит от конкретной сетевой карты. Может быть какие-то дают себя конфигурировать, моя - нет.
Либо я неправильно понял вопрос.

Оффлайн badfiles

  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Re: HOWTO: Wake On LAN, удалённое включение компьютера
« Ответ #3 : 05 Декабрь 2008, 05:55:45 »
Комрады, какой ip у выключенного компьютера? Вы чего курили?

ip и порт нужны только для прохождения маршрутизаторов.
« Последнее редактирование: 05 Декабрь 2008, 06:06:10 от badfiles »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: HOWTO: Wake On LAN, удалённое включение компьютера
« Ответ #4 : 05 Декабрь 2008, 06:37:00 »
Если протоколом ARP заведует сервер то можно и IP писать. Программа спросит какой MAC соответствует IP и сервер ей ответит. Дальше как обычно. шлем пакет на MAC адресс.

Оффлайн Flk

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: HOWTO: Wake On LAN, удалённое включение компьютера
« Ответ #5 : 05 Декабрь 2008, 10:03:02 »
Что-то задумался... а можно ли сделать WOL для такой схемы:
Компьютер-будильник -> интернет -> ADSL-модем в режиме NAT -> компьютер?

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: HOWTO: Wake On LAN, удалённое включение компьютера
« Ответ #6 : 05 Декабрь 2008, 11:31:33 »
Если научишь ADSL-модем слать WOL на последний компьютер по запросу на его внешний IP. И то при условии что на твой ADSL-модем раздается реальный IP-адрес а не из RFC 1918 - Address Allocation for Private Internets.

Оффлайн Flk

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: HOWTO: Wake On LAN, удалённое включение компьютера
« Ответ #7 : 05 Декабрь 2008, 13:08:46 »
Похоже, что именно в моем случае не получится, т.к. модем (Huawei MT880) не поддерживает DDNS, а вариант со стат. ip не устраивает.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: HOWTO: Wake On LAN, удалённое включение компьютера
« Ответ #8 : 05 Декабрь 2008, 13:21:23 »
При чем здесь DDNS и статический или динамический адрес? я говорил совсем про другое.

Оффлайн Flk

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: HOWTO: Wake On LAN, удалённое включение компьютера
« Ответ #9 : 05 Декабрь 2008, 14:21:41 »
При чем здесь DDNS и статический или динамический адрес? я говорил совсем про другое.
Это-то понятно. В принципе модем может пробросить udp пакет через себя, да и адреса isp честные раздает. Но в моем случае без DDNS можно даже не пытаться.

Оффлайн evgeny

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: HOWTO: Wake On LAN, удалённое включение компьютера
« Ответ #10 : 15 Январь 2009, 16:47:12 »
Можно ли обойтись без ATX-источника питания? У меня нет еще такого сетевого адаптера и источника питания. Пытаюсь понять, что надо докупить.
:
Название опции в моем биосе:
WOL (PME#) From Soft-Off
Возможные значения:
Enabled, Disabled
« Последнее редактирование: 15 Январь 2009, 18:57:57 от evgeny »

Оффлайн nechet

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: HOWTO: Wake On LAN, удалённое включение компьютера
« Ответ #11 : 04 Февраль 2009, 14:13:33 »
Не работает! :( На Windows 7 работает а тут нет. Как быть?

Оффлайн Undo

  • Автор темы
  • Любитель
  • *
  • Сообщений: 73
    • Просмотр профиля
Re: HOWTO: Wake On LAN, удалённое включение компьютера
« Ответ #12 : 05 Февраль 2009, 11:31:48 »
Ох, сколько тут народу понаписало!
Прошу у всех прощения что не ответил - мне нотификации об обновлении топика не приходили почему-то...
Если для кого-то вопросы ещё актуальны - стукните в личку, а я здесь отпишусь.

Не работает! :( На Windows 7 работает а тут нет. Как быть?
На каком этапе не работает? Не включается машина? Детали, пожалуйста.

Оффлайн nechet

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: HOWTO: Wake On LAN, удалённое включение компьютера
« Ответ #13 : 09 Февраль 2009, 14:25:47 »

На каком этапе не работает? Не включается машина? Детали, пожалуйста.
[/quote]

На машине стоит две системы. Windows и Kubuntu соответсвенно. Windows через http://www.rshut.com/rus/products/wol  нормально включается. Kubuntu ни через интернент не напрямую через wakeonlan -i [IP адрес] -p [порт] [MAC адрес] подниматься не хочет.

Оффлайн Undo

  • Автор темы
  • Любитель
  • *
  • Сообщений: 73
    • Просмотр профиля
Re: HOWTO: Wake On LAN, удалённое включение компьютера
« Ответ #14 : 09 Февраль 2009, 14:39:04 »
На машине стоит две системы. Windows и Kubuntu соответсвенно. Windows через http://www.rshut.com/rus/products/wol  нормально включается. Kubuntu ни через интернент не напрямую через wakeonlan -i [IP адрес] -p [порт] [MAC адрес] подниматься не хочет.

Windows 7 еще в состоянии беты, может быть исправят к релизу и она тоже грузиться перестанет ;)
шучу.

Так, если две системы, то одна из них должна грузиться по-умолчанию. Т.е. вне зависимости от того, с какой системой вы выключали компьютер, удаленно включится только какая-то одна определенная. какая у вас выбрана?
Я так понимаю что при выключении машины "с помощью винды" WON работает, а при выключении "через Kubuntu" - не работает? проверьте еще раз правильность добавления настроек сетевой в автозагрузку кубунты.

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

 

Страница сгенерирована за 0.058 секунд. Запросов: 24.