Как включить функцию Wake-on-LAN в Ubuntu

Мы все испытываем желание автоматизировать все: наши машины, дома и особенно компьютеры. Wake-on-LAN – это идеальный способ автоматизировать включение компьютера. Хотя это руководство посвящено тому, как включить Wake-on-LAN в Ubuntu, вы можете применить его в любом дистрибутиве Linux и даже найти эту функцию в Windows.

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

Wake-on-LAN – это сетевой стандарт, который позволяет включать или пробуждать компьютер с помощью сетевого сообщения. Это сообщение, называемое волшебным пакетом, отправляется с другого устройства в той же локальной сети или даже по беспроводной сети.

В волшебном пакете содержится MAC-адрес сетевой интерфейсной Карты (NIC) целевого компьютера, который однозначно идентифицирует оборудование. Когда сетевая карта, которая остается в состоянии низкого энергопотребления даже при выключенном компьютере, получает этот пакет, она дает сигнал материнской плате включить питание системы.

Подготовка системы к работе в режиме Wake-on-LAN

Прежде чем приступать к работе, убедитесь, что вы выполнили эти основные требования:

  • Проводное Ethernet-соединение (Wi-Fi WoL ограничен и часто ненадежен)
  • Совместимая материнская плата и сетевая карта (большинство современных плат поддерживают эту технологию)
  • Настройки BIOS/UEFI, поддерживающие WoL
  • Административный доступ к вашей машине Ubuntu

Проверьте аппаратное обеспечение и настройки BIOS

Во-первых, вам нужно убедиться, что ваше оборудование поддерживает Wake-on-LAN. Большинство современных настольных компьютеров и многие ноутбуки поддерживают эту функцию, но все же стоит перепроверить.

Перезагрузите компьютер и нажмите соответствующую клавишу для входа в BIOS/UEFI (обычно F2, F10, Del или Esc – следите за экраном во время загрузки). Найдите такие опции, как Wake-on-LAN, Power on by PCI-E, PCI Power Up или Allow PCI Wake-Up Event. Точное название зависит от производителя. Установите для опции значение Enabled.

Вам также может понадобиться отключить функцию ErP Ready или Deep Sleep, поскольку эти режимы энергосбережения могут полностью отключить питание сетевой карты, не позволяя ей получить волшебный пакет. Некоторые ноутбуки также требуют настройки типа Always On USB для поддержания питания сетевой карты в выключенном или спящем режиме.

Проверьте, поддерживает ли ваша сетевая карта функцию Wake-on-LAN

Чтобы функция Wake-on-LAN работала, ваша Ethernet-карта должна ее поддерживать. Она является стандартом уже как минимум 10 лет, так что шансы на то, что ваша карта поддерживает эту функцию, высоки, но всегда полезно перепроверить.

Интерфейс Ethernet – это сетевая карта вашего устройства. Каждая карта имеет уникальное имя, которое можно узнать с помощью следующей команды терминала:

ip a

Искомое имя похоже на enp8s0. Это уникальный идентификатор сетевой карты, используемой в данном учебнике.

Ethtool – это приложение с открытым исходным кодом, которое позволяет изменять настройки сетевого драйвера. Для wake-on-LAN оно позволяет компьютеру понимать получаемые данные.

Команда для установки ethtool выглядит следующим образом:

sudo apt install ethtool

Далее выясните, поддерживает ли ваша сетевая карта функцию wake on LAN.

sudo ethtool

Вам будет предоставлена подробная информация об оборудовании вашего интерфейса Ethernet. Мы ищем:

Supports Wake-on: g
Wake-on: g

Первая строка говорит о том, поддерживает ли ваш компьютер функцию Wake-On-LAN. Вместе с g могут быть и другие буквы. Сейчас нам нужна только g.

Вторая строка показывает, включена ли функция Wake-On-LAN. Не стоит слишком беспокоиться об этом, так как следующей нашей задачей будет его включение.

Временно включить Wake-on-LAN

Включение Wake-on-LAN заставляет сетевую карту будить систему только тогда, когда она получает определенный магический пакет.

Чтобы временно включить Wake-on-LAN, выполните команду:

sudo ethtool -s  wol g

Это включит WoL до следующей перезагрузки. Чтобы убедиться, что все работает, выполните следующее:

sudo ethtool

Если вы увидите Wake-on: g, это означает, что WoL был успешно включен. Однако настройка, примененная программой ethtool, не является постоянной и будет потеряна после перезагрузки.

Постоянное включение Wake-on-LAN

Чтобы Wake-on-LAN был действительно полезен, необходимо, чтобы он оставался включенным даже после перезагрузки машины Ubuntu. Мы можем добиться этого, создав службу systemd, которая автоматически запускает команду ethtool при загрузке. Это распространенный и надежный способ обеспечить сохранение настроек в современных дистрибутивах Linux.

Для начала создадим новый файл службы systemd. Мы используем nano, простой текстовый редактор, но вы можете использовать Vi или любой другой редактор, который вам больше нравится:

sudo nano /etc/systemd/system/wol.service

Если вы не знаете, где установлена программа ethtool, запустите ее:

which ethtool

Вставьте в служебный файл следующие слова:

[Unit]
Description=Enable Wake On Lan
[Service]
Type=oneshot
ExecStart =  --change  wol g
[Install]
WantedBy=basic.target

После того как вы вставили содержимое и заменили его, сохраните файл и выйдите из nano. Для этого нажмите Ctrl + X, затем Y, чтобы подтвердить сохранение, и, наконец, Enter, чтобы подтвердить имя файла.

Наконец, нам нужно указать systemd включить эту новую службу, чтобы она запускалась при каждой загрузке. Это создаст символическую ссылку, которая активирует службу:

sudo systemctl enable wakeonlan.service

После активации вы можете запустить службу сразу без перезагрузки следующим образом:

sudo systemctl start wakeonlan.service

Теперь на вашем сервере или рабочем столе Ubuntu Server или Desktop Wake-on-LAN должен быть постоянно включен при всех перезагрузках.

Использование расширенного редактора сетевых подключений

Для большинства пользователей настольных компьютеров Ubuntu графический редактор сетевых подключений – это самый простой способ включить Wake-on-LAN.

Просто откройте Дополнительные параметры сетевого подключения из меню Приложения.

На панели «Сеть» вы увидите список ваших проводных подключений. Нажмите на значок шестеренки и откройте настройки подключения.

На вкладке Настройки Ethernet найдите пункт Пробуждение по локальной сети. Установите флажок в поле Magic или MagicPacket и нажмите Apply.

Вот и все! Вы успешно включили функцию Wake-on-LAN. Чтобы проверить, выполните следующие действия:

sudo ethtool enp0s3

Найдите в результатах Wake-on: g.

Включение WoL с помощью nmcli (сетевой менеджер командной строки)

Если вы используете Ubuntu Desktop, то, скорее всего, вы уже знакомы с NetworkManager. Это графический инструмент, который позволяет легко подключаться к Wi-Fi и проводным сетям. Несмотря на то, что по умолчанию он графический, он также поддерживает настройку через командную строку nmcli.

Прежде всего, необходимо знать, с каким сетевым подключением мы имеем дело. Для этого мы составим список всех активных подключений:

nmcli connection show

Если вывод показывает 802-3-ethernet.wake-on-lan: default, то WoL остается отключенным. Если же он показывает магию, то поздравляем, он уже включен.

Чтобы включить Wake-on-LAN с помощью NetworkManager, измените настройки соединения, чтобы прослушивать магический пакет:

nmcli connection modify 802-3-ethernet.wake-on-lan magic

После этого ваша машина Ubuntu Desktop должна быть настроена на ответ на волшебные пакеты! Обычно это так просто. Возможно, вы не получите немедленного отклика, но настройка будет выполнена.

Отключить ее так же просто. Вместо magic просто используйте ignore:

nmcli connection modify 802-3-ethernet.wake-on-lan ignore

Эта команда указывает сетевому адаптеру игнорировать все входящие пакеты magic, фактически отключая функцию Wake-on-LAN для данного соединения.

Тестирование настройки Wake-on-LAN

Чтобы протестировать WoL, выключите или приостановите работу вашей машины Ubuntu. Затем с другого устройства (ПК, телефона, Raspberry Pi и т. д.) отправьте волшебный пакет на MAC-адрес машины. Для этого существует множество приложений и инструментов командной строки, найдите Wake-on-LAN tool в магазине приложений.

Если в вашей сети есть еще одна машина с Linux или MacOS, вы можете отправить волшебный пакет прямо из терминала. Для этого вам понадобится небольшая утилита под названием wakeonlan.

В системах на базе Debian/Ubuntu:

sudo apt install wakeonlan

После установки отправить волшебный пакет очень просто:

wakeonlan

Замените MAC-адрес вашей машины Ubuntu.

Кроме того, для пользователей Windows существует несколько бесплатных утилит. Популярным выбором является WakeMeOnLan от NirSoft. Это небольшое портативное приложение, которое сканирует вашу сеть и позволяет отправлять волшебные пакеты. В качестве альтернативы можно использовать powershell для более командной строки, хотя это требует немного больше настроек. Многие пользователи находят специализированные Утилиты более простыми.

Как включить функцию Wake-on-WiFi (WoWLAN)

Теперь вы можете включить свой компьютер по локальной сети, но как насчет беспроводного пробуждения по Wi-Fi или woWLAN? На момент написания этой статьи существует только одно приложение (network-manager), которое позволяет это сделать.

Вы можете установить его из магазина оснастки или в терминале с помощью следующей команды:

sudo snap install network-manager

Остерегайтесь, поскольку в магазине это приложение оценено всего в одну звезду. Во время тестирования приложение работало в терминале, как и ожидалось, и имело полную документацию от Canonical.

Вы можете попытаться включить woWLAN с помощью другого сетевого менеджера, но в стандартном (networkd) нет способа включить его.

Включить беспроводное пробуждение по локальной сети можно с помощью этой команды:

sudo snap set network-manager wifi.wake-on-wlan=magic

Если вы работаете в открытой сети или опасаетесь угроз безопасности, вы можете установить пароль, используя:

sudo snap set network-manager wifi.wake-on-wlan-password=

У этого метода есть некоторые преимущества перед ethtool. Он быстрее устанавливается и позволяет выполнять беспроводное пробуждение по локальной сети. Он имеет доступ на уровне ядра, поэтому, если на компьютере пропадет питание, вы все равно сможете использовать wake-on-LAN, когда питание вернется.

Проблема в том, что Canonical рекомендует его только для пользователей ядра Ubuntu. Особых причин для этого нет, но, скорее всего, это сделано для того, чтобы ограничить возможности приложения и не дать пользователям сломать свою ОС.

Часто задаваемые вопросы

✅ Можно ли выключить компьютер с помощью Wake-on-LAN?

Вы можете разбудить компьютер только из режима ожидания или состояния выключения. Для этого существуют методы, не использующие Wake-on-LAN.

✅ Можно ли выключить компьютер с помощью Wake-on-LAN?

Вы можете разбудить компьютер только из режима ожидания или состояния выключения. Для этого существуют методы, не использующие Wake-on-LAN.

✅ Можно ли выключить компьютер с помощью Wake-on-LAN?

Вы можете разбудить компьютер только из режима ожидания или состояния выключения. Для этого существуют методы, не использующие Wake-on-LAN.

✅ Является ли включение функции Wake-on-LAN риском для безопасности?

Ничто не является безопасным на 100 %. Однако только устройства, находящиеся в той же сети, могут включить ваше устройство с помощью функции wake-on-LAN. Ubuntu также требует аутентификации после включения. Если вы избегаете небезопасных сетей Wi-Fi и защищаете все свои устройства (надежные пароли, шифрование конфиденциальных данных и т. д.), подключенные к локальной сети, то включение Wake-On-LAN будет вполне безопасным.

✅ Является ли включение функции Wake-on-LAN риском для безопасности?

Ничто не является безопасным на 100 %. Однако только устройства, находящиеся в той же сети, могут включить ваше устройство с помощью функции wake-on-LAN. Ubuntu также требует аутентификации после включения. Если вы избегаете небезопасных сетей Wi-Fi и защищаете все свои устройства (надежные пароли, шифрование конфиденциальных данных и т. д.), подключенные к локальной сети, то включение Wake-On-LAN будет вполне безопасным.

✅ Является ли включение функции Wake-on-LAN риском для безопасности?

Ничто не является безопасным на 100 %. Однако только устройства, находящиеся в той же сети, могут включить ваше устройство с помощью функции wake-on-LAN. Ubuntu также требует аутентификации после включения. Если вы избегаете небезопасных сетей Wi-Fi и защищаете все свои устройства (надежные пароли, шифрование конфиденциальных данных и т. д.), подключенные к локальной сети, то включение Wake-On-LAN будет вполне безопасным.

✅ После того как на моем устройстве отключили питание, функция Wake-on-LAN больше не работает. Как я могу это исправить?

Служба Ethtool не сохраняется при отключении питания. Повторный вход в систему должен снова включить службу. Если вы использовали метод управления сетью, он сохранится при отключении питания.

✅ После того как на моем устройстве отключили питание, функция Wake-on-LAN больше не работает. Как я могу это исправить?

Служба Ethtool не сохраняется при отключении питания. Повторный вход в систему должен снова включить службу. Если вы использовали метод управления сетью, он сохранится при отключении питания.

✅ После того как на моем устройстве отключили питание, функция Wake-on-LAN больше не работает. Как я могу это исправить?

Служба Ethtool не сохраняется при отключении питания. Повторный вход в систему должен снова включить службу. Если вы использовали метод управления сетью, он сохранится при отключении питания.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (0)