etherwake

Etherwake Wake On LAN

Включение по сети (Wake-on-LAN) – это стандарт Ethernet удаленного включения компьютера путем отправки ему сигнала пробуждения по сети. Именем wakeonlan называются команда и пакет в большинстве дистрибутивов Linux.

При выключении в действительности компьютер не выключается, а переходит в режим низкого энергопотребления и может принимать и реагировать на сигнал включения.

Команда wakeonlan посылает волшебный пакет на порт UDP 9. Когда волшебный пакет отправляется на широковещательный адрес сети, то его получат все хосты в сети. MAC-адрес гарантирует, что включится только хост с этим адресом.

Целевой компьютер включается так же, как если бы была нажата кнопка питания.

# deb
sudo apt install etherwake
 
# rpm
yum -y install ethtool
wakeonlan MAC-Address-Here

В BIOS → Power Managment включаем Wake On LAN (WoL)

Nota Bene! Важно отключить все параметры, разрешающие загрузку по протоколу удаленной загрузки PXE (Preboot eXecution Environment). Если загрузка PXE включена и в вашей сети есть PXE-сервер (который загружается с сервера сетевой установки), то может получиться так, что ваш компьютер будет включен по команде PXE и установит новый образ, стерев существующую установку.

Далее определим, поддерживает ли сетевая карта WoL

Узнайте имя вашего интерфейса Ethernet (в этом примере – ens160):

ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128
ens160           UP             192.168.15.22/24 fe80::250:56ff:fe99:6948/64

и с помощью ethtool проверим, поддерживает ли он включение по сети:

ethtool ens160 | grep -i wake-on
        Supports Wake-on: uag
        Wake-on: d

Смотрим на строку

Wake-on: <the letter>

Если <the letter> содержит g значит Magic Packet включен. Однако, если <the letter> содержит d, необходимо включить WoL

sudo ethtool -s ens160 wol g

Смотрим, что получилось:

sudo ethtool enp0s25 | grep -i wake-on
Supports Wake-on: pumbg
Wake-on: g

Supports Wake-on: pumbg – волшебная фраза, подтверждающая, что наш интерфейс имеет необходимую поддержку, обозначенную переключателем g. Вторая строка Wake-on: g сообщает, что эта поддержка уже включена.

Если после перезагрузки системы поддержка выключится, то следует добавить следующую запись в /etc/crontab для запуска этой команды после каждой загрузки:

@reboot root /usr/bin/ethtool -s enp0s25 wol g

Узнаем MAC-адрес с помощью программы ip:

ip link
[...]
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:50:56:99:69:48 brd ff:ff:ff:ff:ff:ff
    altname enp3s0

Для включения хоста, со второго устройства из той же сети отправьте команду для его включения, указав MAC-адрес Ethernet-интерфейса целевого компьютера:

/usr/bin/wakeonlan 9c:ef:d5:fe:8f:20

Если целевой хост и второе устройство находятся в одной сети, но в разных подсетях, то укажем широковещательный адрес для подсети с нашим целевым хостом:

/usr/bin/wakeonlan -i 192.168.44.255 9c:ef:d5:fe:8f:20
  • etherwake.txt
  • Последнее изменение: 2022/11/22 15:49
  • admin