Wake on LAN/WAN
Hoy en día hay mucha gente que tiene en casa un ordenador conectado a Internet casi siempre encendido y al que se puede acceder desde cualquier lugar, normalmente por SSH y por VNC. En muchos casos, es bastante normal que además de ese ordenador siempre encendido se tenga algún otro que sólo se enciende cuando se está en casa.
Pero hay veces que, estando lejos, nos puede interesar encender ese otro ordenador de forma remota porque necesitamos un fichero que tenemos en él o necesitamos hacer algo en él. El problema viene porque WoL, como su nombre indica es en LAN, y esto quiere decir en red local. Lo que voy a explicar es como conectar el ordenador para poderlo enchufar desde cualquier sitio, lo que en idioma mundano es Wake on WAN.
La tarjeta de red permite quedarse dormida mientras el PC esta apagado completamente. Un software envía una señal a ese PC y la tarjeta de red, que esta conectada a la placa base, enciende el PC. Para apagarlo simplemente ingresáis por SSH y hacéis un poweroff desde la consola.
Actualmente todas las placas y tarjetas de red van preparadas para quedarse en stand-by. También las fuentes de alimentación, por lo que a no ser que el ordenador en cuestión tenga unos 15 años, no habrá problema ninguno.
Lo primero que tenemos que hacer es configurar la bios para permitir dejar la tarjeta de red en espera. En la bios, buscaremos mensajes del estilo de “Power-on by External Modems”, “Power On by PCI Devices” o el “Power On by PCI Cards”. Además posiblemente veréis una opción “Wake on Lan” que tendréis que poner a Enabled.
Una vez hecho esto ya no tenemos que volver a tocar nada a tan bajo nivel. Todo lo que queda son un par de configuraciones básicas.
El paso de ahora es bastante sencillo. Primero, tenemos que asegurarnos que la targeta de red tiene la opción de Wake on Lan activada.
Antes de nada nos hace falta tener instalados un par de paquetes:
# uprmi ethtool wakeonlan
Para saber si la tarjeta tiene el modo Wake-on activado, tendremos que hacer:
# ethtool eth0

En la imagen vemos como la opción Wake-on esta en modo “d”, que quiere decir disabled, por lo que tendremos que activarla:
# ethtool -s eth0 wol g
Con esto ya tendríamos activada la tarjeta y podríamos arrancar el ordenador remotamente. Antes de deciros cómo hacerlo, quiero comentaros un problema muy común.
Como comentaba antes, el problema más común es que al iniciar el ordenador, la tarjeta de red vuelve a poner Wake-on a su estado natural, que suele ser disabled. Para evitar esto, vamos a colocar la sentencia anterior en forma de script para que lo ejecute en el runlevel 0, osea, cuando el ordenador se apaga, de forma que nos aseguramos de que funcione. Nos colocamos en la carpeta /etc/init.d/ y hacemos:
# nano wol
Script:
#!/bin/bash
ethtool -s eth0 wol g
Este fichero lo guardamos con Ctrl+Alt+x y creamos un enlace simbólico dentro de /etc/rc0.d/:
ln -sf /etc/init.d/wol /etc/rc0.d/S00wol
Esto genera un enlace simbólico al archivo ”wol”. El enlace lo he llamado S00wol por varias cosas. S indica al sistema que se trata de un script de arranque, el 00 es el orden. Me fijé en que existía 00killall, por lo que yo quería que mi script se ejecutase a continuación de este. Por eso 00 y a continuación el nombre: wol.
Otro problema es el de no acordarse de abrir los puertos pertinentes, en este caso el puerto 9. Y otro es no redireccionar el puerto 9 de nuestra IP externa al puerto 9 de nuestra IP interna. Siempre deben hacerse estos pasos.
Para arrancar el ordenador de forma remota, sólo tenemos que ejecutar la siguiente orden:
# wakeonlan XX:XX:XX:XX:XX:XX
Las XX:XX:XX:XX:XX:XX se trata de la MAC de nuestra tarjeta de red, que podemos saber haciendo ifconfig eth0, en el caso de que nuestra tarjeta esté configurada como eth0.
Con esto conseguimos arrancar en red local, (LAN) pero, ¿y si queremos hacerlo desde internet?
La solución es sencilla; nos descargamos de aquí una aplicación Windows (en tener tiempo creo un script en PHP para esta web) que ejecutándola con Wine nos aparece esto:

Como antes, las XX-XX-XX-XX-XX-XX es la dirección MAC de la tarjeta de red (antes se separaba con dos puntos (:) ahora con un guión (-)). Lo siguiente es nuestra IP externa, que podemos consultar haciendo la búsqueda pertinente en Google. Lo tercero es la máscara de subred, que pondremos a 255.255.255.255 siempre. Por último el puerto 9 y pulsamos “Wake me up”.
Categoria: Acceso remoto |
Comments
4 Comentarios hechos

Saludos interesante material hace una semana me intereso el tema, pero por falta de tiempo no investigue; gracias por tuto, otra cosa no se ve la última imagen de tu tutorial.
Me alegro de que te sirva, la verdad es que en la red no he visto ninguno para Linux que esté planteado en plan How-to. Gracias por el aviso, ya esta corregido.
Un saludo.
Concuerdo que el material es a prueba de todo y todos :D, muy bueno, solo quiero agregar una nota ecológica:Sr. usuario, sino va a necesitar este tipo de características, sería tremendamente útil que no solo apagará su PC desde el menú de su escritorio favorito o vía poweroff, también dese el tiempo de apagarlo desde el switch power/off que está en la parte posterior de su PC, normalmente cerca del ventilador de la fuente de poder, esto se lo agradecerá su billetera o la del dueño de casa a fin de mes y obviamente nuestro planeta.Salu2.
Tienes toda la razón, aunque también deberíamos desconectar al 100% la televisión, el vídeo, DVD, equipo de música y demás aparatos electrónicos que se quedan en modo stand-by, y que soncumen hasta un 400% más en este modo que el ordenador en el mismo modo.
De todas formas es correcto lo que dices, aquellos que no usen este tipo de propiedades deberían apagar el sistema al 100%.
Un granito cada uno hace una montaña entre todos.