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