PDA

View Full Version : Wake on lan su vpn


roberto21
12-09-2026, 10:56
Ho un problema, credo dovuto alla mancanza di info di base.
Ho finora usato la tecnica wake on Wan per attivare pc in una lan remota. La tecnica è la solita: nella LAN c'è un device sempre attivo, mando il pacchetto ad esso, un agent lo intercetta e lo ritrasmette, svegliando il pc che mi interessa. Il marchingegno funziona egregiamente: ovviamente, devo aprire una porta sul router, una porta sul device dove l'agent è in ascolto, e tutto funziona.
Ora ho implementato una vpn tramite netbird (che funziona). Mi sembra di aver capito che Wol non funziona col tunnel vpn, ma si deve usare lo stesso meccanismo, cioè passare da un device sempre attivo. La cosa è consigliata, visto che così si evita di aprire porte sul router. Il problema è che non funziona: mandando il pacchetto via vpn al device attivo e sullla stessa porta dell'agent, non succede niente. Per il device attivo, ho provato sia l'indirizzo originario (192.168.1.x) che quello usato da Netbird (169.127.x.x), ma non cambia niente. Siccome l'altro metodo via porta esterna sul router continua a funzionare, evidentemente c'è qualche cosa di basilare nella configurazione che mi sfugge.
Qualche idea? Grazie in anticipo

OUTATIME
13-09-2026, 10:40
Il WOL per funzionare senza problemi deve essere indirizzato in broadcast verso tutta la rete di destinazione, perchè a device spento, lo/gli switch di rete non possono sapere dov'è collegato il dispositivo. Per intenderci, i pacchetti di broadcast sono quei pacchetti che fanno lampeggiare tutte le porte dello switch simultaneamente.
Tutti gli altri sistemi, tipo ARP table funzionano si e no, il problema è che per motivi di sicurezza i NAT di broadcast sono bloccati sui router più recenti e di conseguenza anche nei protocolli VPN.
Ora, personalmente non ho capito cosa intendi con il device che "intercetta" il pacchetto, ma da quello che posso intuire il tuo problema è dato dal NAT della VPN, se invece con il collegamento diretto sulla porta funziona.
Come soluzione io uso un Raspberry con interfaccia web semplicissima, un pulsante "WOL" che fa partire uno script che invia il pacchetto. In questo modo, ovunque abbia accesso all'interfaccia web posso accendere da remoto il dispositivo.

roberto21
13-09-2026, 12:05
Il meccanismo che uso è abbastanza standard, almeno credo. Nel pc windows sempre acceso nella LAN remota gira un agent in ascolto su una porta. Da remoto, invio il pacchetto all'indirizzo esterno della LAN, cioè del router, specificando la porta esterna che è mappata su quella interna. L'agent riconosce il pacchetto (che ovviamente contiene il MAC del pc da svegliare), e ritrasmette il tutto sulla LAN. Semplice, logico e funziona (personalmente, mi ritengo un dilettante sull'argomento). Software e agent sono di Aquila Technology.
Da dilettante, pensavo che con una vpn il mio pc remoto entrasse a far parte della LAN, quindi bastasse un regolare pacchetto WOL per svegliare un pc. Mi sembra di aver capito che invece il pacchetto non può transitare nel tunnel (livello 2 vs. livello 3): ma allora come si fa? Evidentemente non posso neanche inviarlo al pc sempre attivo, che pure risponde regolarmente al ping. Wireshark mi conferma che sulla porta del device attivo non arriva nulla, a conferma del fatto che il pacchetto probabilmente viene ignorato nel tunnel.
Non so se sono stato chiaro, ripeto che sono un dilettante. D'accordo, posso sempre svegliare i pc tramite router etc, ma mi piacerebbbe sapere come fare via vpn...
GRazie della pazienza e dell'attenzione

teo180
13-09-2026, 17:40
A sto punto si fa prima a mettere una presa intelligente e abilitare la funzione always on al ricevimento del alimentazione

roberto21
13-09-2026, 18:38
Non lo metto in dubbio, ma i pc da svegliare sono quattro e la soluzione non risponde alla mia domanda. Vabbè, se non si può non si può.

wrad3n
13-09-2026, 21:06
D'accordo, posso sempre svegliare i pc tramite router etc, ma mi piacerebbbe sapere come fare via vpn...

Se puoi farlo è il modo migliore: ti connetti al router via VPN e dal router (o altro dispositivo) avvii i dispositivi tramite wol.

OUTATIME
14-09-2026, 09:23
Non so se sono stato chiaro, ripeto che sono un dilettante. D'accordo, posso sempre svegliare i pc tramite router etc, ma mi piacerebbbe sapere come fare via vpn...
GRazie della pazienza e dell'attenzione
Se ho ben capito tu vorresti spostare l'invio del pacchetto dal PC sempre acceso ad un client installato in remoto. Per fare ciò, dovresti trovare un router che permetta l'inoltro in broadcast di pacchetti provenienti dalla VPN, personalmente non ne conosco, anche perchè va contro tutte le logiche di sicurezza dei router, ma non escludo che esistano.
Perdonami se insisto. E' molto più semplice ed economico un Raspberry che consuma 5 watt che una qualsiasi presa intelligente o router dedicato.
Anche perchè, magari sbaglio, ma il router usa la tabella ARP e non l'invio in broadcast.

roberto21
14-09-2026, 09:58
Credo di essere l'unico sulla faccia della terra a non aver chiari l'utilità o l'uso del raspberry. D'altronde sono davvero un dilettante. Comunque, nella LAN remota c'è sempre un pc windows attivo, che ospita fra l'altro il server sql del nostro piccolo database, per cui, a prescindere dal consumo, un raspberry sarebbe un di più (o mi sbaglio?). Is sostanza, sto usando quel pc che riceve la richiesta e genera il pacchetto WOL al'interno della LAN, mediante l'agent. Come dicevo, questo mi obbliga ad aprire una porta esterna sul router.
Altro metodo è connette WOLrsi al pc tramite rustdesk o similari. Una volta connessi, si lavora su quel pc e WOL funziona senza problemi.
Ultima tecnica, simile alla precedente: mi connetto al pc (che è in vpn netbird) con rdp e da lì WOL ovviamente funziona.

Il mio dubbio è: evidentemente il pacchetto che parte dal mio pc per essere intercettato dall'agent non è il pacchetto WOL (che è 106 bytes, mentre wireshark registra 172 bytes). Poi l'agent (credo) estrae le info (MAC) e genera il pacchetto WOL. Ma allora come mai se invio quel pacchetto non al router ma direttamente al pc via vpn wireshark non registra niente in arrivo su quella porta? Come se il pacchetto venisse cancellato o ignorato...


Scusate la domanda ingenua. Grazie dell'interesse.

wrad3n
14-09-2026, 09:59
Per fare ciò, dovresti trovare un router che permetta l'inoltro in broadcast di pacchetti provenienti dalla VPN, personalmente non ne conosco, anche perchè va contro tutte le logiche di sicurezza dei router, ma non escludo che esistano.

Probabilmente può farlo con una vpn layer 2 come L2TP o simile che utilizzi l'interfaccia TAP, però credo sia tutta roba obsoleta.
Conviene fare i due passaggi, rete remota -> vpn -> rete locale e dalla rete locale usare il router o un altro dispositivo per inviare i magic packets.
Il router sarebbe il candidato ideale, c'è ed è comunque acceso, openwrt può farlo (luci-app-wol), tra i modelli consumer anche gli asus hanno un menù apposito per il wol, con la possibilità di scegliere da una lista i mac dei dispositivi ed il tasto wake up per risvegliarli.

OUTATIME
14-09-2026, 15:51
Probabilmente può farlo con una vpn layer 2 come L2TP o simile che utilizzi l'interfaccia TAP, però credo sia tutta roba obsoleta.
Conviene fare i due passaggi, rete remota -> vpn -> rete locale e dalla rete locale usare il router o un altro dispositivo per inviare i magic packets.
Il router sarebbe il candidato ideale, c'è ed è comunque acceso, openwrt può farlo (luci-app-wol), tra i modelli consumer anche gli asus hanno un menù apposito per il wol, con la possibilità di scegliere da una lista i mac dei dispositivi ed il tasto wake up per risvegliarli.
Il problema è sempre il solito: i pacchetti di broadcast. Sono già anni che i router per implementazioni di sicurezza non supportano più pacchetti di broadcast, e ad esempio Asus è proprio uno di quelli che sono praticamente sicuro usare la ARP table. Prova? Togli corrente al router e se alla riaccensione SENZA avere avviato almeno una volta il PC, non si riaccende, ecco un dispositivo che usa la ARP table. Per carità, funzionicchia, ma le cose che vanno a metà, personalmente non mi piacciono.

OUTATIME
14-09-2026, 16:04
Credo di essere l'unico sulla faccia della terra a non aver chiari l'utilità o l'uso del raspberry.
E' semplicemente un PC, a basso consumo, su cui gira una derivata Debian.

Comunque, nella LAN remota c'è sempre un pc windows attivo, che ospita fra l'altro il server sql del nostro piccolo database, per cui, a prescindere dal consumo, un raspberry sarebbe un di più (o mi sbaglio?).
Beh si, se il PC è comunque sempre acceso, usa quello.

Il mio dubbio è: evidentemente il pacchetto che parte dal mio pc per essere intercettato dall'agent non è il pacchetto WOL (che è 106 bytes, mentre wireshark registra 172 bytes). Poi l'agent (credo) estrae le info (MAC) e genera il pacchetto WOL. Ma allora come mai se invio quel pacchetto non al router ma direttamente al pc via vpn wireshark non registra niente in arrivo su quella porta? Come se il pacchetto venisse cancellato o ignorato...

Ho un po' troppo pochi elementi per darti una risposta. Innanzitutto non ho capito dal tuo PC che software usi per generare questo "pacchetto" e che software c'è sul PC che genera i magic packet, l'unica cosa certa è che il PC sempre acceso intercetta questo pacchetto e genera un magic packet e lo invia in broadcast (perché un PC lo può fare).
Ma a prescindere da questo, il tuo problema è un altro:
Con un NAT diretto qualsiasi richiesta arrivi al router su una determinata porta viene indirizzata verso l'IP del PC sempre acceso, e questo per forza funziona: è il lavoro di un router. La VPN è tutta un'altra storia, perché la tua LAN da quello che ho capito è 192.168.1.x, mentre la VPN è 169.127.x.x. Bene. Ma chi detiene il routing della subnet 169.127.x.x? In altre parole, il server VPN chi è? Il router? Se la risposta è si, tu dal PC esterno non puoi puntare direttamente all'IP del PC sempre acceso, perché avrà un IP 192.168.1.x, mentre dalla VPN tu arrivi tramite un 169.127.x.x, quindi devi creare una regola di forwarding tra la LAN della VPN e la LAN 192 per consentire il routing dei pacchetti.

OUTATIME
14-09-2026, 16:21
Per farti un esempio concreto, questa è la configurazione del mio router: LAN 192.168.1.X e VPN server con Wireguard su 192.168.2.X

https://i.ibb.co/4RbYW2W9/UCG.jpg

Bene, ora se io mi collego in VPN al mio router, mi assegna un IP 192.168.2.X e diventa obbligatoriamente il mio default gateway (passaggio obbligatorio, verifica di averlo implementato). A questo punto, se io in VPN digito qualsiasi richiesta indirizzata a 192.168.1.X, la richiesta arriva al mio router che sa a chi indirizzare la richiesta. Ma per fare questo è necessario che il server VPN diventi anche il default gateway della VPN.
Ma aggiungo, se io in VPN provo ad inviare un magic packet verso l'IP di broadcast 192.168.1.255, il router per motivi di sicurezza, droppa la richiesta. Quello che faccio in VPN è collegarmi al Raspberry che ha IP 192.168.1.10 e da lì lanciare il magic packet.

Pierzucchi
16-09-2026, 11:23
Se puoi farlo è il modo migliore: ti connetti al router via VPN e dal router (o altro dispositivo) avvii i dispositivi tramite wol.

Confermo. Faccio così anche io. L'unica maniera certa è inviarlo quando si è posizionati in rete locale.
Se hai un Alexa c'è la skill Wake on LAN