La tecnología Wake On Lan (WoL), es una tecnología que lleva tiempo en nuestros medios y equipos de mesa (siempre y cuando estos sean compatibles). Wake On Lan es un protocolo con el cual será posible encender un equipo de forma remota sin la necesidad de pulsar el botón de encendido. Esto es ideal en situaciones donde no podemos estar físicamente.
- La tarjeta de red debe ser compatible con el protocolo
- La tarjeta madre o board debe ser compatible con el modo «muy bajo consumo» y habilitar la reactivación usando de la red
- Wake on Lan
- WOL
- Remote Wake Up
- Wake on Magic Packet
Para comprender un poco como funciona Wake On Lan, este protocolo hace uso de algo llamado “paquete mágico” el cual está integrado (siendo un paquete de red) por una cadena de 6 bytes de valor 255 en hexadecimal (FF FF FF FF FF FF) la cual a su vez es seguida de 16 repeticiones de la dirección MAC del equipo que será encendido a través de este método. Los puertos usados por Wake On Lan son los puertos 7 y el 9 de UDP.
De modo que en el momento en que la tarjeta de red local detecte el paquete y verifique que las 16 MAC son las propias, se encarga de generar una señal eléctrica a la tarjeta madre para que el equipo encienda de forma correcta.
Ahora vamos a aprender a configurar Wake On Lan en Ubuntu Server.
Configuración de WOL en Ubuntu Server
El primer paso a dar será instalar las ethtool con el siguiente comando. Las ethtool son un conjunto de herramientas que permiten controlar el controlador de red y la configuración de hardware asociado a este.
sudo apt install ethtool -y
Después de esto debemos conocer la configuración de las tarjetas de red con el fin de conocer tanto la dirección IP como la dirección MAC de la tarjeta a usar, para ello ejecutamos el siguiente comando. En este caso el adaptador de red a usar será el “enp0s3”.
ip a
Ahora vamos a ejecutar el siguiente comando. En el campo INTERFACE debemos ingresar el nombre de la tarjeta de red el equipo a encender con Wake On Lan:
sudo ethtool -s INTERFACE wol g
Este comando no genera ninguna información, pero permite configurar y habilitar Wake On Lan en la tarjeta de red.
A continuación vamos a instalar la utilidad “wakeonlan” la cual permite que sea enviado el paquete mágico entre sistemas, recordemos que este paquete es la clave para el funcionamiento de Wake On Lan.
Para su instalación ejecutamos:
sudo apt install wakeonlan -y
Una vez instalado, vamos a enviar el paquete mágico usando la siguiente sintaxis. Aquí el campo MAC hace referencia a la dirección MAC de la interfaz LAN con Wake On Lan habilitado, al ejecutarlo veremos que se ha enviado el paquete mágico a la dirección MAC y el servidor remoto ahora debe estar activo, con esto ya podemos iniciar sesión de forma remota allí.
wakeonlan MAC
Este método funciona, pero solo durante esta sesión, así que cuando reiniciemos el sistema debemos crear todo esto de nuevo. Para evitar esto, vamos a crear un archivo el cual será habilitado con el inicio de Ubuntu Server. Para ello creamos el archivo de la siguiente manera:
sudo nano /etc/systemd/system/wol.serviceAllí ingresamos la siguiente información:
[Unit] Description=Configure Wake On LAN [Service] Type=oneshot ExecStart=/sbin/ethtool -s INTERFACE wol g [Install] WantedBy=basic.target
Guardamos los cambios con las teclas Ctrl + O y salimos del editor con las teclas Ctrl + X.
Ahora ejecutamos los siguientes comandos:
sudo systemctl daemon-reload (carga el demonio) sudo systemctl enable wol.service (habilitamos el servicio)
Finalmente ejecutamos el servicio:
sudo systemctl start wol.service
Con esto, Wake On LAN está disponible para la interfaz LAN seleccionada en Ubuntu Server.