Содержание

Включение wake on lan в linux

Экспорт в PDF Преобразовать страницу в формат Open Document

Дата создания: 2023/04/23 03:54 (C) mihanik

Источники

Что такое Wake-on-LAN

Подробности можно почитать тут: https://ru.wikipedia.org/wiki/Wake-on-LAN

Порядок настройки

Все действия будем выполнять от имени суперпользователя root.

Устанавливаем нужные пакеты программ

Для работы нам потребуется программа ethtool.

В Red Hat/CentOS/Fedora мы сможем установить её при помощи команды

yum -y install ethtool

Уточняем настройки сетевых интерфейсов

Для уточнения настроек будем использовать утилиту

ifconfig

Среди сетевых интерфейсов ищем нужное устройство. Нам необходим интерфейс который имеет доступ к внешней сети.

У меня это оказалась сетевая карта с именем enp3s0.

ROOT

      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

В результате получим что-то типа

ROOT
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

Включаем 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_

Подробное описание секций файла можно почитиать тут: Создание простого systemd unit

Шаг 3

Теперь попросим систему перечитать настройки и включим автозапуск

systemctl daemon-reload
systemctl enable mywol.service
systemctl start mywol.service

Готово!!!

Теперь штатно выключаем ПК и пробуем его запустить при помощи WoL.

Важно!
Не забывайте, что для того, чтобы технология WoL начала работать, мало настроить ОС, нужно ещё и в BIOS сделать правильные настройки!!!

Какие именно настройки делать в BIOS указано в документации на вашу материнскую плату.

⇑ Наверх ⇑

В моей WIKI постоянно ведётся какая-то работа со статьями.
Если у вас возникли вопросы или замечания,
можете их отправлять на почту support@mihanik.net