Wake-on-LAN fallisce su una VPN quando il pacchetto magico non raggiunge mai il segmento Ethernet locale del dispositivo in sospensione.
In una rete domestica, un telefono o un laptop connesso tramite WireGuard, OpenVPN, Tailscale o un altro tunnel può raggiungere servizi IP instradati senza unirsi automaticamente al dominio di broadcast della LAN. La diagnosi corretta è quindi dimostrare il percorso locale di risveglio, catturare ciò che il client VPN invia, identificare dove si interrompe la consegna del broadcast e poi scegliere un metodo sicuro di relay locale o assistito dal router invece di aprire una porta UDP non autenticata su internet.
Riconfermare il Percorso Locale di Risveglio Prima di Testare la VPN
Risvegliare il dispositivo target da un altro dispositivo sulla stessa LAN Ethernet o Wi-Fi usando l’esatto indirizzo MAC e lo stato di alimentazione che si prevede di usare da remoto. Testare separatamente sospensione, ibernazione e spegnimento perché il supporto hardware può variare tra questi stati.
Una guida pratica per home-lab descrive Wake-on-LAN come un pacchetto magico broadcast che l’interfaccia spenta riconosce tramite indirizzo MAC. Il successo locale dimostra che firmware, scheda di rete, cavo e stato di ascolto a basso consumo funzionano su quel segmento.
Annotare l’indirizzo MAC del target, VLAN, subnet, stato di sospensione supportato e il ritardo normale di risveglio. Se il risveglio locale è incoerente, correggere prima BIOS, driver, gestione energetica, porta switch o alimentazione in standby perché un relay VPN non può riparare un dispositivo che non ascolta in modo affidabile.
Verificare se il Client VPN Invia alla Destinazione Corretta
Connettersi tramite VPN e controllare l’indirizzo di destinazione, la porta UDP, l’interfaccia e la maschera di subnet dell’app Wake-on-LAN. Molte app usano per default l’indirizzo broadcast dell’interfaccia VPN corrente del dispositivo invece dell’indirizzo broadcast della LAN domestica remota.
Una guida specifica per VPN sottolinea che il pacchetto deve comunque essere indirizzato verso l’indirizzo broadcast della LAN remota e non solo verso l’endpoint del tunnel. Il payload MAC può essere corretto mentre la destinazione IP posiziona il pacchetto sul lato sbagliato del router.
Catturare il traffico sul gateway VPN e verificare se il datagramma UDP arriva. Se non appare mai, correggere il percorso del client VPN o la destinazione dell’app; se arriva come unicast all’IP vecchio del dispositivo in sospensione, continuare controllando ARP e comportamento del relay.
Individuare il Confine di Layer 3 che Blocca il Broadcast
La maggior parte delle VPN instrada pacchetti tra subnet, mentre Wake-on-LAN viene normalmente consegnato come broadcast di Layer 2 sul segmento di destinazione. I router comunemente rifiutano di inoltrare broadcast diretti perché l’inoltro indiscriminato crea rischi di sicurezza e amplificazione.
Una discussione su OPNsense riassume il problema principale: WoL è un broadcast di Layer 2 mentre firewall e tunnel operano a Layer 3. Per questo ping, SMB e accesso alla dashboard possono funzionare tramite VPN anche quando il pacchetto di risveglio fallisce.
Catturare sia sull’interfaccia VPN che su quella LAN domestica. Se il pacchetto entra nel firewall ma non esce sulla LAN, non continuare a cambiare il PC in sospensione; scegliere un relay, una funzione del router o un dispositivo domestico sempre acceso che possa generare localmente il pacchetto.
Testare un Relay Locale Invece di Inoltrare UDP da Internet
Eseguire il comando di risveglio da un dispositivo sempre acceso all’interno della LAN domestica, come il router, un piccolo server, un host Home Assistant o un altro NAS. Attivare quel comando locale tramite la connessione VPN autenticata.
Le guide per l’inoltro broadcast offrono comunemente un relay WoL locale perché il relay può ricevere una richiesta instradata e creare il broadcast LAN richiesto sull’interfaccia corretta.
Se il relay locale risveglia il dispositivo, mantenere la VPN come confine di autenticazione ed esporre solo l’azione del relay agli utenti fidati. Evitare il port-forwarding pubblico su UDP 7 o 9 a meno di comprendere appieno il comportamento broadcast del router e i rischi di abuso.
Controllare lo Stato ARP Quando il Risveglio Unicast Funziona Solo Temporaneamente
Alcuni router possono inviare un pacchetto magico unicast all’ultimo IP del target mentre il MAC rimane nella tabella ARP o dei vicini. Il metodo può funzionare poco dopo lo spegnimento e poi fallire una volta scaduta quella voce.
Questo comportamento spiega perché un test di risveglio remoto può riuscire subito dopo che la macchina va in sospensione ma fallire ore dopo. Il router conosce il MAC di destinazione solo finché la voce del vicino scaduta rimane disponibile; il dispositivo in sospensione non può rispondere a una nuova richiesta ARP.
Usare una voce statica del vicino solo se il router la supporta in modo sicuro e il NAS o PC mantiene un IP riservato stabile. Altrimenti, preferire un broadcast generato da un relay locale in modo che il design non dipenda da una cache che scade.
Verificare il Successo del Risveglio Separatamente dalla Raggiungibilità VPN
Un pacchetto magico normalmente non restituisce un riconoscimento. Dopo averlo inviato, verificare lo stato di alimentazione tramite lo stato del link dello switch, un log del relay locale, la lettura di una presa smart o un tentativo di connessione ritardato a un servizio che si avvia dopo l’accensione.
Il confronto di ZimaSpace tra percorsi VPN e port-forwarding aiuta a separare il percorso di accesso remoto sicuro dal meccanismo broadcast che risveglia la macchina.
La riparazione è completa solo quando lo stesso client VPN può attivare un relay locale, il target si risveglia dallo stato di basso consumo previsto e il servizio atteso diventa raggiungibile dopo un ritardo coerente. Se la macchina si risveglia ma il servizio resta irraggiungibile, risolvere separatamente problemi di rete all’avvio, firewall, DNS o instradamento VPN.
Supporto e consigli
Altro da leggere

How to Reduce Plex Database Contention on a Busy Docker Host
A Plex configuration guide for busy hosts that treats the database as local application state and reduces I/O contention without inventing a shared DB...

How to Prevent Duplicate Plex Scans and Imports
A prevention guide for duplicate Plex scans and imports that removes overlapping triggers instead of disabling library updates entirely.

How to Recover Plex After Its App-Data Volume Fills Up
A recovery ladder for full Plex app-data volumes that protects the database first and avoids deleting unknown files just to make the service start.

