Не работает wake on lan в linux, как настроить

После недавнего обновления proxmox до 6-й версии перестал работать WoL. Это технология wake on lan для запуска компьютера через сеть. Я использую proxmox для тестовых целей, поэтому ему не обязательно постоянно работать. Я сделал скрипт в mikrotik, с помощью которого удаленно запускаю гипервизор в случае необходимости и пользуюсь им. Потом завершаю работу.

Онлайн-курс по устройству компьютерных сетей

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

После обновления wake on lan работать перестал. Я уже подзабыл, как его настраивал до этого и настраивал ли, поэтому сейчас решил записать, чтобы не забыть. Итак, чтобы работал wake on lan в linux, у вас должна быть включена такая возможность в BIOS. Но этого не всегда достаточно.

Идем в консоль системы и там выполняем команду:

# ethtool -s enp5s0 wol g

Если ethtool не установлен, то ставите его командой:

# apt install ethtool

enp5s0 - сетевой интерфейс, который смотрит в локалку и находится в одном сегменте сети с mikrotik. Последний видит его mac адрес. Далее добавляем в /etc/network/interfaces:

iface enp5s0 inet manual
	ethernet-wol g

Все, теперь wake on lan будет нормально работать и сервер можно будет включать удаленно. На mikrotik у меня вот такой скрипт.

wake on lan в микротике

00:25:22:DC:39:42 - mac адрес сетевого интерфейса enp5s0 сервера. В итоге, если нужен тестовый сервер, подключаюсь по vpn к mikrotik, там запускаю proxmox, виртуальные машины. Они все доступны через vpn. Когда сделаю, все, что нужно, выключаю сервер.

Онлайн-курс по устройству компьютерных сетей.

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

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

24 комментария

  1. Виталий

    Доброго времени суток коллеги!
    Подскажите пожалуйста, как всё же решить данный вопрос. Я только недавно на nix-ах.
    Установлен Proxmox VE 6.3-2 (из iso с сайта Proxmox, debian 10.7)
    Проблемы все те же, что описаны выше: wol срабатывает один раз, а потом Wake-on: снова d.
    Решение от Александра (с настройками nmcli) - так и не разобрался в какую сторону смотреть, NetworkManager изначально установлен не был.
    Может есть какое решение - команды какие или скриптом?
    Заранее спасибо!

    • У меня нормально работает под Debian 10 как раз на Proxmox. Вечером посмотрю дома, что сделал в итоге.

      • Да, Владимир, если можно поподробней опишите, может пример скрипта и тд.

        • У меня вот так работает. В cron стоит скрипт, который запускается после перезагрузки от пользователя root:

          @reboot /root/ethtool.sh

          А вот текст скрипта:

          #!/bin/bash
          /sbin/ethtool -s enp5s0 wol g

          WOL работает стабильно и всегда.

          • Спасибо за решение!!!

            (Виталий)

            • Я как раз удаленно через winbox подключился к микротику по vpn, запустил в нем скрипт с wol, разбудил proxmox и посмотрел решение :)

  2. Добрый день, решил задать вопрос, мб кто-нибудь увидит
    имею два идентично настроенных mikrotik на разных объектах, модели разные, но не суть
    в одной сети wol работает, в другой нет, по заверениям клиента, раньше работало(до сброса и перенастройки), понимаю, что косяк в микротике, но где нет идей

    1 сеть(работает wol) тачки напрямую в mikrotik
    2 сеть(не работает wol) mikrotik - switch (switch os) - switch os

    • Все правильно. Через свитч пакет с wol не проходит. Необходимо быть в одном широковещательном домене, чтобы сработал wol. Так что посылать пакет на пробуждение нужно с какого-то устройства, которое подключено в тот же свитч.

      • Логично, но дело в том, что попытки послать пакет с соседней тачки тоже успехом не заканчиваются (

        • Так бывает. Ниже мое сообщение. Тоже долго мучался, wol то работал, то нет. С ним всегда много нюансов.

          • Если после выключения не включается то:

            проверяем настройки файла /etc/network/interfaces и добавляем строку post-up /usr/sbin/ethtool -s enp4s0 wol g

            auto enp4s0
            iface enp4s0 inet manual
            post-up /usr/sbin/ethtool -s enp4s0 wol g
            выполняем команду:

            ethtool -s enp4s0 wol g
            и ethtool enp4s0 проверяем вывод:

            Supports Wake-on: pumbg
            Wake-on: g
            Link detected: yes
            дожно быть Wake-on: g ! именно его отсутствие (например Wake-on: d) не дает возможности запускать через Wol.

  3. Наконец-то я разобрался, почему у меня то работал, то нет wake on lan. Информация в статье актуальная, но лично мне она помогала не полностью. После выполнения команды в консоли:
    ethtool -s enp5s0 wol g
    и выключения сервера он потом нормально запускался по сети. Но после этого прекращал. Причем, если посмотреть параметры сетевой карты:
    ethtool enp2s0 | grep Wake-on
    то там все в порядке. Параметр выставлен как надо, но при этом wake on lan не работал. Если зайти в консоль и еще раз вручную ввести команду
    ethtool -s enp5s0 wol g
    wake on lan снова заработает ровно один раз. Я не стал ковыряться в причине такого поведения. Просто подставил костыль - я сделал скрипт с одной единственной командой и добавил его запуск в cron во время загрузки сервера. Теперь wake on lan работает всегда и удается удаленно запустить сервер.

  4. Александр

    и еще https://bugs.centos.org/file_download.php?file_id=27588&type=bug галку с Игноре на магик а то в настройках сетевушки прям написано что игнорировать WOL

  5. Что-то не вижу связи ОС с включением... это работает на уровне bios и по сути это нажатие кнопки включения, но по сети. Это если очень грубо.. У меня есть тачки с WoL, тот же prox и suse и в настройках ОС нету ни каких настроек для WoL. Все на уровне биоса. Проверьте версию биоса может есть обнова, тогда надо ее поставить

    • Связь точно есть. У меня стабильно работал WoL на старой версии proxmox. После обновления системы перестал. Я тоже был очень удивлен, как так может быть. Но может, это факт. Мне где-то в комментариях к еще одной статье по wal, забыл уже какой именно, кто-то рассказывал, как так получается и какая связь.

  6. Александр

    Ни в какую не работает WOL в CentOs 7 все включено в биос, если подключаю виндовый диск комп отлично будится!
    Но если гружу centos7 - ничего не работает.

    ethtool enp2s0 | grep Wake-on
    Supports Wake-on: pumbg
    Wake-on: d

    делаю
    ethtool -s enp2s0 wol g

    получаю

    ethtool enp2s0 | grep Wake-on
    Supports Wake-on: pumbg
    Wake-on: g

    ВСЕ вроде бы замечательно. прописываю в настройки сетевой

    ETHTOOL_OPTS="-s enp2s0 wol g"
    ETHTOOL_OPTS="-s ${DEVICE} wol g"
    ETHTOOL_OPTIONS="wol g"

    все что могу но при перегрузке опять d

    мысли есть?

    • Мыслей нет. Такая же ерунда с сервером на debian, где proxmox стоит. Раньше просыпался по сети, потом в какой-то момент перестал. Почему так - не могу понять. Ничего не помогает.

      • Александр

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

      • Александр

        Доброго времени суток. в продолжении разговора о неработающем WOL

        Я тут на лоре задал вопрос и мне коллеги ответили:

        Говорят, что пофиксили с помощью:

        nmcli c modify «enp3s0» 802-3-ethernet.auto-negotiate yes

        У мена на centos 7 сработало, попробуйте может и у вас сработает.

        • Спасибо, поищу аналогию в настройках, так как у меня debian 10.

          • Александр

            насколько я понимаю redhat fedora и centos от дебиана не сильно отличаются настройки сетевушек /etc/syscfig/network-script/ifcfg-* посмотрите там могут быть следы явно Network Manager это он зараза не давал поправить опции и все возвращал к исходному. NMCLI это его приблуда только консольная, ну или из иксов вызвать и переставить галку с Игноре на магик как на картинке. https://bugs.centos.org/file_download.php?file_id=27588&type=bug я на консольный сентос7 доставил иксы и из за этого поимел проблему, и опыт.

            Ну о чем я, разберетесь. ;)

          • Доброго времени суток! Я в *nix-ах недавно. Установил Proxmox VE (через исошник с оф.сайта).
            У меня всё то же самое что описал Александр выше - срабатывает один раз, но пре перезагрузке опять d.
            Про манипуляции с "nmcli c modify", предложенные выше - до конца не понял, т.к. NMCLI по умолчанию не был установлен, чтобы чему-то мешать в настройках сетевых карт.

            Скажите, коллеги, удалось ли найти приемлемое решение для debian 10? Пример скрипта может или что иное?
            Заранее спасибо!

      • Александр

        и еще https://bugs.centos.org/file_download.php?file_id=27588&type=bug галку с Игноре на магик а то в настройках сетевушки прям написано что игнорировать WOL

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar