The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Настройка в Linux удаленного включения машины при помощи Wake On Lan
Задача: обеспечить возможность удаленного включения компьютера с другой машины в локальной сети.

Для того, чтобы иметь возможность разбудить компьютер удалённо, необходимо,
чтобы в нём был установлен источник питания ATX версии не ниже 2.01,
материнская плата, поддерживающая Wake On Lan, а также сетевая плата с
поддержкой этой технологии.

Настройка

Определить, поддерживает ли материнская плата вашего компьютера Wake On Lan,
можно зайдя в настройки CMOS Setup в раздел настроек управления питанием.
Найдите там опцию "Wake On Lan" и убедитесь, что она включена.

После загрузки системы установите, если необходимо, пакет ethtool, при помощи
которого можно в том числе и переключать сетевую плату в режим пробуждения по
сигналу Wake On Lan от других машин:

   sudo apt-get install ethtool

Далее, необходимо определить, поддерживает ли установленная сетевая плата Wake
On Lan, и включена ли эта опция:

   sudo ethtool eth0 | grep -i wake-on

   Supports Wake-on: pumbg
   Wake-on: d

В строке Supports Wake-On перечислены механизмы, поддерживаемые сетевой платой.
В моём примере я пользуюсь методом отправки так называемым Magic Packet, и если
вам нужно то же самое, то убедитесь, что в Supports Wake On присутствует буква
"g". Буква "d" в строке Wake-on обозначает, что Wake On Lan для данного
сетевого интерфейса отключён. Чтобы включить его в режим распознавания Magic
Packet, необходимо выполнить:

   ethtool -s eth0 wol g

Имейте ввиду, что после включения компьютера, вероятней всего, опция Wake-on
опять перейдёт в состояние "d" и, если вам нужно, добавьте приведённую выше
команду куда-нибудь в /etc/rc.local.

Теперь всё готово для пробуждения системы по получению Magic Packet. Для того,
чтобы его отправить, необходимо знать MAC-адрес сетевого интерфейса включаемого
компьютера, поэтому прежде, чем выключать систему, запишите его:

   ifconfig eth0 | grep -i hwaddr
   eth0      Link encap:Ethernet  HWaddr 00:0e:2e:b9:cb:ad

Теперь можно выключать систему:

   sudo shutdown -h now


Включение

Теперь с любого другого компьютера, находящегося в том же сегменте локальной
сети (в принципе, это необязательно, но тогда необходимо, чтобы в вашей сети
маршрутизаторы корректно пробрасывали широковещательные пакеты), можно включить
ранее сконфигурированную удалённую систему. Для этого понадобится утилита
wakeonlan, которую необходимо установить:

   sudo apt-get install wakeonlan

Разбудить выключенную систему теперь можно командой (обратите внимание,
wakeonlan не требует прав суперпользователя):

   wakeonlan -p 8 00:0e:2e:b9:cb:ad

Опцией -p указывается номер UDP-порта, с которого будет отправлен Magic Packet.
Указание этой опции обязательно, поскольку по умолчанию wakeonlan использует
девятый порт, помеченный в /etc/services как discard, что означает то, что
пакет с этого порта отправить не получится. В принципе, можно использовать
любой незанятый в системе UDP-порт.
 
20.12.2010 , Автор: ashep , Источник: http://www.ashep.org/2010/wake-on-l...
Ключи: lan, linux, ethernet, boot
Раздел:    Корень / Администратору / Система / Поддержка аппаратного обеспечения

Обсуждение [ RSS ]
  • 1.2, StainlessRat (ok), 08:59, 20/12/2010 [ответить]  
  • +/
    FreeBSD
    /usr/sbin/wake bge0 XX:YY:ZZ:XX:YY:ZZ
     
     
  • 2.8, playnet (?), 16:25, 04/01/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Нету такого штатно, во всяком случае в 7.2
    Надо ставить

    Port:   wakeonlan-0.41
    Path:   /usr/ports/net/wakeonlan
    Info:   Sends magic packets to WOL enabled NIC to switch on the called PC

     

  • 1.3, ABATAPA (ok), 14:13, 20/12/2010 [ответить]  
  • +/
    > Имейте ввиду, что после включения компьютера, вероятней всего, опция Wake-on

    опять перейдёт в состояние "d" и, если вам нужно, добавьте приведённую выше
    команду куда-нибудь в /etc/rc.local.


    Это может не работать (или не сработать второй раз), если выполнялся сброс (переинициализации) карты (в том числе - на ноутбуках после "сна").

    Лучше это делать из:
    - Ubuntu/Ddebian: /etc/network/interfaces в post-up / pre-down
    - AltLinux - в /etc/net/ifaces/ethX/ifup-post
    - в других - в соотв. местах, выполняемых _каждый раз_ после инициализации устройства или перед его отключением.

     
  • 1.4, Р (?), 12:58, 21/12/2010 [ответить]  
  • +/
    хочу через интернет!!:)))
     
     
  • 2.5, px (??), 23:01, 21/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    http://mobile.wakeonlan.ru/
     

  • 1.6, Alex (??), 01:17, 27/12/2010 [ответить]  
  • +/
    > девятый порт, помеченный в /etc/services как discard, что означает то, что
    > пакет с этого порта отправить не получится

    Бред, это просто название протокола, RFC863.

     
  • 1.7, sam (??), 17:23, 29/12/2010 [ответить]  
  • +/
    Прошу добавить в статью важный момент, я сам полчаса мучался пока не дошло до меня посмотреть куда уходят пакеты tcpdump-ом

    Если на компьютере несколько сетевых карт обязательно нужно указать в параметр -i адрес

    Например, если нужно разбудить комп с адресом 192.168.2.34 в сети 192.168.2.0/24 то можно так и указать например широковещательный адрес сети

    wakeonlan -i 192.168.2.255 00:0e:2e:b9:cb:ad

     
  • 1.9, playnet (?), 16:27, 04/01/2011 [ответить]  
  • +/
    Момент для тех, кто использует ядро Xen в CentOS: карта будет не eth0, а peth0.

    Взял с http://dragonflybsd.blogspot.com/2011/01/wake-on-lan-centosxen.html

     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру