Wake On LAN: prender un equipo de forma remota

Wake On LAN: ¿Qué es y para qué sirve?

Muchas veces es necesario acceder a una máquina remota por algún
motivo aunque puede que la necesidad sea eventual y no se justifique el
gasto de tenerla encendida todo el tiempo. Para estas oportunidades, la
técnica de Wake On LAN (WOL) es ideal. Básicamente, nos permite encender
un equipo utilizando como único medio la red local.

WOL tiene dos prerrequisitos fáciles de cumplir: requiere que la
computadora a ser encendida soporte WOL y esté conectada a una red
Ethernet. Su forma de funcionamiento es igualmente simple: se envía una
trama especial, llamada paquete mágico (magic packet), que contiene
dentro la dirección MAC de la PC a “despertar” repetida 16 veces. De
esta manera, la PC que está apagada recibe dicha trama, detecta el
paquete mágico y al verificar que la MAC contenida es la propia envía
una señal de encendido. Lógicamente, para que esto funcione es necesario
que la placa de red siga recibiendo energía, con lo cuál existe un
mínimo consumo.

Configurando WOL en la máquina destino.

Para habilitar WOL es necesario hacerlo primero desde el BIOS, desde
la sección Power Management (administración de energía). Allí se
encuentra una opción normalmente referida como Wake On LAN, Wake on MAC
LAN o algo parecido. Lógicamente, hay que habilitar dicha opción. En la
mayoría de los sistemas debería alcanzar con eso, dado que WOL es una
característica independiente del sistema operativo. No obstante, en un
caso (con un motherboard MSI K9N Neo) no me funcionó dicha opción y lo
habilité desde Linux. Por ello explicaré a continuación cómo hacerlo.

testing:~# ethtool eth0
Settings for eth0:
Supported ports: [ MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Link detected: yes

De la salida anterior importan particularmente dos opciones: Supports Wake-on y Wake-on. La primera de ellas, con una g indica que la placa de red soporta efectivamente WOL; la segunda, con una d indica que WOL está desactivado en esa interfaz. Para habilitarlo:

testing:~# ethtool -s eth0 wol g
testing:~# ethtool eth0
Settings for eth0:
Supported ports: [ MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: g
Link detected: yes

Despertando un equipo por LAN.

Para encender un equipo por LAN se necesita enviar el paquete mágico.
Hay varias utilidades que hacen esto. En Linux se puede utilizar wakeonlan y en Mac existe una utilidad free llamada WakeUp. Mikrotik también lo soporta con una utilidad propia, que se verá a continuación.

Utilizando wakeonlan en Linux.

Si el equipo a encender está en la misma red alcanza con el siguiente
comando, indicando sólo la MAC del mismo. En este caso se supone que la
MAC es 08:00:27:e8:02:6b.

leandro@megan:~$ wakeonlan 08:00:27:e8:02:6b
Sending magic packet to 255.255.255.255:9 with 08:00:27:e8:02:6b

Si el equipo está en otra red entonces son necesarios algunos pasos y parámetros adicionales:

  • La utilidad wakeonlan envía el paquete mágico al puerto 9 UDP. Por
    tal motivo, en caso de utilizar NAT es necesario redirigir ese puerto a
    la IP de la máquina destino. De le contrario será necesario sólo
    habilitarlo en el firewall.
  • La máquina que ejecute la utilidad para prender el equipo remoto
    debe ahora apuntar a la IP del router que redirigirá el paquete.

A continuación se muestran los parámetros del comando dado que no es
tema de este post explicar cómo redirigir puertos. Se supone aquí que el
router hace NAT y tiene la IP 10.0.0.1.

leandro@megan:~$ wakeonlan -i 10.0.0.1 08:00:27:e8:02:6b
Sending magic packet to 10.0.0.1:9 with 08:00:27:e8:02:6b

Utilizando la utilidad de Mikrotik.

Con un router Mikrotik, basta con especificar la MAC del sistema
destino y, opcionalmente, la interfaz mediante la cual dicho sistema se
conecta.

[leandro@MikroTik] > tool wol mac=08:00:27:e8:02:6b interface=LAN
Anuncios
Esta entrada fue publicada en Linux Networking. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s