Подробности можно почитать тут: https://ru.wikipedia.org/wiki/Wake-on-LAN
Для работы нам потребуется программа ethtool.
В Red Hat/CentOS/Fedora мы сможем установить её при помощи команды
yum -y install ethtool
Для уточнения настроек будем использовать утилиту
ifconfig
Среди сетевых интерфейсов ищем нужное устройство. Нам необходим интерфейс который имеет доступ к внешней сети.
У меня это оказалась сетевая карта с именем enp3s0.
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether d8:5e:d3:8a:91:94 txqueuelen 1000 (Ethernet) RX packets 30056880 bytes 31128152545 (28.9 GiB) RX errors 0 dropped 16566 overruns 0 frame 0 TX packets 24049700 bytes 14184901849 (13.2 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device memory 0x42100000-421fffff
Теперь проверим поддерживает ли сетевой адаптер технологию WoL.
ethtool enp3s0
В результате получим что-то типа
Supported ports: [ ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full 2500baseT/Full Supported pause frame use: Symmetric Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full 2500baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: 1000Mb/s Duplex: Full Auto-negotiation: on Port: Twisted Pair PHYAD: 0 Transceiver: internal MDI-X: off (auto) Supports Wake-on: pumbg Wake-on: d Current message level: 0x00000007 (7) drv probe link Link detected: yes
Wake On Lan можно включить вручную одной командой
ethtool -s enp3s0 wol g
Для решения этой проблемы мы настроим автовыполнение этой команды при каждом включении ПК.
Создаём скрипт, который будет запускаться при каждом включении ПК.
Скрипт вы можете разместить, где вам удобно. Я скрипт расположу тут /opt/scripts/mywol.sh
mkdir /opt/scripts cat > /opt/scripts/mywol.sh << _EOF_ #!/bin/bash ethtool -s enp3s0 wol g exit _EOF_
Настроим права доступа к скрипту и разрешим его выполнение
chmod 640 /opt/scripts/mywol.sh chmod +x /opt/scripts/mywol.sh
Теперь настроим автозапуск скрипта при включении ПК.
Для этого мы в директории /lib/systemd/system/ создадим простой юнит-файл с описанием того, что мы хотим. Файл назову mywol.service.
cat > /lib/systemd/system/mywol.service << _EOF_ [Unit] Description=My WoL Service After=network.target multi-user.target [Service] Type=idle ExecStart=/opt/scripts/mywol.sh [Install] WantedBy=multi-user.target _EOF_
Подробное описание секций файла можно почитиать тут: Создание простого systemd unit
Теперь попросим систему перечитать настройки и включим автозапуск
systemctl daemon-reload
systemctl enable mywol.service
systemctl start mywol.service
Готово!!!
Теперь штатно выключаем ПК и пробуем его запустить при помощи WoL.
Какие именно настройки делать в BIOS указано в документации на вашу материнскую плату.