Ciao,
mi sono appena iscritto al forum ed ho letto la tua originaria richiesta di aiuto per la configurazione del wol. Spero di farti cosa utile riportandoti la mia personale esperienza…
Il mio primo approccio al wake up del pc (chiaramente mi riferisco a quello da remoto, e quindi al wake on wan, dato che attivare il wake on lan lo ritengo banale) risale a circa due mesi fa, quando ho scoperto l’enorme potenzialità che mi poteva essere offerta da questa funzionalità. Inutile dirti le notti insonni che ho comunque passato!...
Non sono un ottimo conoscitore di questo mondo, ma l'esperienza fatta mi ha permesso di acquisire alcuni fondamentali concetti, che avrai già letto qua e là ma che ritengo comunque utile riprendere a grandi linee (se avessi necessità di conoscere degli aspetti di dettaglio, fammi sapere).
Allora, cominciamo... Per attivare il wake up del pc bisogna avere queste preliminari condizioni di base:
- abilitazione della funzionalità di wake on lan sulla scheda bios;
- abilitazione della scheda di rete, nella sezione "avanzate", a ricevere i pacchetti magici;
- disabilitazione, nella scheda di rete, della funzione di "risparmio energetico";
- dotarsi di un'applicazione (o ricorrere ad una pagina web) in grado di inoltrare i pacchetti magici.
Ma le predette condizioni preliminari non bastano!...
La prima volta che ho settato sul mio pc le configurazioni per il wol, ho gioito come un bambino quando, all'inoltro del primo magic packet da dentro la rete (chiaramente da un altro pc collegato alla stessa rete), il pc di destinazione si è acceso! Subito dopo, ho tentato l'operazione da remoto e, come te, mi sono accorto che dopo pochissimi minuti il pc non si accendeva più...
Come ti ho detto in premessa, ci sono voluti due mesi di approfondimenti (spulciando praticamente tutti i forum, i siti e quant'altro presente in rete) per capire le ragioni di questo “malfunzionamento”.
La causa è sostanzialmente questa...
Chiaramente, quando un pc è spento, questo perde l'indirizzo IP che il router gli aveva precedentemente assegnato. L'unico "codice" identificativo che rimane invariato è invece il MAC address, che identifica la macchina. Da qui la prima “illuminazione”: ecco perché l'unico modo per accendere da remoto un pc è inviare un magic packet contenente il MAC address del pc da risvegliare, a condizione che la sua scheda di rete sia "in ascolto" (funzione wake on lan attivata su bios e scheda di rete abilitata a ricevere i pacchetti magici)!
Detta così, la cosa sembra di facile soluzione; invece così purtroppo non è...
Infatti, a questo punto sorge il problema più ostico: avere un router che, una volta ricevuto il pacchetto magico, riesca ad instradare correttamente l'input ricevuto verso la macchina di destinazione.
Ritengo superfluo argomentare di servizio DNS, posto che, in presenza di indirizzi pubblici dinamici, il ricorso a servizi come “dyndns.org” (che poi è necessario poter configurare nel router che si utilizza) è indispensabile per far funzionare il tutto!
E' esattamente a questo punto che mi si è aperto il "drammatico" mondo della ARP Table, del firewall, delle porte da abilitare e degli indirizzi di broadcast. Andiamo con ordine, spiegando punto per punto...
- ARP Table: la tabella ARP è un elenco contenente, per ciascuna macchina collegata al router, l'associazione tra l'indirizzo IP assegnato ed il relativo MAC Address. Banalmente, ti dirò che il motivo per cui molti router non riescono a riaccendere un pc dopo pochi minuti è dato dal fatto che quando una macchina viene spenta, il router perde la memoria della sua ARP Table. Quindi, non essendoci più l'associazione tra l'IP e il MAC address, il router riceve il magic packet, ma los carta perché non sa a chi lo deve indirizzare!
- Abilitazione della porta e firewall: i router sono dotati di un firewall in grado di bloccare alcune operatività; una corretta e “sicura” configurazione per il wake on wan dovrebbe prevedere, da un lato, il mantenimento del firewall attivo ma, dall'altro, la creazione di una regola (una cosiddetta eccezione) che permetta di far transitare dal firewall il magic packet; ecco perchè un'altra delle condizioni perché il wake on wan funzioni è che venga abilitato il transito di un magic packet (che viaggia su protocollo UDP) su una determinata porta (ad esempio, la porta 9, utilizzata da molte applicazioni di magic packet), verso un determinato indirizzo IP (quello della macchina da accendere);
- Indirizzo di broadcast: l'indirizzo di broadcast di una rete è quello che termina con il numero "255" (un classico esempio, nella rete domestica servita da un router che ha l’indirizzo 192.168.1.1, è l'indirizzo 192.168.1.255); orbene, su molti forum troverai scritto che il wake on wan funziona solo sui router che permettono di aprire la porta UDP sull'indirizzo di broadcast; una delle spiegazioni più efficaci che ho trovato in rete, che mi ha consentito di capire cosa sia l'indirizzo di broadcast è questa: immagina di affacciarti sul pianerottolo di una scala di 20 piani e che in ogni piano ci siano più appartamenti; se gridassi il MAC address da quel pianerottolo, ti aprirebbe la porta soltanto il titolare del MAC address chiamato. Se, invece, ti presentassi soltanto dietro una qualsiasi delle porte gridando lo stesso MAC address, chi sta dietro quella porta (se non è il titolare del MAC address) non ti aprirebbe! Ecco cos'è il broadcast...il broadcast (identificato dall'IP 192.168.1.255) è un messaggio circolare che attraversa tutta la rete domestica. In sostanza, se in un router si riuscisse ad aprire la porta 9 sull'indirizzo di broadcast, il pacchetto magico inoltrato da remoto verrebbe indirizzato a tutte le macchine della rete e si accenderebbe quella che possiede il MAC address contenuto nel magic packet (ritornando all'esempio, avresti appena gridato il MAC address dal tuo pianerottolo verso tutti!). Questo assunto è probabilmente vero (dico probabilmente perchè non posso dire il contrario), ma fatto sta che a casa mia ho attivato regolarmente il wake on wan senza ricorrere all'indirizzo di bradcast.
Molto banalmente, ti dirò che la vera chiave di risoluzione del problema riguarda la già cennata ARP Table...
Infatti, se possiedi un router che mantiene in memoria la sua ARP Table, basta “blindare” l’associazione tra l’indirizzo IP e il MAC address della macchina da risvegliare: in questa ipotesi, lanciando il magic packet, il router saprebbe a chi inoltrarlo (ritornando all’esempio del pianerottolo, è come se tu ti presentasi dietro la porta del titolare del MAC address, sapendo a priori chi sta dietro quella porta!). Il resto viene fatto dalle “configurazioni di contorno”: gestione del firewall per garantire la sicurezza, apertura della porta per consentire l’instradamento del magic packet.
Insomma, a meno che tu non ti voglia cimentare nella complessa installazione (almeno per me!) sul tuo router di un firmware diverso da quello ufficiale (ammesso che per il modello che possiedi ne esista uno), la mia opinione è che sia certamente necessario dotarsi di un router che abbia una ARP Table configurabile dall'utente e, soprattutto, che tale configurazione rimanga residente sul router stesso anche a macchine spente (o a router spento)!
Io ho preferito andare alla ricerca di un router che avesse nativamente questa funzionalità. Portandoti la mia esperienza, il prodotto che ho trovato e che certamente offre questa possibilità è della DrayTek (io ho comprato su internet il modello Vigor 2710n). Nella sua interfaccia web, il mio Vigor contiene il supporto wol, attivabile sia attraverso l'interfaccia stessa (da remoto, però, non è il massimo della sicurezza!) che, mediante apposite configurazioni (appunto, di firewall, di porte e quant'altro), da remoto, e ciò senza necessariamente ricorrere, come ti dicevo, all'indirizzo di broadcast "255".
Da pochi giorni ho così raggiunto tutti i miei obiettivi: dal mio smartphone, tramite una banalissima applicazione di wake on wan, lancio il magic packet, ovunque mi trovi; dopo pochi minuti, il mio pc a casa si accende (se voglio posso accendere tutti i pc che mi necessitano), ci lavoro (ricorrendo al mio server ftp installato sul pc o attivando una vpn) e poi lo spengo!
Non so se ti sono stato utile (logorroico lo sono certamente stato!). Ma la soddisfazione di essere riuscito ad attivare da solo tutte queste enormi ed utili funzionalità mi hanno spinto a cercare di trasmettere ad altri la mia esperienza.
Sono a tua disposizione per eventuali approfondimenti...