Il Wake-on-LAN (WOL) è una funzionalità che permette di accendere (o far uscire da uno stato di sospensione) un PC da remoto. In questa guida vedremo come abilitare tale opzione su una macchina GNU/Linux.
Prerequisiti
Abbiamo bisogno, prima di tutto, di una scheda madre e di una scheda di rete che supportino il WOL. Si tratta praticamente di tutte le schede madri con scheda di rete integrata nonchè la maggior parte delle mainboard moderne. Ove la scheda di rete non sia integrata, avremo bisogno di un cavo (spesso venduto insieme alle schede di rete stesse) che collegi la scheda madre con la scheda di rete.
Iniziamo, il BIOS
Per prima cosa bisogna abilitare il WOL nel BIOS della scheda madre. Le impostazioni da variare possono essere diverse in base al modello di scheda madre, ma sono generalmente raggruppate nel menu "Power Management Setup".
Di seguito trovate uno screen del mio BIOS; nel caso in cui non combaciasse con quello della vostra scheda, dovete far riferimento al suo manuale oppure cercare delle voci con indicazioni equivalenti.
Nel mio caso entrambe le opzioni "WOL(PME#) From Soft-Off" e "MAC Resume from S4/S5" vanno messe su "Enable".
Fatto questo possiamo salvare le modifiche effettuate e fare il boot con GNU/Linux.
Impostiamo la nostra distro GNU/Linux
Tutte le operazioni che seguono sono state effettuate utilizzando un'installazione di Ubuntu 7.10 ma dovrebbero andare bene con la maggior parte delle distro.
Per cominciare dobbiamo installare i pacchetti ethtool e wakeonlan; nel caso della nostra Ubuntu è possibile usare Synaptic oppure il terminale con i comandi:
# sudo apt-get install ethtool
# sudo apt-get install wakeonlan
Il primo pacchetto ci serve solo sulla macchina che vogliamo "svegliare", mentre il secondo è quello che dobbiamo installare sulle macchine "client". Possiamo fare al meno della seconda utility con l'aiuto di una delle svariate utility web-based che si occupano di generare ed inviare il "pacchetto magico" ma, ovviamente, in questo caso abbiamo bisogno di una connessione internet e di un firewall configurato a dovere. Questa seconda opzione si rivelerà fondamentale quando parlaremo del Wake-on-WAN.
A questo punto dobbiamo accertarci che la scheda sia impostata per accettare "magic packets" e per farlo bisogna eseguire:
# sudo ethtool eth0
Otterremo un output di questo tipo:
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg <-- questa riga può variare, l'importante è che compaia una "g"
Wake-on: g <-- indica il tipo di pacchetto che sveglierà il PC. "g" rappresenta il "magic packets"
Current message level: 0x00000033 (51)
Link detected: yes
Fatto questo non ci resta che attivare il WOL sulla nostra scheda con il comando:
# sudo ethtool -s eth0 wol g
In molti casi questo settaggio sarà resettato ad ogni riavvio del PC e per questo dobbiamo aggiungere il comando ethtool -s eth0 wol g al file /etc/rc.local .
La configurazione della macchina "server" è terminata. Ricordiamoci solo di segnare il MAC address e l'indirizzo IP del PC che vogliamo svegliare, entrambi visualizzabili con il comando ifconfig .
Passiamo alla macchina "client"
Uno volta spendo il PC che vogliamo accendere da remoto non dobbiamo fare altro che digitare, sulla macchina "client", il comando:
# wakeonlan MAC Address
Fatto questo vedremo il PC remoto accendersi come per magia.
Wake-on-WAN
L'attivazione del WOW non comporta nessuna modifica alla macchina "server", ma si tratta di configurare il nostro router per il giusto port-forwarding.
Dal punto di vista del router possiamo trovarci fondamentalmente in due casi: un router che supporta il port-forwarding verso l'indirizzo di broadcast (x.x.x.255) ed uno che non lo fa.
Nel primo caso saremo in grado di attivare il WOW su più di una macchina di quelle collegate al router, semplicemente indicando il giusto MAC Address all'atto dell'invio del "magic packet" ; nella seconda ipotesi sarà possibile svegliare solo la macchina verso cui è indirizzato il port-forwarding.
Nei due casi appena visti dovremo reindirizzare la porta UDP 9, rispettivamente o verso il broadcast o verso la macchina interessata.
La scelta della porta n° 9 non è obbligata ma tenete conto che molte utility web-based (come questa) non permettono di indicarne una diversa.
Utilizzando un sistama GNU/Linux il comando da eseguire è:
# wakeonlan -i IP del router MAC Address
Spero che questa guida possa essere utile e per qualsiasi consiglio/aggiunta/correzione non esitate a contattarmi.
Linux@Taranto
