Wake-on-LAN ( WoL o WOL ) es un estándar de redes informáticas Ethernet o Token Ring que permite encender o reactivar una computadora del modo de suspensión mediante un mensaje de red. Se basa en la tecnología Magic Packet de AMD , que fue desarrollada conjuntamente por AMD y Hewlett-Packard, luego de su propuesta como estándar en 1995. El estándar fue adoptado rápidamente a partir de entonces por IBM , Intel y otros.
Los términos equivalentes incluyen wake on WAN , remote wake-up , power on by LAN , power up by LAN , resume by LAN , resume on LAN y wake up on LAN . Si la computadora que se reactiva se comunica a través de Wi-Fi , se debe emplear un estándar complementario llamado Wake on Wireless LAN (WoWLAN). [1]
El mensaje suele enviarse al ordenador de destino mediante un programa ejecutado en un dispositivo conectado a la misma red de área local (LAN). También es posible iniciar el mensaje desde otra red mediante transmisiones dirigidas a subredes o un servicio de puerta de enlace WoL.
Los estándares WoL y WoWLAN suelen ser complementados por los proveedores para proporcionar servicios a pedido transparentes en cuanto al protocolo, por ejemplo en la función de activación a pedido ( Sleep Proxy ) de Apple Bonjour . [2]
La base para el mecanismo Wake-on-LAN, el estándar de la industria en la actualidad, fue creada alrededor de 1994 por AMD en cooperación con Hewlett-Packard , quienes co-desarrollaron la Tecnología Magic Packet de AMD y presentaron su siguiente propuesta para ella en noviembre de 1995 en un documento técnico de AMD. [3] Permitió que un dispositivo de red remoto se despertara a través del "circuito de administración de energía" subyacente, enviándole un marco Ethernet estándar, que "contiene un patrón de datos específico detectado por el controlador Ethernet en el extremo receptor".
AMD ya había implementado el mecanismo WoL en su familia de controladores Ethernet AMD PCnet II . El término “Magic Packet” es una marca registrada de AMD. [3]
Wake-on-LAN se adoptó ampliamente a partir de octubre de 1996, cuando IBM formó la Advanced Manageability Alliance (AMA) con Intel . En abril de 1997, esta alianza adoptó la tecnología Wake-on-LAN. [4] [5]
Las conexiones Ethernet , incluidas las redes domésticas y laborales, las redes de datos inalámbricas e Internet en sí, se basan en tramas enviadas entre computadoras. WoL se implementa utilizando una trama especialmente diseñada llamada paquete mágico, que se envía comúnmente a todas las computadoras de una red, entre ellas la computadora que se va a reactivar. El paquete mágico contiene la dirección MAC de la computadora de destino. Este es un número de identificación, integrado en cada controlador de interfaz de red (NIC), que permite que la NIC sea reconocida y direccionada de manera única en una red. En las computadoras capaces de Wake-on-LAN, la(s) NIC escuchan los paquetes entrantes, incluso cuando el resto del sistema está apagado. Si llega un paquete mágico y está dirigido a la dirección MAC del dispositivo, la NIC envía una señal a la fuente de alimentación o a la placa base de la computadora para que se active. Esto tiene el mismo efecto que presionar el botón de encendido.
El paquete mágico se transmite en la capa de enlace de datos a todos los dispositivos conectados en una red determinada, utilizando la dirección de difusión de red ; no se utiliza la dirección IP (que se relaciona con la capa de Internet ). Debido a que Wake-on-LAN se basa en mensajes de difusión, generalmente solo se puede utilizar dentro de una subred . Sin embargo, Wake-on-LAN puede funcionar en cualquier red en la práctica, dada la configuración y el hardware adecuados, incluida la activación remota a través de Internet.
Para que Wake-on-LAN funcione, partes de la interfaz de red deben permanecer activas. Esto consume una pequeña cantidad de energía en modo de espera . Para reducir aún más el consumo de energía, la velocidad del enlace generalmente se reduce a la velocidad más baja posible (por ejemplo, una NIC Gigabit Ethernet mantiene solo un enlace de 10 Mbit/s). Deshabilitar Wake-on-LAN, cuando no se necesita, puede reducir ligeramente el consumo de energía en computadoras que están apagadas pero aún enchufadas a una toma de corriente. [6] El consumo de energía se convierte en un factor a considerar en dispositivos alimentados por batería, como computadoras portátiles, ya que esto puede agotar la batería incluso cuando el dispositivo está completamente apagado.
El paquete mágico es una trama que generalmente se envía como difusión y que contiene dentro de su carga útil 6 bytes de los 255 (FF FF FF FF FF FF FF en hexadecimal ), seguido de dieciséis repeticiones de la dirección MAC de 48 bits de la computadora de destino, para un total de 102 bytes.
Dado que el paquete mágico solo se escanea en busca de la cadena anterior y no se analiza mediante una pila de protocolos completa, se puede enviar como carga útil de cualquier protocolo de capa de red y transporte, aunque normalmente se envía como un datagrama UDP al puerto 0 (número de puerto reservado), [7] 7 ( Protocolo Echo ) o 9 ( Protocolo Discard ), [8] o directamente a través de Ethernet usando EtherType 0x0842. [9] Un protocolo de capa de transporte orientado a la conexión como TCP es menos adecuado para esta tarea, ya que requiere establecer una conexión activa antes de enviar datos del usuario.
Un paquete mágico estándar tiene las siguientes limitaciones básicas:
La implementación de Wake-on-LAN está diseñada para ser simple y para que los circuitos presentes en el controlador de interfaz de red la procesen rápidamente utilizando una cantidad mínima de energía. Debido a que Wake-on-LAN opera por debajo de la capa de protocolo IP, las direcciones IP y los nombres DNS no tienen importancia, por lo que se requiere la dirección MAC.
Una limitación principal de la transmisión estándar Wake-on-LAN es que los paquetes de transmisión generalmente no se enrutan. Esto impide que la técnica se use en redes más grandes o en Internet. Se pueden usar transmisiones dirigidas a subredes (SDB) [10] [11] para superar esta limitación. Las SDB pueden requerir cambios en la configuración del enrutador intermedio. Las SDB se tratan como paquetes de red de unidifusión hasta que son procesadas por el enrutador final (local). Luego, este enrutador transmite el paquete utilizando una transmisión de capa 2. Esta técnica permite que se inicie una transmisión en una red remota, pero requiere que todos los enrutadores intermedios reenvíen la SDB. [12] [13] Al preparar una red para reenviar paquetes SDB, se debe tener cuidado de filtrar los paquetes de modo que solo se permitan los paquetes SDB deseados (por ejemplo, WoL); de lo contrario, la red puede convertirse en un participante en ataques DDoS como el ataque Smurf . [14]
Wake-on-LAN puede ser una tecnología difícil de implementar porque requiere BIOS/ UEFI , hardware de interfaz de red y, a veces, compatibilidad con el sistema operativo y el enrutador adecuados para funcionar de manera confiable. En algunos casos, el hardware puede reactivarse desde un estado de bajo consumo de energía, pero no desde otros. Esto significa que, debido a problemas de hardware, la computadora puede reactivarse desde su estado de apagado suave (S5), pero no desde el modo de suspensión o hibernación, o viceversa.
A partir de Windows Vista, el sistema operativo registra todas las fuentes de activación en el registro de eventos del sistema . El Visor de eventos y el powercfg.exe /lastwake
comando pueden recuperarlas. [15]
Los paquetes mágicos se envían a través del enlace de datos o la capa OSI-2 , que puede ser utilizada o abusada por cualquier persona en la misma LAN, a menos que el equipo LAN L2 sea capaz y esté configurado para filtrar dicho tráfico para que coincida con los requisitos de seguridad de todo el sitio.
Se pueden utilizar firewalls para evitar que los clientes de la WAN pública accedan a las direcciones de difusión de los segmentos LAN internos, o se pueden configurar los enrutadores para ignorar las difusiones dirigidas a la subred.
Algunas NIC admiten una función de seguridad denominada "SecureOn". Permite a los usuarios almacenar dentro de la NIC una contraseña hexadecimal de 6 bytes. Los clientes añaden esta contraseña al paquete mágico. La NIC activa el sistema solo si la dirección MAC y la contraseña son correctas. [16] Esta medida de seguridad reduce significativamente el riesgo de ataques de fuerza bruta exitosos , al aumentar el espacio de búsqueda en 48 bits (6 bytes), hasta 296 combinaciones si la dirección MAC es completamente desconocida. Sin embargo, cualquier espionaje de la red expondrá la contraseña en texto simple.
El abuso de la función Wake-on-LAN sólo permite encender los equipos; no evita por sí mismo la contraseña y otras formas de seguridad, y no puede apagar el equipo una vez encendido. Sin embargo, muchos equipos cliente intentan arrancar desde un servidor PXE cuando se encienden mediante WoL. Por lo tanto, a veces se puede utilizar una combinación de servidores DHCP y PXE en la red para iniciar un equipo con la imagen de arranque de un atacante, evitando cualquier seguridad del sistema operativo instalado y otorgando acceso a discos locales desprotegidos a través de la red.
El uso de la tecnología Wake-on-LAN en redes empresariales a veces puede entrar en conflicto con soluciones de control de acceso a la red, como la autenticación basada en MAC 802.1X , que puede impedir la entrega de paquetes mágicos si el hardware WoL de una máquina no ha sido diseñado para mantener una sesión de autenticación activa mientras está en estado de suspensión. [17]
Algunas PC incluyen tecnología incorporada en el chipset para mejorar la seguridad de Wake-on-LAN. Por ejemplo, Intel AMT (un componente de la tecnología Intel vPro ). AMT utiliza cifrado TLS para proteger un túnel de comunicación fuera de banda hacia una PC basada en AMT para comandos de administración remota como Wake-on-LAN. [18]
AMT protege el túnel de comunicación con cifrado AES ( Advanced Encryption Standard ) de 128 bits y claves RSA con longitudes de módulo de 2048 bits. [19] [20] Debido a que la comunicación cifrada está fuera de banda, el hardware y el firmware de la PC reciben el paquete mágico antes de que el tráfico de red llegue a la pila de software para el sistema operativo (OS). Dado que la comunicación cifrada ocurre por debajo del nivel del SO, es menos vulnerable a ataques de virus, gusanos y otras amenazas que normalmente se dirigen al nivel del SO. [18]
Las tiendas de TI que utilizan Wake-on-LAN a través de la implementación de Intel AMT pueden activar una PC AMT en entornos de red que requieren seguridad basada en TLS, como IEEE 802.1X , Cisco Self Defending Network (SDN) y entornos de Microsoft Network Access Protection (NAP). [18] La implementación de Intel también funciona para redes inalámbricas . [18]
La compatibilidad con Wake-on-LAN se implementa en la placa base de una computadora y en el controlador de interfaz de red . Por lo tanto, no depende del sistema operativo que se esté ejecutando en la computadora. Para que Wake-on-LAN funcione, a veces es necesario habilitar esta función en la tarjeta de interfaz de red o en el silicio integrado. Los detalles sobre cómo hacerlo dependen del sistema operativo y del controlador del dispositivo.
Wake-on-LAN generalmente debe habilitarse en la sección Administración de energía de la utilidad de configuración BIOS/UEFI de la placa base de una PC, aunque en algunos sistemas, como las computadoras Apple, está habilitada de manera predeterminada. En sistemas más antiguos, la configuración BIOS/UEFI puede denominarse WoL; en sistemas más nuevos que admiten la versión 2.2 de PCI, puede denominarse PME (Eventos de administración de energía, que incluyen WoL). También puede ser necesario configurar la computadora para reservar energía en espera para la tarjeta de red cuando se apaga el sistema.
En el caso de las placas base más antiguas, si la interfaz de red es una tarjeta enchufable en lugar de estar integrada en la placa base, puede haber un cabezal integrado conectado a la tarjeta de red mediante un cable especial de tres pines. Los sistemas que admiten el estándar PCI 2.2 y con una tarjeta adaptadora de red compatible con PCI 2.2 no suelen requerir un cable, ya que la alimentación de reserva necesaria se transmite a través del bus PCI. [21] La fuente de alimentación debe cumplir con las especificaciones ATX 2.01.
Las computadoras portátiles que funcionan con tecnología de procesador Intel Centrino o más nuevas [22] (con soporte explícito de BIOS/UEFI) permiten activar la máquina mediante Wake on Wireless LAN (WoWLAN).
En la mayoría de las PC modernas, ACPI recibe una notificación de la activación y asume el control del encendido. En ACPI, OSPM debe registrar la fuente de activación o el dispositivo que está provocando el encendido (el dispositivo puede ser el interruptor de encendido suave , la NIC (a través de Wake-on-LAN), la apertura de la cubierta, un cambio de temperatura, etc. [15]
La interfaz WoL de tres pines en la placa base consta de: pin 1, +5 V CC (rojo); pin 2, tierra (negro); pin 3, señal de activación (verde o amarillo). [23] Al suministrar la señal de activación del pin 3 con +5 V CC, la computadora se activará para encenderse siempre que WoL esté habilitado en la configuración BIOS/UEFI.
El software que envía un paquete mágico WoL se conoce en diferentes círculos como cliente o servidor , lo que puede ser una fuente de confusión. Si bien se podría decir que el hardware o firmware WoL desempeña el papel de un servidor , las interfaces basadas en la Web que actúan como una puerta de enlace a través de la cual los usuarios pueden enviar paquetes WoL sin descargar un cliente local a menudo se conocen como "el servidor Wake On LAN" para los usuarios. Además, el software que administra las capacidades WoL desde el lado del sistema operativo host puede denominarse descuidadamente cliente en ocasiones; las máquinas que ejecutan WoL generalmente tienden a ser computadoras de escritorio de usuario final y, como tales, son clientes en la jerga de TI.
El software para enviar paquetes mágicos WoL está disponible para todas las plataformas modernas, incluyendo Windows, Macintosh y Linux, además de muchos teléfonos inteligentes . Algunos ejemplos incluyen: Wake On LAN GUI, LAN Helper, Magic Packet Utility, NetWaker para Windows, Nirsoft WakeMeOnLAN, WakeOnLANx, EMCO WOL, Aquila Tech Wake on LAN, ManageEngine WOL utility, FusionFenix y SolarWinds WOL Tool. [24] También hay sitios web que permiten enviar un paquete mágico en línea sin cargo. [ cita requerida ] El código fuente de ejemplo para que un desarrollador agregue Wake-on-LAN a un programa está disponible en muchos lenguajes de computadora . El siguiente ejemplo está en Python :
Toma de importacióndef wol ( luna_mac_address : bytes ) - > None : " ""Envía un paquete mágico Wake-on-LAN a la dirección MAC especificada . " " " s = socket.socket ( socket.AF_INET , socket.SOCK_DGRAM ) s.setsockopt ( socket.SOL_SOCKET , socket.SO_BROADCAST , 1 ) magic = b " \ xff " * 6 + luna_mac_address * 16 s.sendto ( magic , ( " <broadcast> " , 7 ) ) si __name__ == "__main__" : # Pasar a wol la dirección MAC del puerto Ethernet del dispositivo para activar wol ( b " \x00\x15\xB2\xAA\x5B\x00 " )
Si el remitente se encuentra en la misma subred o red de área local que el equipo que se va a reactivar, generalmente no hay problemas. Cuando se envía por Internet, y en particular cuando se utiliza una traducción de direcciones de red (NAT) (como suele ocurrir en la mayoría de los hogares), a menudo se necesitan configuraciones especiales.
Además, el protocolo WoL opera en un nivel más profundo en la arquitectura de red multicapa. Para garantizar que el paquete mágico llegue desde el origen al destino mientras el destino está inactivo, el enlace ARP (también conocido como enlace IP y MAC) normalmente debe configurarse en un enrutador NAT. Esto permite que el enrutador reenvíe el paquete mágico al adaptador MAC del equipo inactivo en una capa de red por debajo del uso típico de IP. En el enrutador NAT, el enlace ARP requiere solo un número de IP dedicado y la dirección MAC del equipo de destino. Existen algunas implicaciones de seguridad asociadas con el enlace ARP (consulte Suplantación de ARP ); sin embargo, siempre que ninguno de los equipos conectados a la LAN se vea comprometido, un atacante debe usar un equipo que esté conectado directamente a la LAN de destino (enchufado a la LAN a través de un cable o rompiendo la seguridad de la conexión Wi-Fi para obtener acceso a la LAN).
La mayoría de los enrutadores domésticos pueden enviar paquetes mágicos a la LAN; por ejemplo, los enrutadores con el firmware DD-WRT , Tomato o PfSense tienen un cliente Wake-on-LAN integrado. OpenWrt admite implementaciones de Linux para WoL etherwake y WoLs.
La mayoría de los hardware WoL suelen estar bloqueados de forma predeterminada y deben habilitarse mediante el BIOS/UEFI del sistema. En algunos casos, se requiere una configuración adicional desde el SO, por ejemplo, a través de las propiedades de la tarjeta de red del Administrador de dispositivos en los sistemas operativos Windows.
Las versiones más nuevas de Microsoft Windows integran la funcionalidad WoL en el Administrador de dispositivos. Esta función está disponible en la pestaña Administración de energía de las propiedades del controlador de cada dispositivo de red. Para obtener compatibilidad total con las capacidades WoL de un dispositivo (como la capacidad de reactivarse desde un estado de apagado ACPI S5), puede ser necesaria la instalación del paquete completo de controladores del fabricante del dispositivo de red, en lugar del controlador básico proporcionado por Microsoft o el fabricante de la computadora. En la mayoría de los casos [ cita requerida ] también se requiere una configuración correcta de BIOS/UEFI para que WoL funcione.
La capacidad de reactivarse desde un estado de apagado híbrido (S4) (también conocido como Inicio rápido) o un estado de apagado suave (S5) no es compatible con Windows 8 y versiones posteriores, [25] [26] y Windows Server 2012 y versiones posteriores. [27] Esto se debe a un cambio en el comportamiento del sistema operativo que hace que los adaptadores de red no estén explícitamente preparados para WoL cuando se produce el apagado en estos estados. Se admite WOL desde un estado de hibernación no híbrido (S4) (es decir, cuando un usuario solicita explícitamente la hibernación) o un estado de suspensión (S3). Sin embargo, algunos equipos habilitarán WoL desde estados que no son compatibles con Windows. [25] [26]
El hardware Mac moderno admite la funcionalidad WoL cuando la computadora está en estado de suspensión, pero no es posible reactivar una computadora Mac desde un estado apagado.
Mac OS X Snow Leopard y versiones posteriores admiten WoL, que se denomina Activación a pedido. En las computadoras portátiles, la función se controla a través del panel Batería de Configuración del sistema de macOS, en la ventana emergente Opciones. El elemento Activación para acceso a la red se puede configurar en "Siempre", "Solo en adaptador de corriente" o "Nunca"; "Siempre" habilita la activación en LAN incluso cuando se alimenta por batería, pero "Solo en adaptador de corriente" la habilita solo cuando está conectada a una fuente de alimentación. En las computadoras de escritorio, la función se controla a través del panel Ahorro de energía de Configuración del sistema. Marcar la casilla de verificación Activación para acceso a la red habilita la activación en LAN. [28] También se puede configurar a través de la terminal usando el comando pmset womp (wake on magic packet).
El sistema de gestión de clientes Apple Remote Desktop de Apple se puede utilizar para enviar paquetes Wake-on-LAN, [29] pero también hay aplicaciones macOS freeware y shareware disponibles. Un mecanismo llamado Bonjour Sleep Proxy , proporcionado por los puntos de acceso Apple AirPort y los Apple TV, permite que otras máquinas en una LAN hagan que se envíe un paquete WoL a un host cuando esa máquina accede a uno de los recursos compartidos del host.
La compatibilidad con Wake-on-LAN se puede modificar mediante una subfunción del comando ethtool , por ejemplo:
herramienta-etnica -s eth0 wol g
En los primeros días de Wake-on-LAN, la situación era relativamente simple: una máquina estaba conectada a la energía pero apagada, y se disponía que se enviara un paquete especial para encender la máquina.
Desde entonces, se han añadido muchas opciones y se han acordado estándares. Una máquina puede estar en siete estados de energía , desde S0 (completamente encendida) hasta S5 (apagada pero enchufada) y desconectada de la alimentación (G3, apagado mecánico), con nombres como "suspensión", "espera" e "hibernación". En algunos modos de energía reducida, el estado del sistema se almacena en la RAM y la máquina puede reactivarse muy rápidamente; en otros, el estado se guarda en el disco y se apaga la placa base, lo que demora al menos varios segundos en reactivarse. La máquina puede reactivarse desde un estado de energía reducida mediante una variedad de señales.
El BIOS/UEFI de la máquina debe estar configurado para permitir Wake-on-LAN. Para permitir la reactivación desde el estado S5 apagado, también se requiere la reactivación en PME (Evento de administración de energía). El adaptador Intel permite "Wake on Directed Packet", "Wake on Magic Packet", "Wake on Magic Packet desde el estado apagado" y "Wake on Link". [30] Wake on Directed Packet es particularmente útil ya que la máquina saldrá automáticamente del modo de espera o hibernación cuando se hace referencia a él, sin que el usuario o la aplicación necesiten enviar explícitamente un paquete mágico. Desafortunadamente, en muchas redes, la reactivación en un paquete dirigido (cualquier paquete con la dirección MAC o la dirección IP del adaptador) o en un enlace es probable que provoque la reactivación inmediatamente después de pasar a un estado de bajo consumo. Los detalles de cada placa base y adaptador de red en particular se pueden encontrar en los manuales correspondientes; no existe un método general. También puede ser necesario conocer las señales en la red para evitar reactivaciones espurias.
En el caso de una máquina que normalmente no está bajo vigilancia, es necesario tomar precauciones para que la función Wake-on-LAN sea lo más fiable posible. Para que una máquina que se adquiera funcione de esta manera, la función Wake-on-LAN es una parte importante del procedimiento de compra.
Algunas máquinas no admiten Wake-on-LAN después de desconectarlas de la alimentación (por ejemplo, cuando se restablece la alimentación después de un corte de energía). El uso de un sistema de alimentación ininterrumpida (UPS) brindará protección contra un período corto sin alimentación, aunque la batería se descargará durante un corte de energía prolongado.
Si una máquina que no está diseñada para soportar Wake-on-LAN se deja apagada después de un corte de energía, es posible configurar el BIOS/UEFI para que se inicie automáticamente al restablecerse la energía, de modo que nunca quede en un estado sin respuesta. Una configuración típica del BIOS/UEFI es la función de recuperación de CA , que puede estar activada , desactivada o memoria . Activada es la configuración correcta en este caso; memoria , que restaura la máquina al estado en el que se encontraba cuando se perdió la energía, puede dejar una máquina que estaba hibernando en un estado que no se puede reactivar.
Otros problemas que pueden afectar la capacidad de iniciar o controlar la máquina de forma remota son: falla de hardware de la máquina o de la red, falla de la batería de configuración BIOS/UEFI (la máquina se detendrá cuando se inicie antes de que se realice la conexión de red, mostrando un mensaje de error y requiriendo que se presione una tecla), pérdida de control de la máquina debido a problemas de software (bloqueo de la máquina, finalización del software de control remoto o de red, etc.) e infección de virus o corrupción del disco duro. Por lo tanto, el uso de una máquina confiable de clase servidor con unidades RAID , fuentes de alimentación redundantes, etc., ayudará a maximizar la disponibilidad. Además, un dispositivo que pueda apagar y encender la máquina, controlado quizás por una señal remota, puede forzar un reinicio que solucionará los problemas debidos al mal funcionamiento del software.
En el caso de una máquina que no se utiliza de forma constante, se puede conservar energía si se pone la máquina en modo de espera de RAM de bajo consumo después de un breve período de espera. Si un retraso de conexión de uno o dos minutos es aceptable, la máquina puede entrar en modo de hibernación, apagarse y guardar su estado en el disco.
El emisor de la señal de activación (paquete mágico) no tiene por qué estar en la misma red de área local (LAN) que la computadora que se activa. Se puede enviar desde cualquier lugar mediante:
Cómo funciona, panel de preferencias de Ahorro de energía
... De forma predeterminada, los paquetes de reactivación tradicionales se transmiten mediante el puerto UDP 9...