Ok, no hay mucha buena información sobre esto en la red, así que aquí está mi sabiduría:
Cómo funciona Wake-on-LAN
Entonces, el objetivo de WoL es encender su computadora de forma remota utilizando la red. Obviamente si tu computadora fuera realmente apagada, entonces no hay forma de que esto pueda funcionar, por lo que cuando las computadoras modernas están "apagadas", la tarjeta ethernet permanece encendida, en un estado (con suerte) de baja potencia, escuchando paquetes WoL.
Cuando se creó WoL por primera vez, usted podía configurar su tarjeta de red para indicarle al BIOS que encienda su computadora cuando haya actividad en la red. Es decir, cada vez que la tarjeta de red ve un marco de Ethernet (o tal vez un paquete IP; no estoy 100% seguro). Parece razonable, pero en realidad es inútil porque ocasionalmente los paquetes aleatorios que vuelan por la red despertarán su computadora sin ninguna razón. Para solucionar esto, ¡alguien inventó MagicPacket ™! Al configurar su tarjeta en el modo MagicPacket ™, solo activará la computadora cuando vea que los datos que contienen la dirección MAC de su tarjeta de red se repiten 6 veces (hasta donde recuerdo). Ahora, los paquetes aleatorios no despertarán molestamente su computadora. Esta es también la razón por la que necesita poner su dirección MAC en las herramientas de WoL; para que pueda construir el MagicPacket ™.
Es posible que haya notado una pequeña falla con MagicPacket ™: cualquier persona en la red puede ver su dirección MAC, por lo que si está tratando de usar WoL en una red local no confiable (por ejemplo, una universidad), personas molestas podrían seguir activando su computadora. No me cites sobre esto, pero mirando elethtool
página manual parece que alguien ha "inventado" SecureOn ™ para MagicPacket ™. Aparentemente, esto le permite configurar la dirección MAC que escucha su tarjeta, convirtiéndola efectivamente en una contraseña privada.
Cómo llega el paquete a su computadora
Ahora aquí está la parte difícil. Ethernet fue diseñado para enviar datos entre computadoras que están encendidas. Esto no funciona bien con WoL, que quiere enviar paquetes a las computadoras que están apagadas.
El primer obstáculo es que las computadoras no tienen direcciones IP. Por lo tanto, no puede enviar un paquete WoL a una dirección IP (las herramientas que le permiten ingresar su dirección IP realmente solicitan la dirección IP de un enrutador, que está activado). En cambio, los paquetes WoL se transmiten a cada dispositivo ethernet conectado. Usted puede - en buenas routers - asociar manualmente una dirección IP con una dirección MAC, pero la mayoría de los routers no permiten esto, y va a caer los paquetes IP que se envían a los ordenadores fuera.
La transmisión de paquetes funciona, pero hay un problema ...
¿Por qué no es muy bueno?
El problema es que la mayoría de los enrutadores no le permiten reenviar paquetes a una dirección de difusión. Idealmente, lo que desea en su configuración típica de "Estoy en el trabajo y quiero cosas de la computadora de mi casa" WoL es reenviar desde el puerto externo 9 (por ejemplo; ver más abajo) a 255.255.255.255:9. Los enrutadores simplemente no lo harán. En realidad, finalmente descubrí cómo hacerlo para un enrutador ADSL Speedtouch, pero implicaba la edición manual de archivos de configuración.
Probablemente, la única forma real de hacer que esto funcione es instalando un firmware decente de enrutador de terceros, como Tomato o DD-WRT. Estos tienen herramientas WoL integradas en la interfaz web. No es tan bueno ya que no puedes hacer cosas geniales como usar tu teléfono para reactivar automáticamente tu computadora cuando llegas a casa. Pero aún. En realidad no lo he intentado, pero es posible que pueda hacer que esos firmwares se envíen a la transmisión. Quién sabe.
Puerto 7 y Puerto 9
Muchas guías dicen que debe usar el puerto 7 o debe usar el puerto 9, y está pensando "¿por qué?", "¿Cuál?". La respuesta es que no importa. Puedes usar cualquier puerto; 80, 666, no importa. A la tarjeta de red de su computadora no le importa a qué puerto se envía el MagicPacket ™, siempre que la reciba, y tiene la dirección MAC repetida. Y si logra que el reenvío de WoL funcione, puede usar cualquier puerto allí también (y luego colocar el puerto correspondiente en su herramienta WoL).
La razón por la que se recomiendan 7 y 9 es porque fueron los puertos utilizados por un par de servidores completamente inútiles que no han sido utilizados por nadie desde los años 80. Al igual que el puerto 80 es el puerto para la web, el puerto 7 es el puerto para el servidor "echo" que repite todo al remitente, y es una vulnerabilidad de seguridad masiva, y el puerto 9 es el puerto para el servidor "descarte" que simplemente descarta todos los datos que recibe y nunca devuelve nada. Ahora son completamente inútiles, pero supongo que tal vez fueron buenos para las pruebas de red cuando Internet era nuevo (los años 70).
Solución de problemas - ¡Mi computadora no se enciende!
Lo primero que debe verificar es que reciba el MagicPacket ™ cuando su computadora esté encendida . Para eso, descargue wireshark (google it), dígale que escuche el puerto 9 (o 7 o lo que sea), y envíe un paquete WoL. Deberías verlo. Si no lo hace, el problema será relativamente fácil de solucionar, o al menos diagnosticar.
Si recibe el paquete, pero su computadora aún no se enciende, se vuelve un poco más complicado.
Primero, vaya al BIOS / UEFI y asegúrese de que esté habilitada una opción como "Permitir que PCI active la computadora" o similar. También habilite la opción PCIe. En segundo lugar, use Linux ethtool
para habilitar WoL para su tarjeta de red. Algo así como ethtool -s eth0 wol bgm
. En Windows encontrará la opción "Permitir que este dispositivo active la computadora" y quizás haya algunas opciones de MagicPacket ™ en alguna parte. No sé, no estoy usando Windows en este momento.
Ahora, espero que funcione. ¡Pero tal vez solo funcione durante unos minutos (o incluso segundos) después de apagar la computadora! ¡Oh no! Este es un problema con el enrutador. Te recomiendo que obtengas uno diferente. En serio, Tomato-USB es increíble.