Wake on Lan en Windows y Linux

Wenas friki seguidores, hoy voy a explicaros que es el wake on lan o wol. Se trata de una manera de encender remotamente un equipo, normalmente en Lan aunque veremos que existen trucos para hacerlo a distancia desde internet pero en este tutorial nos vamos a centrar mas en hacerlo en lan, para mas informacion http://es.wikipedia.org/wiki/Wake_on_LAN

Wake on Lan tiene que estar soportado por la placa base y por la tarjeta de red, pero si teneis un ordenador con menos de 8 años seguro que viene en todos, antiguamente se usaba un cablecito de con un conector de 3 pines para conectar la tarjeta de red a la placa base como este..


Si es vuestro caso pues a mirar el manual de la placa y mirar a ver a donde va enchufado, pero esto es muy raro yo nunca lo he visto, seguramente la mayoria de vosotros tengais tarjeta de red integrada en la placa y no hay que conectar nada o sino si es pci tampoco hace falta las actuales.

Una cosa importante, si usais wifi olvidaros del wake on lan, esto solo funciona con conexiones cableadas.

Bien, vamos a empezar a configurar el ordenador que queremos apagar y despertar en lan, la configuracion tiene dos partes, configuracion de la bios y configuracion de la tarjeta en el sistema operativo.

CONFIGURACION DE LA BIOS


Primero necesitamos configurar la bios para permitir el wake on lan y en la bios vamos a tocar dos cosas.

1º En el apartado power buscamos modo suspension o algo asi y ponemos S3(STR) o S3 sin mas.

2º En power tambien en algo llamado APM o como lo llame cada bios hay que marcar la opcion de power on ring o lan o como se llame, en cada bios esta de una manera, pero lo encontrareis en facilmente porque suele poner unas cuantas opciones de power on by keyboard, by mouse by ring, by lan(mac) etc.

Yo lo he hecho en 3 equipos y voy a pegar pantallazos de las 3 bios distintas para que se vea mejor como aparece en las bios ya que en mis 3 bios aparece de forma distinta.

Esta es una AMIBIOS de una placa asrock amd k7 lo llama pci devices power on. Las opciones en rojo son las 2 importantes que hay que tener para que funcione.



Continuamos, ahora una placa asus a8n32-sli deluxe que usa una bios PHOENIX

Ahora dentro de APM CONFIGURATION

Y por ultimo una placa gigabyte p35-ds3r tiene una bios AWARD



CONFIGURACION DE LA TARJETA DE RED


Bien, eso en cuanto a la bios, luego tenemos que configurar la tarjeta de red en el sistema operativo que utilizeis porque resulta que con wake on lan al apagar el ordenador desde el sistema operativo no lo apaga del todo (recordad lo del S3 que habeis marcado en las bios) lo deja medio suspendido hibernado, algo que os parecera apagado de hecho yo no veo ninguna diferencia con estar apagado ya que puedes quitarle la corriente se la pones y sigue podiendose despertar.

Voy a exponer como hay que configurar la tarjeta de red tanto en windows como en linux.

Configuracion de la tarjeta de red en Windows:


Mis sitios de red, Conexiones de Red y ahi tenemos nuestra tarjeta de red,

Boton derecho, propiedades
Damos al boton configurar y nos tiene que salir algo asi si os saliera algo mucho mas simple podeis probar a actualizar la bios de la tarjeta, a mi me paso que los drivers que me instalaba solo windows eran de 2003 y no venia todo esto, me baje unos de la pagina de realtek de 2008 y va bien.


Teneis que buscar opciones avanzadas y aqui cada tarjeta lo llama de una manera por eso os voy a pegar capturas de los 3 pcs como lo llama cada una. En este caso es Activar utilizando modo APM, la activais aceptais y listo

En esta otra lo llama capacidades de reactivacion y debeis tener ambas, paquete magico y coincidencia modelo.


En esta ya lo llama directamente wake on lan y hay que poner comparar patron y paquete magico.


Una ultima cosa, en administracion de energia desmarcad todo

Y ya estaria la configuracion del equipo que va a ser despertado en windows, ahora voy a explicar como seria en linux y luego paso a explicar que hay que hacer para despertar al equipo remotamente.


Configuracion de la tarjeta de red en linux

Bien voy a centrarme en linux basado en debian, ya que no he tratado con distros red hat

Primero necesitamos bajarnos un programa para configurar la nic.

apt-get install ethtool
Luego ejecutaremos

ethtool eth0
suponiendo que eth0 sea nuestra interface de red, podemos ver cual es con ifconfig

Si pone Supports Wake-on: pumbg (significa que la tarjeta soporta wake on lan)
Tambien pondra Wake-on:d (que significa que esta disabled)

Para ponerlo activo

ethtool -s eth0 wol g

luego si ejecutamos de nuevo "ethtool eth0" veremos que en wake-on:g pone una g

Con eso bastaria para configurar linux ell tema es que al reiniciar se pierde, tenemos que hacer un script en /etc/init.d que lo relance.

nano /etc/init.d/wol

Ahi dentro vamos a pegar

#!/bin/bash
ethtool -s eth0 wol g

le damos permisos

chmod 777 /etc/init.d/wol

y lo agregamos un enlace simbolico a la rutina de apagado tambien

ln -sf /etc/init.d/wol /etc/rc0.d/S00wol

Ya tenemos configurado nuestro linux para soportar el wake on lan.


LANZANDO EL WAKE ON LAN


Bien suponemos que tenemos el equipo apagado y configurado como acabamos de explicar y estamos desde otro equipo encendido en la misma red local, que necesitamos para "despertar" al otro equipo? (no vale levantarse y apretar el boton xD)

Necesitamos saber la mac de la tarjeta de red que queremos despertar, y necesitamos un programa que mande el paquete. La mac la podemos consultar en windows escribiendo en inicio ejecutar cmd ipconfig /all y en linux con ifconfig
Desde Windows
El programa he usado este mismo pero hay muchos si usais google encontrareis alguno seguramente mejor, a mi este me a funcionado pero es el primero que encontre, es libre y lo podeis bajar de aqui


EL protocolo por el que se envia es udp y el puerto en algunos casos es 9 y en otros 7 podeis probar. La mascara si poneis 255.255.255.255 acertais fijo pero bueno se puede poner si la ip es tipo 192.168.1.x pues poneis 192.168.1.255 aunque con 255.255.255.255 funciona fijo pero es por ser mas fino xD.


Desde linux

Existen dos programas etherwake y wakeonlan ambos descargables desde repositorios con

apt-get install etherwake
apt-get install wakeonlan

Una vez instalado su ejecucion es bien simple.

con etherwake

etherwake -i eth0 11:22:33:44:55:66

con wakeonlan

wakeonlan 11:22:33:44:55:66

donde 11:22:33:44:55:66 es la mac de la tarjeta de red del ordenador que queremos despertar.


WAKE ON LAN DESDE INTERNET

Bueno existe la posibilidad de despertar un ordenador sin estar en la red local sino desde fuera aunque es usar trucos y sentido comun, voy a exponer los que se me ocurren.

Usar dns dinamico cargado en el propio router y abrir el puerto 7 udp en el router para la ip del equipo que queremos despertar, luego desde internet lanzar el paquete contra dnsdinamico.dynalias.net puerto 7 udp desde fuera. para mas informacion sobre dns dinamico consultar este articulo

Entrar por vpn al entrar por vpn estariamos dentro de la lan aunque estemos desde internet a miles de km, la forma facil es con hamachi aunque necesitariamos un equipo online en la lan pa conectar y la normal es por tunneling de windows y la chunga es por ipsec pero esto ya es a nivel empresarial, lo bueno seria entrar por vpn directamente al router y asi no hace falta equipos encendidos.

Acceder al router desde internet por dns dinamico y lanzar el paquete magico desde el router
Esta para mi es la mejor manera pero no todos los routers lo aguantan, yo lo tengo con el wrt54gs y el firmware dd-wrt y consiste en configurar el router con una cuenta de dns dinamico, luego dejar entrar a la configuracion del router desde internet por https usando algun puerto seguro 8080 o el que querais, desde internet pondriais https://vuestradireccion.dnsdinamico:8080 y entraria a la configuracion del router, luego el router tiene que soportar wake on lan y lanzar los paquetes el mismo en la configuracion. Para verlo mas claro pongo una captura



Y eso es todo lo que tengo que decir sobre wake on lan si hay alguna duda comentad. Saludos

4 comentarios:

Sanae Hanekoma dijo...

Yo tengo una IP fija, como hago entonces para poder usar el WOL desde internet?

Roger Castedo dijo...

Hola paseando un poco llegue aca muy post te felicito
nunca probe wol pero estoy en esas
el tema va asi...
tengo un proveedor de internet que me da una ip algo con pppoe mediante un ap edimax 7209
abajo tengo un dlink.
tengo acceso al router y al ap para el mapeo
tengo una placa de red integrada en un intel dg41rq
y quiero encender la pc desde otra maq dentro de la red 10 (del otro lado del ap alguien tiene alguna idea de como hacerlo?
me encantaria que me manden un mail a rcastedo@hotmail.com

GRACIAS

nuevamente te felicito por el post esta exelente sirve de mucho

EXE of the Endless dijo...

Hola, este artículo es muy interesante.
Me gustaría comentar una cosa cuanto menos curiosa, que me ha sucedido al hacerlo en mi red:
lanzando el comando

etherwake -i wlan1

ha funcionado perfectamente,
pero con

wakeonlan

no sucede nada.
Por lo menos una me sirve así que es la que utilizo, de todos modos si sabes por qué ocurre esto, tengo cierta curiosidad.
Gracias y felicidades por el post.

Anónimo dijo...

Muy bueno, por fin un articulo sobre WOL que sirve!