====== Включение wake on lan в linux ====== [[ http://wiki.mihanik.net/doku.php?id=операционные_системы:linux:работа_с_сетью:включение_wake_on_lan_в_linux&do=export_pdf | Экспорт в PDF ]] ~~ODT~~ Дата создания: 2023/04/23 03:54 (C) mihanik ===== Источники ===== * https://pyatilistnik.org/kak-nastroit-wake-on-lan-v-linux/?ysclid=lgqw638mss352787629 * https://losst.pro/avtozagruzka-linux?ysclid=lgrh6cdxfl810294938#%D0%90%D0%B2%D1%82%D0%BE%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2_%D0%B2_Linux ===== Что такое Wake-on-LAN ===== Подробности можно почитать тут: https://ru.wikipedia.org/wiki/Wake-on-LAN ===== Порядок настройки ===== Все действия будем выполнять от имени суперпользователя root. ==== Устанавливаем нужные пакеты программ ==== Для работы нам потребуется программа **ethtool**. В Red Hat/CentOS/Fedora мы сможем установить её при помощи команды yum -y install ethtool ==== Уточняем настройки сетевых интерфейсов ==== Для уточнения настроек будем использовать утилиту ifconfig Среди сетевых интерфейсов ищем нужное устройство. Нам необходим интерфейс который имеет доступ к внешней сети. У меня это оказалась сетевая карта с именем **enp3s0**. enp3s0: flags=4163 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 В результате получим что-то типа Settings for 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 * **Supports Wake-on: pumbg** - означает что наш сетевой интерфейс поддерживает технологию Wake On Lan. * **Wake-on: d** - означает, что но она отключена. ==== Включаем WoL ==== Wake On Lan можно включить вручную одной командой ethtool -s enp3s0 wol g Важно! \\ При каждой перезагрузке нашей машины он будет деактивироваться! Для решения этой проблемы мы настроим автовыполнение этой команды при каждом включении ПК. ==== Настраиваем авто-включение WoL при каждом включении ПК ==== === Шаг 1 === Создаём скрипт, который будет запускаться при каждом включении ПК. Скрипт вы можете разместить, где вам удобно. Я скрипт расположу тут **/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 === Шаг 2 === Теперь настроим автозапуск скрипта при включении ПК. Для этого мы в директории **/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_ Подробное описание секций файла можно почитиать тут: [[операционные_системы:linux:systemd:создание_простого_systemd_unit|Создание простого systemd unit]] === Шаг 3 === Теперь попросим систему перечитать настройки и включим автозапуск systemctl daemon-reload systemctl enable mywol.service systemctl start mywol.service Готово!!! Теперь штатно выключаем ПК и пробуем его запустить при помощи WoL. Важно!\\ Не забывайте, что для того, чтобы технология WoL начала работать, мало настроить ОС, нужно ещё и в BIOS сделать правильные настройки!!! Какие именно настройки делать в BIOS указано в документации на вашу материнскую плату. [[#top|⇑ Наверх ⇑]]