Ti è mai capitato di essere fuori casa o in un’altra stanza e aver bisogno di accedere a un file sul tuo PC fisso, scoprendo però che è spento? La soluzione è il Wake-on-LAN (WoL).
In questo articolo vedremo come creare uno script PowerShell su Linux per inviare il “Magic Packet” necessario, con un occhio di riguardo alla configurazione sui popolari router ZTE (spesso forniti da operatori come Open Fiber o WindTre).
Perché usare PowerShell su Linux?
PowerShell Core è ormai uno strumento cross-platform potentissimo. Usarlo su Linux per il WoL è vantaggioso perché permette di sfruttare le librerie .NET per gestire i socket di rete in modo granulare, rendendo lo script molto più robusto rispetto ai classici script bash.
Lo Script: WakeOnLan.ps1
Il cuore della soluzione è un piccolo script che impacchetta l’indirizzo MAC del PC di destinazione in un formato che la scheda di rete può riconoscere anche a computer spento.
powershell
# Esempio di utilizzo:
# ./WakeOnLan.ps1 -MacAddress "AA:BB:CC:DD:EE:FF"
Usa il codice con cautela.
(Puoi trovare il codice completo nel mio repository GitHub!)
Il tassello mancante: Configurare il router ZTE
Molti utenti falliscono nel configurare il WoL perché il router “dimentica” dove si trova il PC una volta spento. I router ZTE hanno una gestione specifica:
- IP Statico (DHCP Binding): Entra nel pannello di controllo ZTE (solitamente
192.168.1.1). Vai in Local Network > LAN > DHCP Binding. Associa l’indirizzo IP del tuo PC al suo indirizzo MAC. Questo è fondamentale affinché il router sappia sempre a quale porta fisica inviare il pacchetto. - ARP Table: Su alcuni modelli ZTE avanzati, è necessario assicurarsi che la tabella ARP rimanga statica, per evitare che il pacchetto broadcast venga scartato dopo pochi minuti di inattività.
Requisiti lato PC
Prima di lanciare lo script, assicurati che:
- Nel BIOS/UEFI la voce “Wake on LAN” o “Power On By PCI-E” sia impostata su Enabled.
- Nelle impostazioni della scheda di rete (su Windows o Linux) il risparmio energetico non disabiliti la ricezione di pacchetti magici.
Come eseguire lo script su Linux
Una volta installato PowerShell (pwsh), basta scaricare lo script, dargli i permessi di esecuzione e lanciarlo:
bash
chmod +x WakeOnLan.ps1
./WakeOnLan.ps1 -MacAddress "IL_TUO_MAC_ADDRESS"
Usa il codice con cautela.
Conclusioni
Con poche righe di codice e la giusta configurazione sul router ZTE, hai creato uno strumento potente per gestire i tuoi dispositivi da remoto. È un primo passo perfetto per chi vuole iniziare a masticare automazione e networking in ambiente Linux.
Link Utili:
- Il mio repository GitHub con lo script completo
- Documentazione ufficiale Microsoft PowerShell su Linux
Ti sembra un buon taglio per il tuo blog o preferisci una spiegazione più tecnica e dettagliata sui byte del Magic Packet?