Effettuare un Wake on Lan da remoto non è esattamente semplicissimo. Se inviamo un magic packet verso il router di casa nostra ad esempio, quest'ultimo lo bloccherà senza nessuna esitazione. Una prima soluzione sarebbe quella di effettuare un port forwarding per reindirizzare il pacchetto verso la rete interna e quindi farlo arrivare a destinazione. Però se abbiamo più computer da accendere questo ci obbliga a cambiare porta per ogni pacchetto.
Se invece inviamo disponiamo di una VPN il problema è un altro. La richiesta generalmente non viene instradata nel tunnel e non arriva a destinazione.
Un'ottima soluzione nel mio caso, avendo a disposizione un NAS QNAP, è far inviare le richieste a questo dispositivo, che si trova nella stesse rete delle macchine che dovranno essere accese.
L'idea è questa: tramite SSH collegarsi al NAS e fargli inviare i magic packet. Per semplificare l'operazione andremo a creare un semplicissimo script che ci eviterà di inserire MAC ADDRESS ogni volta.
Nativamente il QNAP non possiede la capacità di inviare magic packet. Questo piccolo inconveniente è semplicemente risolvibile installando il pacchetto Optware IPKG. Questo ci permette di installare altri software disponibili nei repository.
Da SSH diamo quindi il comando:
ipkg install wakelan
Questo comando installerà il piccolo applicativo responsabile dell'invio delle richieste wol. A questo punto ci basterà dare il comando:
wakelan -m MAC-ADDRESS -b BROADCAST-ADDRESS
Dove MAC-ADDRESS corrisponde al MAC ADDRESS (nel formato AA:BB:CC:DD:EE:FF) della macchina da avviare e BROADCAST-ADDRESS corrisponde all'indirizzo di broadcast della rete ( ad esempio se utilizziamo la classe 192.168.10.0, l'indirizzo di broadcast sarà 192.168.10.255 ).
Ora creiamo uno script per semplificare la procedura, diamo il comando:
nano wol-NOMEPC.sh
All'interno di questo file piazziamo il comando wakeonlan digitato in precedenza. Salviamo e usciamo. Per eseguire il comando ora basterà scrivere.
sh wol-NOMEPC.sh
Tutto qua! 🙂