Введение
Механизм для пробуждения компьютеров через сеть. Wake on LAN (WoL или WOL) — это стандарт компьютерных сетей Ethernet или Token Ring, позволяющий включить компьютер или вывести его из режима сна с помощью сетевого сообщения. Эквивалентные термины включают в себя wake on WAN, remote wake up, power on by LAN, power up by LAN, resume by LAN, resume on LAN и wake up on LAN. Если компьютер, который пробуждается, взаимодействует по Wi-Fi, необходимо использовать дополнительный стандарт под названием Wake on Wireless LAN (WoWLAN). Обычно сообщение отправляется на целевой компьютер программой, запущенной на устройстве, подключенном к той же локальной сети. Также возможно инициировать сообщение из другой сети, используя широковещательные пакеты, направленные на подсеть, или сервис шлюза WoL. Стандарты WoL и WoWLAN часто расширяются производителями для обеспечения работы сервисов по требованию, не зависящих от протокола, например, функция Apple Bonjour wake on demand (Sleep Proxy).
Wake on LAN (WoL or WOL) is an Ethernet or Token Ring computer networking standard that allows a computer to be turned on or awakened from sleep mode by a network message. Equivalent terms include wake on WAN, remote wake up, power on by LAN, power up by LAN, resume by LAN, resume on LAN and wake up on LAN. If the computer being awakened is communicating via Wi Fi, a supplementary standard called Wake on Wireless LAN (WoWLAN) must be employed. The message is usually sent to the target computer by a program executed on a device connected to the same local area network. It is also possible to initiate the message from another network by using subnet directed broadcasts or a WoL gateway service. The WoL and WoWLAN standards are often supplemented by vendors to provide protocol transparent on demand services, for example in the Apple Bonjour wake on demand (Sleep Proxy) feature.
История
В октябре 1996 года Intel и IBM сформировали (AMA). В апреле 1997 года этот альянс представил технологию Wake on LAN.
Принцип действия
Ethernet-соединения, включая домашние и рабочие сети, беспроводные сети передачи данных и сам Интернет, основаны на фреймах, передаваемых между компьютерами. WoL реализуется с использованием специально разработанного фрейма, называемого «магическим пакетом», который отправляется всем компьютерам в сети, включая тот, который необходимо включить. Магический пакет содержит MAC-адрес компьютера назначения. Это уникальный идентификационный номер, встроенный в каждый сетевой адаптер (NIC), позволяющий однозначно идентифицировать и адресовать его в сети. В компьютерах с поддержкой Wake on LAN сетевые адаптеры (NIC) прослушивают входящие пакеты, даже когда остальная часть системы выключена. Если магический пакет приходит и адресован MAC-адресу устройства, сетевой адаптер подает сигнал блоку питания или материнской плате о включении. Это эквивалентно нажатию кнопки питания. Магический пакет транслируется на канальном уровне всем подключенным устройствам в сети, используя широковещательный адрес сети; IP-адрес (который относится к сетевому уровню) не используется. Поскольку Wake on LAN основан на широковещательных сообщениях, он обычно может использоваться только в пределах одной подсети. Однако на практике Wake on LAN может работать в любой сети при соответствующей настройке и оборудовании, включая удаленное включение через Интернет. Для работы Wake on LAN некоторые компоненты сетевого интерфейса должны оставаться включенными. Это потребляет небольшое количество энергии в режиме ожидания. Для дальнейшего снижения энергопотребления скорость соединения обычно снижается до минимально возможной (например, сетевой адаптер Gigabit Ethernet поддерживает только соединение со скоростью 10 Мбит/с). Отключение Wake on LAN, когда это не требуется, может незначительно снизить энергопотребление выключенных, но подключенных к розетке компьютеров. Потребление энергии становится важным фактором для устройств, работающих от аккумулятора, таких как ноутбуки, поскольку это может разряжать аккумулятор даже при полном выключении устройства.
Трансляции, направленные на субсети
Основным ограничением стандартной широковещательной технологии Wake on LAN является то, что широковещательные пакеты обычно не маршрутизируются. Это препятствует использованию данной технологии в крупных сетях или через Интернет. Для преодоления этого ограничения можно использовать направленные широковещательные сообщения для подсетей (SDB). Использование SDB может потребовать внесения изменений в конфигурацию промежуточных маршрутизаторов. SDB обрабатываются как одноадресные сетевые пакеты до тех пор, пока не будут обработаны конечным (локальным) маршрутизатором. Этот маршрутизатор затем выполняет широковещательную рассылку пакета на втором уровне. Эта техника позволяет инициировать широковещание в удаленной сети, но требует, чтобы все промежуточные маршрутизаторы пересылали SDB-пакеты. При подготовке сети к пересылке SDB-пакетов необходимо тщательно фильтровать пакеты, разрешая только нужные (например, WoL) SDB-пакеты, иначе сеть может стать участником DDoS-атак, таких как атака Smurf.
Устранение неполадок в волшебных пакетах
Внедрение технологии Wake on LAN может быть сложным, поскольку для её надёжной работы требуется соответствующая поддержка BIOS/UEFI, аппаратного обеспечения сетевого интерфейса и, в некоторых случаях, операционной системы и маршрутизатора. В отдельных случаях оборудование может пробуждаться из одного состояния пониженного энергопотребления, но не из других. Это означает, что из-за особенностей аппаратного обеспечения компьютер может быть разбужен из состояния выключения (S5), но не из режима сна или гибернации, или наоборот. Начиная с Windows Vista, операционная система записывает все источники пробуждения в журнал событий системы. Эти данные можно получить с помощью "Просмотра событий" и команды powercfg.exe /lastwake.
Несанкционированный доступ
Магические пакеты отправляются через канальный уровень или 2-й уровень модели OSI, что может быть использовано или злоупотреблено любым пользователем в той же локальной сети, если только сетевое оборудование 2-го уровня не способно и не настроено на фильтрацию такого трафика в соответствии с общими требованиями безопасности. Брандмауэры могут использоваться для предотвращения доступа клиентов из общедоступной WAN к широковещательным адресам внутренних сегментов локальной сети, или маршрутизаторы могут быть настроены на игнорирование направленных широковещательных сообщений подсети. Некоторые сетевые карты поддерживают функцию безопасности под названием "SecureOn". Она позволяет пользователям хранить в сетевой карте шестнадцатеричный пароль длиной 6 байт. Клиенты добавляют этот пароль к магическому пакету. Сетевая карта активирует систему только в том случае, если MAC-адрес и пароль совпадают. Эта мера безопасности значительно снижает риск успешных атак методом перебора, увеличивая пространство поиска на 48 бит (6 байт), до 2^48 комбинаций, если MAC-адрес полностью неизвестен. Однако любая перехват сетевого трафика раскроет пароль в открытом виде. Злоупотребление функцией Wake-on-LAN позволяет только включить компьютеры; само по себе оно не обходит защиту паролем и другие формы безопасности и не может выключить компьютер после включения. Однако многие клиентские компьютеры пытаются загрузиться с PXE-сервера при включении с помощью WoL. Поэтому комбинация серверов DHCP и PXE в сети иногда может быть использована для запуска компьютера с загрузочным образом злоумышленника, обходя любую защиту установленной операционной системы и предоставляя доступ к незащищенным локальным дискам по сети.
Взаимодействие с системой контроля доступа к сети
Использование технологии Wake on LAN в корпоративных сетях иногда может конфликтовать с решениями по контролю доступа к сети, таким как аутентификация 802.1X на основе MAC-адресов, что может препятствовать доставке "магических пакетов", если аппаратная часть WoL устройства не предназначена для поддержания активного сеанса аутентификации в режиме сна.
Безопасность
Некоторые ПК включают в себя технологию, встроенную в чипсет, для повышения безопасности при использовании Wake on LAN. Например, Intel AMT (компонент технологии Intel vPro). AMT использует шифрование TLS для обеспечения безопасности канала связи внеполосного доступа к ПК на базе AMT для команд удаленного управления, таких как Wake on LAN. Поскольку зашифрованная связь осуществляется внеполосно, аппаратное и программное обеспечение базовой платы (firmware) ПК получают "магический пакет" до того, как сетевой трафик достигнет программного стека операционной системы (ОС). Поскольку зашифрованная связь происходит на уровне ниже ОС, она менее уязвима к атакам вирусов, червей и других угроз, которые обычно нацелены на уровень ОС. IT-специалисты, использующие Wake on LAN через реализацию Intel AMT, могут удаленно включать ПК AMT в сетевых средах, требующих безопасности на основе TLS, таких как IEEE 802.1X, Cisco Self Defending Network (SDN) и Microsoft Network Access Protection (NAP). Обычно функцию Wake on LAN необходимо включить в разделе управления питанием в утилите настройки BIOS/UEFI материнской платы ПК, хотя в некоторых системах, например, компьютерах Apple, она включена по умолчанию. На более старых системах настройка BIOS/UEFI может называться WoL; на более новых системах, поддерживающих версию PCI 2.2, она может называться PME (Power Management Events, включающие WoL). Также может потребоваться настроить компьютер на резервирование питания для сетевой карты в режиме ожидания при выключении системы. Кроме того, для работы Wake on LAN иногда требуется включить эту функцию на сетевой карте или встроенном чипе. Детали реализации зависят от операционной системы и драйвера устройства. Ноутбуки на базе процессоров Intel Centrino Processor Technology или более новых (с соответствующей поддержкой BIOS/UEFI) позволяют включать машину с помощью Wake on Wireless LAN (WoWLAN). В большинстве современных ПК ACPI получает уведомление о "пробуждении" и берет на себя управление включением питания. В ACPI OSPM должен регистрировать "источник пробуждения" – устройство, вызвавшее включение питания, например, "мягкий" выключатель питания, сетевой адаптер (через Wake on LAN), открытие крышки, изменение температуры и т.д. Подача сигнала пробуждения на контакт 3 напряжением +5 В постоянного тока приведет к включению компьютера, при условии, что WoL включен в конфигурации BIOS/UEFI.
Требования к программному обеспечению
Программное обеспечение, отправляющее WoL-пакет, в различных сообществах называют как "клиентом", так и "сервером", что может вносить путаницу. Хотя аппаратное или программное обеспечение WoL, по сути, выполняет роль "сервера", веб-интерфейсы, выступающие в качестве шлюза для отправки WoL-пакетов без установки локального клиента, пользователи часто называют "Wake On LAN Server". Кроме того, программное обеспечение, управляющее функциями WoL со стороны операционной системы хоста, иногда по ошибке может именоваться "клиентом", и, конечно, устройства, использующие WoL, как правило, являются рабочими станциями конечных пользователей и, следовательно, в современной IT-терминологии считаются "клиентами".
Обеспечение путешествия волшебного пакета от источника до пункта назначения
Если отправитель находится в той же подсети (локальной сети, также известной как LAN), как и компьютер, который требуется разбудить, обычно проблем не возникает. При отправке через Интернет, и особенно при использовании NAT-маршрутизатора (Network Address Translator), который обычно встречается в большинстве домашних сетей, часто требуется выполнить специальные настройки. Например, в маршрутизаторе компьютеру, которым нужно управлять, необходимо назначить выделенный IP-адрес (также известный как DHCP-резервирование). Кроме того, поскольку управляемый компьютер будет находиться в "спящем" режиме, потребляя лишь небольшое количество электроэнергии для части своего сетевого интерфейса, он обычно не будет зарегистрирован в маршрутизаторе как имеющий активную аренду IP-адреса. Более того, протокол WoL работает на "более низком уровне" в многоуровневой сетевой архитектуре. Чтобы гарантировать доставку "магического пакета" от отправителя к получателю, пока получатель находится в спящем режиме, в NAT-маршрутизаторе обычно необходимо настроить ARP Binding (также известный как привязку IP и MAC-адреса). Это позволяет маршрутизатору перенаправлять "магический пакет" на MAC-адаптер спящего компьютера на сетевом уровне, ниже уровня типичного использования IP. Для ARP Binding в NAT-маршрутизаторе требуется только выделенный IP-адрес и MAC-адрес компьютера назначения. Существуют определенные риски безопасности, связанные с ARP Binding (см. ARP-спуфинг); однако, пока ни один из компьютеров, подключенных к локальной сети, не скомпрометирован, злоумышленнику потребуется использовать компьютер, подключенный непосредственно к целевой локальной сети (подключенный к локальной сети кабелем или взломавший защиту Wi-Fi-соединения для получения доступа к локальной сети). Большинство домашних маршрутизаторов способны отправлять "магические пакеты" в локальную сеть; например, маршрутизаторы с прошивками DD-WRT, Tomato или PfSense имеют встроенный клиент Wake-on-LAN. OpenWrt поддерживает как Linux-реализации WoL etherwake, так и WoLs.
Отвечаю на волшебный пакет
Большинство аппаратных средств Wake-on-LAN по умолчанию функционально отключены и требуют включения в системном BIOS/UEFI. В некоторых случаях требуется дополнительная настройка из операционной системы, например, через свойства сетевой карты в диспетчере устройств в операционных системах Windows.
Microsoft Windows
Более новые версии Microsoft Windows интегрируют функциональность WoL в Диспетчер устройств. Она доступна на вкладке "Управление питанием" в свойствах драйвера каждого сетевого устройства. Для полной поддержки возможностей WoL устройства (например, возможности пробуждения из состояния выключения ACPI S5) может потребоваться установка полного комплекта драйверов от производителя сетевого устройства, а не только базового драйвера, предоставляемого Microsoft или производителем компьютера. В большинстве случаев для функционирования WoL также требуется правильная настройка BIOS/UEFI. Возможность пробуждения из состояния гибридного выключения (S4) (также известного как "Быстрый запуск") или состояния полного выключения (S5) не поддерживается в Windows 8 и более поздних версиях, а также в Windows Server 2012 и более поздних версиях. Это связано с изменением поведения операционной системы, из-за которого сетевые адаптеры не активируются для WoL при переходе в эти состояния. WoL из негибридного состояния гибернации (S4) (то есть, когда пользователь явно инициирует гибернацию) или состояния сна (S3) поддерживается. Однако некоторые аппаратные средства могут включать WoL из состояний, не поддерживаемых Windows. Настройка также возможна через терминал с помощью команды pmset womp (пробуждение по магическому пакету). Клиентская система управления Apple Remote Desktop от Apple может использоваться для отправки пакетов Wake on LAN, но также доступны бесплатные и условно-бесплатные приложения для macOS. Механизм Bonjour Sleep Proxy, предоставляемый точками доступа Apple AirPort и Apple TV, позволяет другим устройствам в локальной сети инициировать отправку пакета WoL хосту при обращении к одному из его общих ресурсов.
Другие состояния машины и сигналы разбуждения LAN
В первые дни Wake on LAN ситуация была относительно простой: машина была подключена к питанию, но выключена, и было организовано отправление специального пакета для её включения. С тех пор добавлено множество опций и согласованных стандартов. Машина может находиться в семи состояниях питания, от S0 (полностью включена) до S5 (выключена, но подключена к сети) и отключена от питания (G3, механическое выключение), с такими названиями, как "сон", "режим ожидания" и "гибернация". В некоторых режимах пониженного энергопотребления состояние системы сохраняется в оперативной памяти, и машина может очень быстро проснуться; в других состояние сохраняется на диске, материнская плата выключается, и на пробуждение требуется не менее нескольких секунд. Машину можно разбудить из состояния пониженного энергопотребления различными сигналами. BIOS/UEFI машины должен быть настроен для разрешения Wake on LAN. Для пробуждения из выключенного состояния S5 также требуется реакция на PME (Power Management Event). Адаптер Intel поддерживает "Пробуждение по направленному пакету", "Пробуждение по магическому пакету", "Пробуждение по магическому пакету из выключенного состояния" и "Пробуждение по каналу связи". Wake on Directed Packet особенно полезен, так как машина автоматически выходит из режима ожидания или гибернации, когда к ней обращаются, без необходимости пользователю или приложению явно отправлять магический пакет. К сожалению, во многих сетях пробуждение по направленному пакету (любой пакет с MAC-адресом или IP-адресом адаптера) или по каналу связи может привести к пробуждению сразу после перехода в режим пониженного энергопотребления. Детали для конкретной материнской платы и сетевого адаптера можно найти в соответствующих руководствах; общего метода не существует. Также может потребоваться знание сигналов в сети для предотвращения ложных пробуждений.
Работа без присмотра
Для машины, которая обычно не обслуживается, необходимо принять меры предосторожности, чтобы функция Wake on LAN работала максимально надежно. Для машины, приобретенной для работы в таком режиме, функциональность Wake on LAN является важной частью процедуры закупки. Некоторые машины не поддерживают Wake on LAN после отключения от электросети (например, при восстановлении питания после перебоя в электроснабжении). Использование источника бесперебойного питания (ИБП) обеспечит защиту от кратковременного отключения электроэнергии, хотя батарея будет разряжаться при длительном перебое в электроснабжении.
Пробуждение без присутствия оператора
Если компьютер, не предназначенный для поддержки Wake on LAN, остается выключенным после отключения электроэнергии, можно настроить BIOS/UEFI для автоматического запуска при восстановлении питания, чтобы он никогда не оставался в неотвечающем состоянии. Типичная настройка BIOS/UEFI – функция автоматического включения после восстановления питания, которая может быть включена, выключена или установлена в режим "в памяти". В данном случае правильной настройкой является включение; режим "в памяти", который восстанавливает компьютер в состояние, в котором он находился до отключения питания, может привести к тому, что компьютер, находящийся в режиме гибернации, станет невосстановимым. Другие проблемы могут повлиять на возможность запуска или удаленного управления компьютером: аппаратные сбои компьютера или сети, выход из строя батареи BIOS/UEFI (компьютер остановится при запуске до установления сетевого соединения, отображая сообщение об ошибке и требуя нажатия клавиши), потеря контроля над компьютером из-за программных проблем (зависание компьютера, завершение работы программного обеспечения удаленного управления или сетевого программного обеспечения и т.д.), вирусное заражение или повреждение жесткого диска. Поэтому использование надежного компьютера серверного класса с RAID-массивами, резервными блоками питания и т.п. поможет максимизировать доступность. Кроме того, устройство, которое может включать и выключать компьютер, управляемое, возможно, удаленным сигналом, может принудительно выполнить перезагрузку, что устранит проблемы, вызванные некорректной работой программного обеспечения. Для компьютера, который не используется постоянно, можно сэкономить энергию, переведя его в режим ожидания с низким энергопотреблением оперативной памяти после короткого периода бездействия. Если задержка подключения в одну-две минуты допустима, компьютер может перейти в режим гибернации, выключившись с сохранением своего состояния на диске.
Пробуждение в Интернете
Инициатор сигнала пробуждения (магический пакет) не обязательно должен находиться в той же локальной сети (LAN), что и компьютер, который необходимо разбудить. Его можно отправить из любой точки, используя:
Виртуальную частную сеть (VPN), которая позволяет инициатору выглядеть как член локальной сети. Интернет с локальной трансляцией: некоторые маршрутизаторы разрешают передавать пакеты, полученные из Интернета, во всю локальную сеть; по умолчанию для ретрансляции запросов WoL обычно используются порты TCP или UDP 7 (протокол Echo), 9 (протокол Discard) или оба этих порта. Эта настройка прокси-сервера должна быть включена в маршрутизаторе, а правила переадресации портов могут потребоваться в его встроенном брандмауэре для приема магических пакетов, поступающих со стороны Интернета на эти ограниченные номера портов, и для разрешения их повторной трансляции в локальную сеть (обычно на те же порты и с использованием того же протокола TCP или UDP). Такие маршрутизаторы также могут быть настроены на использование других номеров портов для этой службы проксирования. Интернет без локальной трансляции: если (что часто бывает) брандмауэр или маршрутизатор в пункте назначения не разрешает передавать пакеты, полученные из Интернета, в локальную сеть, пробуждение через Интернет все равно можно осуществить, отправив магический пакет на любой указанный порт интернет-адреса назначения, предварительно настроив брандмауэр или маршрутизатор для переадресации пакетов, поступающих на этот порт, на локальный IP-адрес разбуживаемого компьютера. Маршрутизатору может потребоваться резервирование локального IP-адреса разбуживаемого компьютера для переадресации пакетов, когда он выключен.