Wake On Lan и Linux
Определить, поддерживает ли материнская плата вашего компьютера Wake On Lan, можно. зайдя в настройки CMOS Setup в раздел настроек управления питанием. Найдите там опцию «Wake On Lan» и убедитесь, что она включена.
После загрузки системы установите, если необходимо, пакет ethtool, при помощи которого можно в том числе и переключать сетевую плату в режим пробуждения по сигналу Wake On Lan от других машин:
- download
$ sudo apt-get install ethtool
ИНФОРМАЦИЯ О СЕТЕВОЙ КАРТЕ С ПОМОЩЬЮ IP
Утилита ip позволяет посмотреть более подробную информацию о сетевом протоколе для вашей карты. Для просмотра информации выполните:
- download
ip link show
Далее, необходимо определить, поддерживает ли установленная сетевая плата (ее имя мы узнали только что) Wake On Lan, и включена ли эта опция:
- download
$ sudo ethtool enp2s0 | 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, необходимо:
- download
$ ethtool -s enp2s0 wol g
Имейте ввиду, что после включения компьютера, вероятней всего, опция Wake-on опять перейдёт в состояние «d» поэтому нужно - создать sh файл с командой и прописать путь к файлу в /etc/rc.local
.
или скопировать правильный файл в /etc/init.d/
Теперь всё готово для пробуждения системы по получению Magic Packet. Для того, чтобы его отправить, необходимо знать MAC-адрес сетевого интерфейса включаемого компьютера, поэтому прежде, чем выключать систему, запишите его:
- download
$ ifconfig eth0 | grep -i hwaddr eth0 Link encap:Ethernet HWaddr 60:32:B1:07:00:E1
Теперь можно выключать систему:
- download
$ sudo poweroff
Включение Теперь с любого другого компьютера, находящегося в том же сегменте сети (в принципе, это необязательно, но тогда необходимо, чтобы в вашей сети маршрутизаторы корректно пробрасывали широковещательные пакеты), можно включить ранее сконфигурированную удалённую систему. Для этого понадобится утилита wakeonlan, которую необходимо установить, если её ещё нет в вашей системе:
$
- download
sudo apt-get install wakeonlan
Разбудить выключенную систему теперь можно командой (обратите внимание, wakeonlan не требует прав суперпользователя):
- download
$ wakeonlan -p 8 60:32:B1:07:00:E1
Опцией -p указывается номер UDP-порта, с которого будет отправлен Magic Packet. Указание этой опции обязательно, поскольку по умолчанию wakeonlan использует девятый порт, помеченный в /etc/services как discard, что означает то, что пакет с этого порта отправить не получится. В принципе, можно использовать любой незанятый в системе UDP-порт.