Wake on lan что это

Содержание

Wake on lan что это

Используя программку WakeMeOnLan вы сможете использовать технологию Wake on LAN для включения хоть какого количества компов удаленно по сети либо через Веб. Программка имеет комфортную графическую оболочку, также поддерживает работу в режиме командной строчки. Скачать её можно с официального веб-сайта.

Wake On Lan после сбоя питания (или из состояния G3)

Wake-on-LAN (WOL; в переводе с англ. — «пробуждение по [сигналу из] локальной сети») — разработка, позволяющая удалённо включить компьютер средством отправки через локальную сеть специальной последовательности байтов. wiki

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

Про WOL на Хабре можно отыскать уже две станицы. Потому в этой статье не будет рассматриваться включение wol на карточке.

Введение

Для начала разберемся, почему компьютер не включится. Для осознания этого стоит обратится к ACPI.
ACPI — англ. Advanced Configuration and Power Interface — улучшенный интерфейс управления конфигурацией и питанием). В ACPI описаны состояния — как глобальные, так и определенных устройств а именно. (wiki)

Wake on lan что это

  • G2 (S5) (soft-off) — мягкое (программное) выключение; система вполне остановлена, но под напряжением, готова включиться в хоть какой момент. Системный контекст утерян.
  • G3 (mechanical off) — механическое выключение системы; блок питания ATX отключен.

Wake on lan что это

В большинстве [новых] биосов есть функция «After Power Failure». Принимать она может одно из 3-х значений:

  • «Stay Off» – при потере питания в сети и его восстановлении для включения ПК нужно надавить кнопку питания.
  • «Turn On» – восстановление питания вызывает автоматическое включение системы.
  • «Last State» – Восстановление системы в то состояние, в каком она находилась на момент пропадания питания. Если была выключены — остается выключена, по другому врубается.

Выбрав «Turn On», остается вопрос только в том, как выключить компьютер, когда он включился после сбоя питания, а не от запроса по сети либо штатного пуска кнопкой на корпусе. Делать эти проверки мы будем в initrd.

Initrd (сокращение от англ. Initial RAM Disk, диск в оперативки для исходной инициализации) — временная файловая система, применяемая ядром Linux при исходной загрузке. (wiki_ru) (wiki_en)

Размещение файлов для initrd в Ubuntu/Debian можно поглядеть в man на initramfs-tools (онлайн с веб-сайта Ubuntu).
Для Centos все незначительно по другому — там dracut.

Для обеспечения проверки, как был включен компьютер, после посылки wol пакета мы будем пинговать его. Но потому что пакет WOL у нас «магический», пусть пинги будут тоже «магическими». Пусть наши пинги будут размером в 48 б, а не в 84.

Wake on lan что это

Итого вся мысль в виде блок-схемы:

Реализация

Модули

В /etc/initramfs-tools/modules добавим нужные модули для работы iptables и сети.

Модуль для вашей сетевой карты
r8169 (у вас может быть другая) 
Модули iptables
xt_length iptable_filter ip_tables x_tables 
Скрипт

В /etc/initramfs-tools/scripts/local-top/ добавим файл checkboot с содержимым:

#!/bin/sh PREREQ="" prereqs() < echo "$PREREQ" >case $1 in prereqs) prereqs exit 0 ;; esac [ `cat /proc/cmdline | grep nocheckboot | wc -l` -eq 1 ] && exit 0 iptables -A INPUT -p icmp --icmp-type echo-request -m length --length 48 -j ACCEPT modprobe r8169 ifconfig eth0 192.168.0.2 up sleep 3 C=`iptables -L INPUT -v | grep 'icmp echo-request length 48' | cut -f5 -d' '` [ $C -gt 0 ] && exit 0 poweroff -f exit 0 

И делаем его исполняемым:

chmod +x /etc/initramfs-tools/scripts/local-top/checkboot 

Скрипт реализует блок-схему, приведенную выше.

Хук

В /etc/initramfs-tools/hooks/ добавим файл checkboot с содержимым:

#!/bin/sh PREREQ="" prereqs() < echo "$PREREQ" >case $1 in prereqs) prereqs exit 0 ;; esac cp /sbin/ifconfig "$/sbin" cp /sbin/iptables "$/sbin" cp /lib/libip4tc.so.0 "$/lib" cp /lib/libip6tc.so.0 "$/lib" cp /lib/libxtables.so.7 "$/lib" cp /lib/i386-linux-gnu/i686/cmov/libm.so.6 "$/lib" mkdir "$/lib/xtables" cp "/lib/xtables/libipt_icmp.so" "$/lib/xtables" cp "/lib/xtables/libxt_length.so" "$/lib/xtables" cp "/lib/xtables/libxt_standard.so" "$/lib/xtables" exit 0 

И делаем его исполняемым:

chmod +x /etc/initramfs-tools/hooks/checkboot 

Этот файл показывает, что нужно добавить в initrd для корректной работы нашего скрипта.
В нем после копирования утилит iptables и ifconfig нужно так же скопировать библиотеки для iptables.
Слинкованные библиотеки можно получить, выполнив ldd /sbin/iptables.
Но в процессе работы также будут употребляться динамически подгружаемые модули. Их перечень можно узреть, выполнив команду:

# strace iptables -A INPUT -p icmp --icmp-type echo-request -m length --length 48 -j ACCEPT 2>&1 | grep ^open | grep '.so' | grep -v ENOENT | grep -o '"[^"]*"' 

Что дозволит получить другие подгружаемые библиотеки:

"/lib/xtables/libipt_icmp.so" "/lib/xtables/libxt_length.so" "/lib/xtables/libxt_standard.so" 
Update initrd

Перед обновлением initrd неплохой мыслью является скопировать размеренный вариант в /boot с другим именованием, чтоб в случае каких-то ошибок в скрипте/хуке загрузка системы не представляла трудности.
Обновляем initrd командой:

# update-initramfs -u 
Grub

Добавляем новые строки в grub с nocheckboot.
Делаем это или конкретным редактированием /boot/grub/grub.cfg с созданием нового пт с добавлением nocheckboot в строке характеристик к ядру, или изменяя /etc/grub.d/10_linux, что лучше, потому что после update-grub2 наши изменения не исчезнут, как случится, если мы будем редактировать grub.cfg.

Для этого в /etc/grub.d/10_linux добавляем:

 linux_entry "$ nockeckboot" "$" simple \ "$ $ $ nocheckboot" 
 linux_entry "$" "$" simple \ "$ $ $" 
# update-grub2 

Запуск

Осталось только написать скрипт запуска.
И вот он:

!#/bin/sh wol -i 192.168.0.255 ping -s 20 -c 50 -W 1 192.168.0.2 

Здесь «-c 50» — это 50 пакетов, 1 пакет за секунду, а значит 50 секунд — время, за которое должны пройти все этапы до «Проверка счетчика правила iptables». А «-s 20» делает размер пакета равным 48 байтам. 48 — 20 = 28 байт — заголовки IP и ETHERNET.

Вместо заключения

Вот и все, теперь вы не потеряете доступ к машинам из-за сбоя питания.
Конечно, здесь ещё можно поговорить про UPS, но задача состояла в поиске решения без использования UPS.
Такая схема полезна в этом случае, если вам нужен доступ к вашим компьютерам (доступ к данным, проведение вычислений), которые основное время прибывают в выключенном состоянии и ждут вас.

  • *nix
  • Сетевые технологии

Настройка Wake-On-LAN в роутере

Wake on lan что это

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

Настраиваем роутер для Wake-On-LAN

Wake on lan что это

Настройку будем осуществлять на примере роутера TP-Link. Сперва необходимо зайти на страницу администрирования роутера, как правило это 192.168.0.1 или 192.168.1.1 Сперва зайдите в раздел Forwarding->Virtual Servers и добавьте новую запись для компьютера который вы планируете удаленно включать через интернет. В ней нужно указать его IP адрес и порт, который будет использоваться для включения. Обычно для Wake-On-LAN используется порты 7 и 9, но можно также указать любой другой порт (от 1 до 65535). Для типа протокола задайте значение UDP или ALL. Далее нужно перейти в раздел IP & MAC Binding->Binding Settings и произвести следующие настройки:

  • Включить опцию Arp Binding;
  • Добавить новую запись для компьютера который вы будете удаленно включать указав его IP и MAC адреса. Не забудьте также для него включить опцию Bind;

Wake on lan что это

После чего для включения настроенного выше компьютера необходимо будет указать внешний IP адрес, который провайдер выдает вашему роутеру и он автоматически перешлет запрос на включение на компьютер, который мы указали.

Wake on lan что это
Была ли эта статья Вам полезна?

Что в статье не так? Пожалуйста, помогите нам её улучшить!

Wake on lan что этоУдаленное включение компьютера с помощью Wake-on-LAN (WOL)

Wake on lan что это

Сетевым администраторам и различным информационным системам в крупных компаниях зачастую требуется выполнять такие операция как резервное копирование, установка обновлений программных продуктов на компьютерах в локальной сети в ночное время чтобы это не мешало работе пользователей. Однако выполнение этих задач требует, чтобы пользователи оставляли свои компьютеры включенными в ночное время. В результате потребление электричества может возрасти почти вдвое по сравнению с дневным использованием. Компания AMD работая в сотрудничестве с компанией Hewlett Packard (HP) нашли решение этой проблемы. Современные компьютеры обеспечивают поступление электроэнергии на материнскую плату даже в выключенном состоянии и сетевая карта может «просматривать» все пакеты поступающие на нее из сети и при поступлении специальной команды может включать компьютер в рабочее состояние из режима ожидания. Команда должна содержать уникальный IEEE адрес сетевой карты, таким макаром эта команда может включить только нужный компьютер в сети. Этот уникальный адрес повторяется в команде 16 раз и может быть передан любым протоколом на любой порт обеспечивая таким макаром свободу передачи этой команды. Сетевой пакет содержащий такую команду на включение компьютера назвали Магический Пакет (Magic Packet). Технология Магического Пакета позволяет удаленно включить выключенный или находящийся в режиме ожидания компьютер по сети. Это достигается отправкой Магического Пакета в заданный узел сети где находится компьютер. Когда компьютер переходит в режим ожидания он включает в сетевой карте режим ожидания Магического Пакета и далее сетевая карта проверяет весь трафик поступающий на нее. В терминологии компании Intel эта технология названа Wake on LAN (WOL). Некоторые сетевые карты дополнительно поддерживают функцию «SecureON» пароль. Эта настройка позволяет дополнительно задавать пароль для Магического Пакета. Пароль состоит из 6 символов (6 байт) и эти символы дополнительно передаются в Магическом Пакете. Однако на текущий момент немногие производители включают поддержку данной функции в свою продукцию.

Что требуется для работы Wake-On-LAN?

  • Доступ к компьютеру по локальной сети — в случае, если компьютер, который нужно включить находится за её пределами, нужно настроить правила проброса на маршрутизаторе.
  • Материнская плата компьютера с питанием ATX, 3-х пиновый «WOL» коннектор и ATX блок питания.
  • Сетевая карта поддерживающая WOL с подключенным «WOL» коннектором в материнскую плату, либо соответствующая стандарту PCI 2.2 (или позднему).
  • В БИОСе нужно включить поддержку Wake-On-LAN.
  • Опции в БИОСе могут иметь следующие названия:
    • MAC Resume From S3/S4,
    • MACPME Power Up Control,
    • PME Events Wake Up,
    • Power On By Onboard LAN,
    • Power On By PCI Devices,
    • Power Up By Onboard LAN,
    • Resume by LAN,
    • Resume by PME# Function,
    • Resume By WOL,
    • Resume on LAN,
    • Resume on LAN/PME#,
    • Resume on PCI Event,
    • Resume On PME#,
    • Wake on LAN from S5,
    • Wake On LAN,
    • Wake On PME,
    • Wake Up On LAN,
    • Wake Up On PME,
    • WakeUp by Onboard LAN,
    • Wakeup option,
    • WOL (PME#) From Soft-Off
  • Далее проверьте свойства сетевой карты, (правой кнопкой мыши на меню «Пуск», выберите «Диспетчер устройств»). В «Диспетчере устройств» откройте свойства вашей «Сетевой карты» и выберите закладку «Управление электропитанием». Опции включения питания должны быть включены как показано на картинке ниже.
    Wake on lan что это
  • Некоторый сетевые карты поддерживают дополнительные настройки для включения компьютера.
    Wake on lan что это

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

Как включить удаленный компьютер через интернет (онлайн)

Если вы хотите быстро и без лишней волокиты включить свой компьютер при помощи технологии Wake-On-Lan, то можно воспользоваться онлайн сервисами, которые позволяют задать IP адрес (как правило это будет адрес вашего роутера, на котором уже был предварительно настроен проброс портов для функционирования технологии WoL, как описано в нашей статье: Настройка Wake-On-LAN в роутере), также нужный MAC адрес, чтобы сформировать Magic Packet, который должен включить компьютер.

С помощью онлайн-сервиса depicus

Wake on lan что это

Для включения удаленного комьютера можно воспользоваться сервисом от depicus, который доступен по ссылке:
https://www.depicus.com/wake-on-lan/woli
В поле «mac address» вписываем MAC-адрес сетевой карты того компьютера, который вы хотите включить через интернет, в поле «ip address» вписываем публичный «белый» ip-адрес вашего компьютера (или роутера, смотря как именно настроена сеть в вашем случае) и жмем кнопку «WAKE UP».

С помощью онлайн-сервиса w3dt.net

Wake on lan что это

Альтернативный сервис для включения удаленного компьютера через интернет от w3dt:
https://w3dt.net/tools/wakeonlan
В поле «Hostname or IP» вписываем ваш публичный «белый» ip-адрес, в поле «Port» вписываем порт, а в поле «Mac Address» — вписываем MAC адрес компьютера, который необходимо включить. После заполнения всех полей, жмем на кнопку «Send«.

Программы для удаленного включения компьютера

Программы для Windows

Используя программу WakeMeOnLan вы можете использовать технологию Wake on LAN для включения любого количества компьютеров удаленно по сети или через Интернет. Программа имеет удобную графическую оболочку, также поддерживает работу в режиме командной строки. Скачать её можно с официального сайта.

Wake on lan что это

Для использования программы из графического интерфейса, необходимо сперва добавить его в программу (File — Add New Computer), после этого нажать на нем правой кнопкой мыши и выбрать пункт «Wake Up Selected Computers«.

Примеры использования из командной строки:

Включение компьютера с IP адресом 192.168.2.1:

WakeMeOnLan.exe /wakeup 192.168.2.1

Включение компьютера с именем PC01:

WakeMeOnLan.exe /wakeup PC01

Включение компьютера с MAC адресом 12-34-45-78-90-AB:

WakeMeOnLan.exe /wakeup 12-34-45-78-90-AB

Программы для Linux

Для операционной системы существует несколько популярных утилит, для удаленного включения компьютера при помощи технологии Wake on LAN. Одна из самых популярных — это etherwake.

Программа etherwake устанавливается в популярных дистрибутивах следующим образом:

В CentOS/RedHat:

yum -y install ethtool

В Debian/Linux Mint/Ubuntu:

aptitude install etherwake

Используется она просто — нужно выполнить саму утилиту с MAC адресом компьютера, который необходимо включить. Например, включения компьютера с MAC адресом 12-34-45-78-90-AB будет выглядеть так:

etherwake 12-34-45-78-90-AB

Если нужно включить компьютер по имени или ip адресу, то придется открыть файл /etc/ethers и вписать в него с новой строки пару «MAC адрес — имя компьютера». Выглядит подобная запись следующим образом:

Synology NAS tip — How to enable and use Wakeup On LAN — WOL

12-34-45-78-90-AB sysadmin

Теперь, когда имени sysadmin присвоен MAC адрес 12-34-45-78-90-AB, можно воспользоваться именем компьютера в etherwake:

etherwake sysadmin

Аналогично будет выглядеть запись для IP, с той разницей, что после MAC адрес будет написан IP адрес:

12-34-45-78-90-AB 192.168.0.1

Программы для Android

Wake on lan что это

Если вы хотите удаленно включить компьютер при помощи вашего телефона, работающего на Андройде, то можете воспользоваться программой Wake On Lan:
Ссылка на google play market: https://play.google.com/store/apps/details?id=co.uk.mrwebb.wakeonlan
Использование программы не представляет из себя ничего сложного, как и в варианте с онлайн сервисом, нужно задать IP адрес того компьютера, который вы хотите включить, также его MAC-адрес.

Как проверить, что Wake-On-LAN работает

Если вы хотите удостовериться, что все настроено как нужно и Magic Packet доходит до вашего компьютера (например, если вы настроили роутер, чтобы можно было включить ваш компьютер удаленно через интернет), то можно воспользоваться соответствующими программами.

Проверяем работу Wake-On-LAN в Windows

Для ОС Windows существует очень удобная утилита Wake On Lan Monitor, которая позволяет мониторить нужный порт UDP на предмет получения Magic Packet. Скачать эту утилиту можно с официального сайта: https://www.depicus.com/downloads/wakeonlanmonitor.zip

После распаковки архива, там будет один EXE файл, который нужно запустить. После запуска необходимо будет выбрать нужный UDP порт в поле «UDP port» и нажать на кнопку «Start«. Выглядеть это будет так:

Wake on lan что это

Если все правильно сделали, то после нажатия кнопки «Start» надпись «Disconnected» сменится на «Connected». Это значит, что программа прослушивает указанный порт на предмет получения Magic Packet.

Wake on lan что это

Теперь, проверяем, что Magic Packet доходит до нашего компьютера, если все работает как следует интерфейс программы отобразит полученный пакет в своем окне:

Wake on lan что это

Чтобы убедиться, что пришел корректный пакет для пробуждения ПК, смотрим в первую строчку лога. Он должен начинаться с (FF FF FF FF FF FF), а за ним должен следовать MAC адрес того компьютера, который мы планировали включить, в нашем случае этот адрес: (52 54 00 64 9B 3A). Как на скриншоте ниже:

Wake on lan что это

Если у вас все также, как и на скриншоте, значит до вашей сетевой карты доходит нужный пакет и компьютер должен включаться, если все другое настроено корректно и железо поддерживает технологию Wake-On-Lan.

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

  • Wake on lan в биосе

    Содержание Как включить Wake on Lan в Windows 10 Как включить Wake on Lan в BIOS Включить Wake on Lan в Windows 10 Активировать Wake on Lan в приложении…

  • Wake on link

    Содержание Как удаленно запустить «Wake-On-LAN (WOL)»? Включить ПК с iPhone удаленно, Keenetic lite, Wake on Lan настройка Wake on link settings – Dell…

  • Wake up что это

    Содержание Wake up Автоматический перевод Перевод по словам Примеры Примеры, ожидающие перевода Woke-up Перевод по словам Примеры Zivert — WAKE UP! |…

Оставить комментарий

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

Что будем искать? Например,Человек

Мы в социальных сетях