пятница, 24 июня 2011 г.

Удалённое включение ПК c Linux

Для того, чтобы иметь возможность разбудить компьютер удалённо, необходимо, чтобы в нём был установлен источник питания 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

ethtool -s eth0 wol g

,где eth0 это сетевая карта подключенная в локальную сеть.

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

ifconfig eth0 | grep -i hwaddr

eth0      Link encap:Ethernet  HWaddr 00:0e:2e:b9:cb:ad

Включение

Теперь с любого другого компьютера, находящегося в том же сегменте локальной сети (в принципе, это необязательно, но тогда необходимо, чтобы в вашей сети маршрутизаторы корректно пробрасывали широковещательные пакеты), можно включить ранее сконфигурированную удалённую систему. Для этого понадобится утилита
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-порт.

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

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