Envía un paquete de espertar xusto despois de apagar e o PC volve; a mesma orde á mañá seguinte non fai nada. Nada da configuración da VPN cambiou, e o redireccionamento de porto segue apuntando ao enderezo correcto. A diferenza é o tempo: a táboa de veciños do router esqueceu a máquina durmida, así que non ten enderezo MAC que pór na trama. Esa caducidade, e non o túnel, explica a maioría dos fallos de Wake-on-LAN sobre unha VPN.

O primeiro espertar funciona e o seguinte non

Un router reenvía unha trama a un enderezo privado consultando o destino na súa táboa de veciños. Mentres a máquina está acesa responde a ARP, así que a asignación mantense fresca. Cando se apaga, nada responde, a entrada caduca aos poucos minutos e as tramas posteriores para ese enderezo descártanse aínda que o IP e o redireccionamento de porto sigan sendo válidos.

O patrón diche que fallo tes. Un espertar que nunca funciona apunta á entrega: porto equivocado, destino equivocado ou un devasamento que descarta o paquete antes de que chegue á LAN. Un espertar que funciona unha vez e despois falla durante horas apunta á entrada de veciño. Un espertar que funciona ata que cambia a concesión DHCP apunta ao direccionamento, que unha reserva corrixe.

Confirma que o enderezo é estable antes de tocar ARP. Se a máquina durmida toma un enderezo novo ao expirar a concesión, unha entrada de veciño fixada para o enderezo antigo será permanente e inútil ao mesmo tempo. Configura primeiro unha reserva DHCP para que o enderezo sobreviva aos reinicios.

Que necesita o paquete máxico da rede

A carga útil é simple: 102 bytes formados por seis bytes 0xFF seguidos do enderezo MAC de destino dezaseis veces, normalmente enviados ao porto UDP 9. Nunha LAN plana sae como difusión, todos os portos a reciben e a tarxeta de rede apagada recoñece o seu propio enderezo.

A través dunha VPN o paquete chega ao router como unidifusión a un enderezo privado ou como difusión dirixida á subrede. No caso de unidifusión o router debe resolver o destino nun enderezo MAC antes de poder pór a trama na LAN, e esa resolución é exactamente o que falla mentres o host dorme.

Algunhas ferramentas envían ao porto 7 en lugar do 9, e algúns aparellos bloquean a difusión dirixida por defecto. Son fallos de entrega, non de ARP, así que revisa o destino e o porto antes de cambiar a táboa de veciños.

Tres rutas cara a un host durmido

Tes tres formas prácticas de levar a trama á LAN, e a elección correcta depende do 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

Escolle o host auxiliar cando exista, porque difunde na ligazón e non necesita ningunha excepción no router. Escolle a difusión dirixida cando o router xa a permita e a ferramenta de espertar acepte un enderezo. Escolle a entrada estática cando ningunha das dúas estea dispoñible e poidas executar unha orde no router.

Non son excluíntes entre si. Unha entrada permanente tamén fai que a ruta de unidifusión sobreviva ao repouso, o que resulta útil cando o cliente VPN só pode enviar a un enderezo concreto.

Fai permanente a entrada de veciño

Nun router con shell de Linux, unha soa orde fixa a asignación. Os valores de aquí pertencen a unha LAN de exemplo e deben substituírse polos teus:

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

O estado nud permanent mantén a entrada durante os tempos de espera de ARP e úsaa para reenviar mentres a máquina está apagada. A segunda orde demostra que a entrada existe e mostra a interface á que pertence, algo que importa en routers cunha ponte de convidados ou unha VLAN aparte.

Fai que sobreviva a un reinicio co mecanismo que ofreza o firmware: un script en /jffs/scripts en Asuswrt-Merlin, unha unidade oneshot de systemd nun servidor Linux que actúe como pasarela, unha Neighbor= stanza en systemd-networkd, ou unha entrada en /etc/ethers que lea a ferramenta local. Unha orde escrita nun shell desaparece no seguinte reinicio, e esa é a razón máis habitual pola que unha corrección que funcionaba parece deixar de funcionar.

Proba desde fóra e sabe cando quitala

Pon a máquina a durmir e espera polo menos dez minutos, tempo suficiente para que caduque calquera entrada dinámica. Despois envía a petición de espertar desde o cliente VPN e observa os dous lados do router:

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

A primeira captura demostra que o paquete chegou desde o túnel; a segunda demostra que o router puxo unha trama na LAN. Un paquete máxico válido aparece como 102 bytes coa MAC repetida, así que comproba a lonxitude ademais do destino. Se a trama sae da ponte LAN e a máquina segue apagada, o problema restante está no dispositivo: inicio rápido, suspensión profunda ou un axuste do BIOS que corta a alimentación da tarxeta de rede.

Quita a entrada cando cambie a tarxeta de rede, e actualízaa cando movas a máquina a outro enderezo. Unha asignación permanente é unha excepción deliberada, e unha excepción que ninguén recorda é como un futuro portátil acaba recibindo tramas destinadas a un sobremesa retirado.

Artigos relacionados