Настройка Wake-on-LAN (WOL) в Linux

Инструкция по настройке включения компьютера удаленно, по сети.
Настройка WOL
Для начала нужно проверить, что в BIOS/UEFI включена функция Wake on LAN.
Далее устанавливаем ethtool и проверяем настройки.
sudo apt update && sudo apt install ethtool
sudo ethtool enp8s0 | grep "Wake-on"Если вывод показывает значение d — значит режим отключен. Меняем режим на Wake on MagicPacket — g. Подробнее режимы можно посмотреть в документации.
sudo ethtool --change enp8s0 wol gПроблема ручного изменения в том, что он работает только до перегрузки системы. Поэтому, нужно добавить его в автозагрузку одним из следующих способов:
Netplan
В вашу конфигурацию, например в /etc/netplan/10-init.yaml нужно добавить опцию wakeonlan.
network:
  version: 2
  ethernets:
    enp8s0:
      dhcp4: true
      wakeonlan: trueInterfaces
В вашу конфигурацию, например в /etc/network/interfaces нужно добавить опцию ethernet-wol.
auto enp8s0
iface enp8s0 inet dhcp
        ethernet-wol gNetworkManager
Нужно посмотреть как называется ваше подключение в системе и изменить на нем режим работы.
nmcli con show
sudo nmcli c modify "netplan-enp8s0" 802-3-ethernet.wake-on-lan magic
nmcli c show "netplan-enp8s0" | grep 802-3-ethSystemd-networkd
Смотрим ваши интерфейсы и корректируем нужный
networkctl list
sudo networkctl edit enp8s0и добавляем опцию
[Link]
WakeOnLan=magicДалее активируем изменения
sudo networkctl reload
sudo networkctl reconfigureSystemd
Если предыдущие варианты по каким-то причинам не подошли, то можно это сделать через systemd.
Создаем новую службу
sudo systemctl edit wol.service --full --forceИ добавляем установку значения в Wake on MagicPacket.
[Unit]
Description=Enable Wake-on-LAN
After=network-online.target
[Service]
Type=oneshot
ExecStart=/sbin/ethtool --change enp8s0 wol g
[Install]
WantedBy=network-online.targetПерезагружаем измененные конфигурации служб и запускаем.
sudo systemctl daemon-reload
sudo systemctl enable wol.service
sudo systemctl start wol.service
systemctl status wolПроверка работы
Усыпляем наш компьютер sudo systemctl suspend или выключаем его sudo systemctl poweroff.
Индикатор на сетевой карте компьютера может и не гореть, зависит от производителя,
но он обязан гореть на коммутаторе (пусть даже желтым), иначе магические пакеты до вашей сетевой карты не дойдут.
Далее, с другого компьютера отправляем команду на включение, указывая MAC адрес включаемого компьютера.
sudo apt update && sudo apt install etherwake
sudo etherwake -i ens3 11:22:33:44:55:66
