OpenSource в заметках
Удалённое выключение Linux-системы не представляет особого труда, лишь бы был доступ к SSH. А вот с аппаратным включением системы дело обстоит несколько иначе. В этой статье я расскажу о том, что и как необходимо сделать, чтобы удалённо включить компьютер, поддерживающий технологию Wake On Lan. Wake On Lan поддерживается практически во всех современных материнских платах. Для того, чтобы иметь возможность разбудить компьютер удалённо, необходимо, чтобы в нём был установлен источник питания ATX версии не ниже 2.01, материнская плата, поддерживающая Wake On Lan, а также сетевая плата с поддержкой этой технологии.
Настройка
Определить, поддерживает ли материнская плата вашего компьютера Wake On Lan, можно. зайдя в настройки CMOS Setup в раздел настроек управления питанием. Найдите там опцию «Wake On Lan» и убедитесь, что она включена.
После загрузки системы установите, если необходимо, пакет ethtool, при помощи которого можно в том числе и переключать сетевую плату в режим пробуждения по сигналу Wake On Lan от других машин:
Далее, необходимо определить, поддерживает ли установленная сетевая плата Wake On Lan, и включена ли эта опция:
В строке Supports Wake-On перечислены механизмы, поддерживаемые сетевой платой. В моём примере я пользуюсь методом отправки т. н. Magic Packet, и если вам нужно то же самое, то убедитесь, что в Supports Wake On присутствует буква «g». Буква «d» в строке Wake-on обозначает, что Wake On Lan для данного сетевого интерфейса отключён. Чтобы включить его в режим распознавания Magic Packet, необходимо:
Имейте ввиду, что после включения компьютера, вероятней всего, опция Wake-on опять перейдёт в состояние «d» и, если вам нужно, добавьте приведённую выше команду куда-нибудь в /etc/rc.local.
Теперь всё готово для пробуждения системы по получению Magic Packet. Для того, чтобы его отправить, необходимо знать MAC-адрес сетевого интерфейса включаемого компьютера, поэтому прежде, чем выключать систему, запишите его:
Теперь можно выключать систему:
Включение
Теперь с любого другого компьютера, находящегося в том же сегменте сети (в принципе, это необязательно, но тогда необходимо, чтобы в вашей сети маршрутизаторы корректно пробрасывали широковещательные пакеты), можно включить ранее сконфигурированную удалённую систему. Для этого понадобится утилита wakeonlan, которую необходимо установить, если её ещё нет в вашей системе:
Разбудить выключенную систему теперь можно командой (обратите внимание, wakeonlan не требует прав суперпользователя):
Опцией -p указывается номер UDP-порта, с которого будет отправлен Magic Packet. Указание этой опции обязательно, поскольку по умолчанию wakeonlan использует девятый порт, помеченный в /etc/services как discard, что означает то, что пакет с этого порта отправить не получится. В принципе, можно использовать любой незанятый в системе UDP-порт.
Не работает wake on lan в linux, как настроить
После недавнего обновления proxmox до 6-й версии перестал работать WoL. Это технология wake on lan для запуска компьютера через сеть. Я использую proxmox для тестовых целей, поэтому ему не обязательно постоянно работать. Я сделал скрипт в mikrotik, с помощью которого удаленно запускаю гипервизор в случае необходимости и пользуюсь им. Потом завершаю работу.
После обновления wake on lan работать перестал. Я уже подзабыл, как его настраивал до этого и настраивал ли, поэтому сейчас решил записать, чтобы не забыть. Итак, чтобы работал wake on lan в linux, у вас должна быть включена такая возможность в BIOS. Но этого не всегда достаточно.
Идем в консоль системы и там выполняем команду:
Если ethtool не установлен, то ставите его командой:
enp5s0 — сетевой интерфейс, который смотрит в локалку и находится в одном сегменте сети с mikrotik. Последний видит его mac адрес. Далее добавляем в /etc/network/interfaces:
Все, теперь wake on lan будет нормально работать и сервер можно будет включать удаленно. На mikrotik у меня вот такой скрипт.
00:25:22:DC:39:42 — mac адрес сетевого интерфейса enp5s0 сервера. В итоге, если нужен тестовый сервер, подключаюсь по vpn к mikrotik, там запускаю proxmox, виртуальные машины. Они все доступны через vpn. Когда сделаю, все, что нужно, выключаю сервер.
Linux включение компьютера по сети
опять перейдёт в состояние «d» и, если вам нужно, добавьте приведённую выше
команду куда-нибудь в /etc/rc.local.
Это может не работать (или не сработать второй раз), если выполнялся сброс (переинициализации) карты (в том числе — на ноутбуках после «сна»).
Лучше это делать из:
— Ubuntu/Ddebian: /etc/network/interfaces в post-up / pre-down
— AltLinux — в /etc/net/ifaces/ethX/ifup-post
— в других — в соотв. местах, выполняемых _каждый раз_ после инициализации устройства или перед его отключением.
1.6 , Alex ( ?? ), 01:17, 27/12/2010 [ответить] | + / – |
> девятый порт, помеченный в /etc/services как discard, что означает то, что > пакет с этого порта отправить не получится Бред, это просто название протокола, RFC863. |
1.7 , sam ( ?? ), 17:23, 29/12/2010 [ответить] | + / – |
Если на компьютере несколько сетевых карт обязательно нужно указать в параметр -i адрес Например, если нужно разбудить комп с адресом 192.168.2.34 в сети 192.168.2.0/24 то можно так и указать например широковещательный адрес сети Как настроить Wake On Lan в LinuxКак настроить Wake On Lan в LinuxКак настроить Wake On Lan в Linux-01 Всем привет сегодня расскажу как настроить Wake On Lan в Linux. WakeOnLan (WOL) — это технология позволяющая включить компьютер, методом отправки на него специального пакета данных, называемыми Magic Packet. Принцип работы этой технологии таков, что при выключении компьютера он переходит в дежурный режим и переводит сетевую карту в режим пониженного потребления, просматривая все поступающие пакеты из сети. Если сетевой адаптер обнаружит Magic Packet, он выдаст сигнал на включение компьютера. Примечание: для использования данной технологии необходима поддержка данной функции (технологии) сетевым адаптером, почти все современные сетевые адаптеры поддерживают данную технологию. В данном посте мы рассмотрим настройку данной функции на примере ОС Linux. 1. В первую очередь мы просмотрим список наших сетевых интерфейсов используя утилиту ethtool: В ответ получим список наших используемых сетевых интерфейсов (в моём случае он 1): eth0 Link encap:Ethernet HWaddr 6c:62:6d:f0:ce:b4 Нам необходим интерфейс который имеет доступ к внешней сети (в моём случае eth0). Теперь проверим поддерживает ли сетевой адаптер данную технологию и настроим её используя утилиту ethtool. Устанавливаем её: и запустим её, для просмотра информации о сетевом интерфейсе: В ответ мы получим всю информацию о нашем сетевом интерфейсе: Settings for eth0: Где Supports Wake-on: pg — означает что наш сетевой интерфейс поддерживает технологию Wake On Lan, Wake-on: d — но она отключена. Wake On Lan можно включить вручную 1 командой, но при каждой перезагрузке нашей машины он будет деактивироватся, для этого мы создадим и будем использовать специальный скрипт. Добавляем в скрипт строки: Даём права скрипту: Создаём символическую ссылку и делаем наш скрипт исполняемым: Проверяем что всё нормально вводим команду: Если ничего в ответ не получили, значит всё хорошо и можно проверить на практике. Вот так вот просто настроить Wake On Lan в Linux |