Wake-on-LAN (WoL)
Wake-On-LAN - технология, позволяющая включать компьютер дистанционно по сети путём отправки специального пакета данных.
Требования
Требования к включаемому (ведомому) компьютеру
- ATX источник питания
- Материнская плата с поддержкой Wake-On-LAN
- Сетевой адаптер с поддержкой Wake-On-LAN
- Известный MAC-адрес сетевого адаптера
Требования к управляющему (ведущему) компьютеру
- Специальная программа, умеющая отсылать Magic Packet
Принцип работы
Ведомый компьютер находится в дежурном режиме (stand by) и выдает питание на сетевой адаптер. Сетевой адаптер находится в режиме пониженного энергопотребления, просматривая все пакеты, приходящие на его MAC-адрес, но ничего не отвечая на них. Если один из них окажется Magic Packet, то сетевой адаптер выдаёт сигнал на включение питания компьютера.
Настройка Wake-on-LAN
Включение поддержки WoL в BIOS/UEFI
Включите поддержку WoL в BIOS на ведомом компьютере. Это может быть: - Пункт меню с названием "Wake On LAN Enable" - "Power On By PCIE" - Другие похожие параметры
В некоторых случаях этот режим в BIOS не меняется, а материнская плата поддерживает его по умолчанию.
Проверка поддержки WoL сетевой картой
Чтобы определить, поддерживает ли сетевая карта Wake-on-LAN, загрузите ведомый компьютер и выполните команду:
| Bash | |
|---|---|
Результат будет примерно таким:
Обратите внимание на строки:
- Supports Wake-on: показывает доступные режимы сетевого адаптера для пробуждения (g - пробуждение по Magic Packet)
- Wake-on: показывает текущий режим (d означает выключенный WoL)
Включение режима WoL на сетевой карте
Для включения режима Wake-on-LAN используйте команду:
| Bash | |
|---|---|
Для выключения режима Wake-on-LAN:
| Bash | |
|---|---|
!!! warning "Важно" Сетевой адаптер может не сохранять настройки WoL при перезагрузке. В этом случае необходимо настраивать его при каждой загрузке системы.
Автоматическое включение WoL при загрузке системы
Добавьте в /etc/conf.d/net (для Gentoo) или создайте соответствующий скрипт в системе инициализации следующие строки:
| Bash | |
|---|---|
Для систем с systemd можно создать сервис или использовать файл /etc/networkd-dispatcher/routable.d/99-wol со следующим содержимым:
| Bash | |
|---|---|
Не забудьте сделать файл исполняемым:
| Bash | |
|---|---|
Определение MAC-адреса
Для получения MAC-адреса сетевого адаптера на ведомом компьютере можно:
Метод 1: Использовать команду на ведомом компьютере
| Bash | |
|---|---|
Результат:
Или в современных системах:
| Bash | |
|---|---|
Метод 2: Посмотреть ARP-кэш на ведущем компьютере
| Bash | |
|---|---|
Результат:
| Text Only | |
|---|---|
Метод 3: Сканирование сети
Для того, чтобы все компьютеры сети попали в ARP-кэш, можно воспользоваться утилитой nmap:
| Bash | |
|---|---|
Отправка Magic Packet
Для пробуждения компьютера используйте утилиту wol на управляющем компьютере:
| Bash | |
|---|---|
Дополнительные советы
!!! info "Первое включение" При работе с технологией Wake-on-LAN следует учитывать, что не все компьютеры включаются сразу после подключения в электрическую сеть. Это связано с отсутствием процесса инициализации подачи питания на сетевую карту. Поэтому следует произвести одно предварительное включение вручную.
!!! tip "Автоматическое включение после сбоя питания" Если существует необходимость избавиться от проблемы с предварительным включением (например, сервер закрывается на ключ или находится очень далеко), установите в BIOS параметр питания Wake After Power Fail в значение ON.
Другие полезные утилиты для WoL
- wakeonlan - утилита для Linux и macOS
- etherwake - альтернативная утилита для Linux
- wolcmd - утилита для Windows