domingo, 2 de diciembre de 2007

Wake on Lan - encendido remoto

Encender ordenadores remotamente a través de la red gracias a Wake On LAN (WOL)
Aprovechando que los ordenadores actuales no están totalmente apagados sino en reposo es decir con alimentación constantemente mientras lo tenemos apagado, con lo cual podemos encenderlos remotamente.

Wake On LAN (WOL) es un estándar de redes que permite encender un equipo de forma remota, mediante el envío de un paquete mágico (Magic Packet), es un paquete especial que recibe la tarjeta de red.

Las utilidades que se le pueden dar son muy variadas, desde encender un servidor web/ftp, acceder a los archivos que guardas en tu ordenador, o en el ordenador del trabajo y hasta por pura vagancia para no tener que levantarse e ir a la habitación de al lado.

Requisitos necesarios.

-Disponer de una fuente de alimentación ATX, actualmente todos los equipos incorporan fuentes ATX, pero todavía nos podemos encontrar con algunos equipos antiguos que usan fuentes AT, las cuales son incompatibles con Wake On LAN (WOL). Las antiguas fuentes AT se activan mediante un interruptor que proviene de la misma fuente a través de un cable, mientras que las ATX la enciende y la apaga la placa base. Esto hace imposible un encendido por software con fuente AT ya que cuando apagamos el ordenador no existe corriente alguna en la placa base.

Como distinguir entre un conector AT y otro ATX

- Disponer de una placa base con soporte wake on lan (wol), y activarla la opción correspondiente en la BIOS.

- Tener una tarjeta de red con soporte wake on lan (wol), la tarjeta de red debe tener un cable de tres pines que es necesario conectar a la placa base


A si es como quedaría la tarjeta de red
en la placa base vista desde arriba.


Activar en la BIOS el soporte para Wake On LAN.
Dependiendo de la BIOS que utilice tu ordenador se habilitara con una opción u otra diferente.




Instalación de los programas necesarios.
Como siempre hacemos uso de synaptic para instalar dicho paquete, y hemos de instalarlo en los dos ordenadores (el que esta encendido y en el que en su momento se encontrara "apagado")

ethtool
etherwake
wakeonlan

Encender el ordenador que esta "apagado" en realidad esta en "reposo"
usamos los siguientes comandos para encender el ordenador que esta "apagado"

En primer lugar usaremos el comando ethtool, con este programa podremos ver y modificar las características y configuración de la tarjeta de red. Lo usamos en el ordenador que queremos "encender remotamente", este comando nos informa si nuestra tarjeta de red tiene soporte Wake On LAN (WOL)

ethtool eth0

Como vemos, esta tarjeta soporta Wake On LAN (WOL), eso nos dice la linea siguiente:
Supports Wake-on: pumbg

También nos dice que esta desactivado, en la siguiente linea:
Wake-on:d

d= disable
(desactivado)

Para activarlo solo tenemos que ejecutar el siguiente comando:

ethtool -s eth0 wol g

Y ahora vemos como la función se ha activado (Wake-on:g)


Script de activación de Wake-on: g
Por algún motivo cuando reiniciamos el ordenador, la mayoría de las tarjetas de red en linux no dejan la tarjeta en modo WOL, con lo que la opción se vuelve a desactivar durante el siguiente reinicio. Para evitar esto incluimos un script en /etc/init.d para que active el modo WOL.

Por ejemplo:
/etc/init.d/wol


con el siguiente contenido
#!/bin/bash
ethtool -s eth0 wol g


Le damos permiso de ejecución y creamos un enlace que se ha de ejecutar durante el apagado, en el runlevel0. (proceso de apagado)


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

En el caso de que nuestro ordenador no deje activa la tarjeta de red en modo wake-on: g
Le damos permiso de ejecución y creamos un enlace pero esta vez, durante el proceso de encendido, en el runlevel2. (proceso de encendido)

ln -sf /etc/init.d/wol /etc/rc2.d/s99wol

Si por algún motivo tampoco se activa la tarjeta de red en modo wake-on: g
Podemos introducir la siguiente linea: up ethtool -s eth0 wol g
en el archivo /etc/network/interfaces
justo debajo de la linea que configura nuestra tarjeta de red:
iface eth0 inet dhcp


En el ordenador que esta encendido
En este ordenador, el que tiene que enviar el paquete mágico (Magic Packet), instalamos con synaptic el o los programa que envíe el paquete para encenderlo.

Podemos usar uno de estos dos paquetes:

etherwake
wakeonlan

pero hemos de diferenciar entre uno y otro, etherwake necesitas de privilegios de root, y wakeonlan cualquier usuario puede hacer uso de el.

el método es bien sencillo

# etherwake -i "interfaz para el envio" "MAC address del ordenador remoto"

Ejemplo ficticio:
# etherwake -i eth1 11:22:33:44:55:66

Si no especificamos "la interfaz para el envío" con la opción -i, el paquete mágico (Magic Packet) sera enviado a través de la interfaz por defecto establecida por el programa eth0.
Ejemplos ficticio:
# etherwake 11:22:33:44:55:66

o bien usando este otro programa:

$ wakeonlan "MAC address del ordenador remoto"

Ejemplos ficticio:
$ wakeonlan 11:22:33:44:55:66

===================================
Observación: Si la tarjeta de red viene integrada en la placa base recordad que no hace falta conectar ningún tipo de cable adicional, lo único necesario en este caso en configurar la BIOS
===================================


Vídeotutorial
































========================================================================
Mas videotutoriales














.

9 comentarios:

juan plablo dijo...

me parece. exelente tu foro......y me impacto muxo lo q acabas de publicar o sabia q se podia hacer.....muy bueno.....pero para mi pc hp compaq nx6125(notebook) con debian etch 4.0 servira?
ojala me respondas.....
de antemano gracias

SALUDOS::

Usuario_Debian dijo...

Hola juan pablo.

Para saber que que tu notebook tienes soporte Wake On LAN (WOL), lo mejor es hacer uso del comando ethtool seguido del nombre del dispositivo de red que éstes utilizando.

ejemplo real:

ethtool eth0

Como vemos, esta tarjeta soporta Wake On LAN (WOL), eso nos dice la linea siguiente:

Supports Wake-on: pumbg

También nos dice que esta desactivado, en la siguiente linea:

Wake-on:d

si tu tarjeta tiene soporte para WOL entonces solo tienes que seguir los pasos de este manual.

Espero haberte podido ayudar.

-------------------------------
Me alegro muchísimo que te haya gustado mi bloc.

Saludos

equipo dijo...

q psa cuando me sale

Supports Wake-on: g


SALUDOS::

Usuario_Debian dijo...

Hola equipo.

Con respecto a tu duda:
"q psa cuando me sale
Supports Wake-on: g"

Pues en teoría y solo en teoría (pues a mi no se me ha dado el caso) es exactamente igual a esto:

Supports Wake-on: pumbg

Pero supongo que la solución nos la puedes dar tu (ya que se te da el caso), sigue el manual y comenta aqui si es exactamente como me imagino o por el contrario estoy equivocado.

Muchas gracias por tu comentario y comparte conmigo y con los lectores tu experiencia.

Saludos.

panxos dijo...

hola que talme parecio estupendo la forma en que lo explicastes ahora bien segui todos tus paso, pero al pagar la maquina no me funciona del todo solo despues del primer inico de hay en adelante, par que vuleva a funcionar necesito desconectar el cable de poder esperar q se apague la tarjeta de red (sis9000) lo vuelvo a enchufar y puedo prenderlo en red, si no no sube, aue puedo estar haciendo mal?

Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pg
Wake-on: d
Current message level: 0x000000c5 (197)
Link detected: yes
al esconectarlo nuevamente se desconecta

Wake-on: d
que puedo hacer es como q el scritp no lo tomara encuenta..aver si me puedes ayudar porfis-.
desde ya muchas gracias...

Usuario_Debian dijo...

El problema reside en el enlance que apunta al runlevel0 (pues se supone que durante el proceso de apagado, este dejara la tarjeta en función activa, Wake-on:g)

Este es el enlace del NO funcionamiento en algunos ordenadores (Esto NO pasa en todos los ordenadores solo en algunos.):

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


La solución es bien sencilla es apuntar el enlace al runlevel2 (proceso de arranque de Debian) con lo cual dejamos la tarjeta activada para el siguiente apagado del ordenador:

Este es el enlace:

ln -sf /etc/init.d/wol /etc/rc2.d/s99wol


Espero haberte solucionado el problema.

Saludos.

P.D.: Acabo de rectificar el manual para que no le pase a nadie mas.

panxos dijo...

hola gracias por la respuesta no se que estare haciendo mal pero sigue sin funcionar quizas en algo este equivocado ya no se que pensar.

hice lo que me comentastes pero tampoco funciono hay otra manera?
perdona que joda tanto pero me urge bastante esto... ;S desde ya muchas gracias

panxos dijo...

muchas gracias por todo amigo mira lo solucione asi al final para q lo pongas en el blog si crees q es un aporte

EN EL archivo /etc/network/interfaces

se agrega
iface eth0 inet dhcp
up ethtool -s eth0 wol g

y listo asi de facil ahora funciona a la perfeccion.
de verdad muchas gracias

eso es lo q me gusta de linux muxas formas para lo mismo y siempre alguna funciona.

Usuario_Debian dijo...

Hola panxos.

Me alegro muchísimo que al final hayas conseguido hacerlo funcionar.

Como veras ya he añadido tu apunte en el manual.

muchas gracias por tu aportación.

Saludos