Envía un paquete de activación justo después de apagar y el PC vuelve; el mismo comando a la mañana siguiente no hace nada. Nada de la configuración de la VPN ha cambiado, y la redirección de puerto sigue apuntando a la dirección correcta. La diferencia es el tiempo: la tabla de vecinos del router ha olvidado la máquina dormida, así que no tiene dirección MAC que poner en la trama. Esa caducidad, y no el túnel, explica la mayoría de los fallos de Wake-on-LAN sobre una VPN.

La primera activación funciona y la siguiente no

Un router reenvía una trama a una dirección privada consultando el destino en su tabla de vecinos. Mientras la máquina está encendida responde a ARP, así que la asignación se mantiene fresca. Cuando se apaga, nada responde, la entrada caduca a los pocos minutos y las tramas posteriores para esa dirección se descartan aunque la IP y la redirección de puerto sigan siendo válidas.

El patrón te dice qué fallo tienes. Una activación que nunca funciona apunta a la entrega: puerto equivocado, destino equivocado o un cortafuegos que descarta el paquete antes de que llegue a la LAN. Una activación que funciona una vez y luego falla durante horas apunta a la entrada de vecino. Una activación que funciona hasta que cambia la concesión DHCP apunta al direccionamiento, que una reserva corrige.

Confirma que la dirección es estable antes de tocar ARP. Si la máquina dormida toma una dirección nueva al expirar la concesión, una entrada de vecino fijada para la dirección antigua será permanente e inútil al mismo tiempo. Configura primero una reserva DHCP para que la dirección sobreviva a los reinicios.

Qué necesita el paquete mágico de la red

La carga útil es simple: 102 bytes formados por seis bytes 0xFF seguidos de la dirección MAC de destino dieciséis veces, normalmente enviados al puerto UDP 9. En una LAN plana sale como difusión, todos los puertos la reciben y la tarjeta de red apagada reconoce su propia dirección.

A través de una VPN el paquete llega al router como unidifusión a una dirección privada o como difusión dirigida a la subred. En el caso de unidifusión el router debe resolver el destino a una dirección MAC antes de poder poner la trama en la LAN, y esa resolución es exactamente lo que falla mientras el host duerme.

Algunas herramientas envían al puerto 7 en lugar del 9, y algunos dispositivos bloquean la difusión dirigida por defecto. Son fallos de entrega, no de ARP, así que revisa el destino y el puerto antes de cambiar la tabla de vecinos.

Tres rutas hacia un host dormido

Tienes tres formas prácticas de llevar la trama a la LAN, y la elección correcta depende de lo que controles.

MethodWhat it needsWhere it breaks
Subnet-directed broadcastA wake tool that accepts a broadcast address and a router that forwards itBroadcast filtering, or a tool that only takes a MAC
Helper on the LANAn always-on host such as the VPN serverNo suitable host, or the host cannot reach the target VLAN
Permanent neighbour entryRouter shell access and the target MACNIC replacement or address change

Elige el host auxiliar cuando exista, porque difunde en el enlace y no necesita ninguna excepción en el router. Elige la difusión dirigida cuando el router ya la permita y la herramienta de activación acepte una dirección. Elige la entrada estática cuando ninguna de las dos esté disponible y puedas ejecutar un comando en el router.

No son excluyentes entre sí. Una entrada permanente también hace que la ruta de unidifusión sobreviva al reposo, lo que resulta útil cuando el cliente VPN solo puede enviar a una dirección concreta.

Hacer permanente la entrada de vecino

En un router con shell de Linux, un solo comando fija la asignación. Los valores de aquí pertenecen a una LAN de ejemplo y deben sustituirse por los tuyos:

ip neigh replace 192.168.50.23 lladdr 3c:7c:3f:12:9a:4e dev br0 nud permanent
ip neigh show dev br0 | grep 192.168.50.23

El nud permanent estado mantiene la entrada durante los tiempos de espera de ARP y la usa para reenviar mientras la máquina está apagada. El segundo comando demuestra que la entrada existe y muestra la interfaz a la que pertenece, algo que importa en routers con un puente de invitados o una VLAN aparte.

Hazla sobrevivir a un reinicio con el mecanismo que ofrezca el firmware: un script en /jffs/scripts en Asuswrt-Merlin, una unidad oneshot de systemd en un servidor Linux que actúe como puerta de enlace, una Neighbor= stanza en systemd-networkd, o una entrada en /etc/ethers que lea el utillaje local. Un comando escrito en una shell desaparece en el siguiente reinicio, y esa es la razón más común por la que un arreglo que funcionaba parece dejar de funcionar.

Probar desde fuera y saber cuándo quitarla

Pon la máquina a dormir y espera al menos diez minutos, tiempo suficiente para que caduque cualquier entrada dinámica. Luego envía la solicitud de activación desde el cliente VPN y observa ambos lados del router:

tcpdump -ni tun0 udp port 9
tcpdump -ni br0 ether proto 0x0806 or udp port 9

La primera captura demuestra que el paquete llegó desde el túnel; la segunda demuestra que el router puso una trama en la LAN. Un paquete mágico válido aparece como 102 bytes con la MAC repetida, así que comprueba la longitud además del destino. Si la trama sale del puente LAN y la máquina sigue apagada, el problema restante está en el dispositivo: inicio rápido, suspensión profunda o un ajuste del BIOS que corta la alimentación de la tarjeta de red.

Quita la entrada cuando cambie la tarjeta de red y actualízala cuando muevas la máquina a otra dirección. Una asignación permanente es una excepción deliberada, y una excepción que nadie recuerda es como un futuro portátil acaba recibiendo tramas destinadas a un sobremesa retirado.

Artículos relacionados