PDA

View Full Version : wake on LAN ok, wake on WAN ko


AntonioG
18-10-2009, 21:52
Ciao a tutti,
sto cercando di attivare la funzione wake on WAN.

Configurazione di rete
- connessione: infostrada
- modem: sitecom dc-223
- router: linksys spa2102
- access point/switch: belkin

Premetto che il wake on LAN funziona bene.
Ho un account dydns che ho configurato nel modem sitecom così da avere l'indirizzo IP sempre aggiornato anche a computer spento.
Nel router linksys, invece, ho impostato un DHCP lease statico così da assegnare sempre lo stesso indirizzo allo stesso mac address della mia scheda di rete.
Per quanto riguarda il port forwarding, ho visto che per il wake on LAN non ce n'è bisogno in quanto invio il pacchetto direttamente all'indirizzo di broadcast della stessa sottorete (192.168.2.255).
Per il wake on WAN ho provato invece, ad impostarlo sia nel modem in modo tale che i pacchetti indirizzati alla porta 9 siano inviati all'indirizzo IP del router, ed in quest'ultimo ho impostato che i pacchetti indirizzati alla porta 9 vadano all'indirizzo IP di broadcast (192.168.2.255).
Purtroppo però nessun segno.
Analizzando con wireshark il pacchetto in uscita, ottengo una risposta in cui la porta di destinazione risulta irragiungibile (unreachable).
Ovviamente invece dell'indirizzo IP locale metto il dominio dyndns.
Che cos'è che sbaglio?
Grazie.

nuovoUtente86
18-10-2009, 22:07
ma il test lo fai da dentro la lan?

AntonioG
18-10-2009, 22:08
Si

nuovoUtente86
18-10-2009, 22:09
non puo funzionare per la mancanza, negli isr, del loopback

AntonioG
18-10-2009, 22:11
Quindi dici che se provo effettivamente dall'esterno della rete funziona?

nuovoUtente86
18-10-2009, 22:11
si dovrebbe.

AntonioG
18-10-2009, 22:12
Grazie, provo e faccio sapere.

AntonioG
19-10-2009, 00:02
Ho provato anche dall'esterno ma niente.
In effetti wireshark non segnala nessun errore ed il pacchetto wol risulta inviato all'indirizzo IP pubblico infostrada.
Il port-forwarding nel modem l'ho configurato così:
protocollo: UDP
start port: 9
end port: 9
local IP: 192.168.0.100 (quello del router)
local port: 9

Invece nel router è così:
protocollo: UDP
start port: 9
end port: 9
local IP: 192.168.2.255 e poi 192.168.2.15 (quello del pc)

Dovrei capire una volta arrivato al modem che fine fa...

slowped
19-10-2009, 09:22
Dovrei capire una volta arrivato al modem che fine fa...

Il problema è il seguente. Tu hai impostato una regola per il port forwarding che ha come destinazione l'indirizzo broadcast della tua LAN provata. Non tutti i router accettano il forwarding sull'indirizzo di broadcast. Se il tuo router non lo consente, allora l'unica alternativa è quella di fare il forward verso l'indirizzo IP del PC che vuoi accendere. Però, se il PC è spento, non esiste un'entry corrispondente nella ARP table del router (che associa a quell'indirizzo IP il MAC address della sua scheda di rete) e quindi, dato che il router non sa a quale MAC inviare il magic packet, il pacchetto viene perso.

L'unica soluzione a tale problema è inserire una entry statica nella arp table del tuo router, ovviamente a patto che il firmware abbia tale funzionalità.

Ne abbiamo parlato in questa discussione, consultala per ulteriori dettagli http://www.hwupgrade.it/forum/showthread.php?t=2060892

nuovoUtente86
19-10-2009, 12:49
local IP: 192.168.2.255 e poi 192.168.2.15 (quello del pc)
nella regola di forward compare solo il broadcast attualmente.
Come ti ha consigliato slowped, inserisci l' ip unicast e una entry arp statica.
Anche perchè, non avendo mai approfondito il discorso WOL, mi sorge il dubbio che in broadcast riesca a discriminare l' accensione , che dovrebbe basarsi proprio sul mac (tranne che, come presumo, lo stesso sia spedito come campo dati nel magic packet)

AntonioG
19-10-2009, 13:49
Come ho specificato nel primo post, ho già inserito una entry statica dell'indirizzo IP relativo al mac address della scheda di rete che sto usando per il wol.
Infatti il wake on lan funziona anche quando il computer è stato spento per molte ore, proprio perché ha sempre lo stesso IP associato al suo mac (direttamente nel modem).
Il problema sorge per il wake on wan, e quindi credo sul port forwarding visto che a questo punto il pacchetto viene dall'esterno.

slowped
19-10-2009, 14:07
Come ho specificato nel primo post, ho già inserito una entry statica dell'indirizzo IP relativo al mac address della scheda di rete che sto usando per il wol.

Nel tuo primo post hai scritto che

ho impostato un DHCP lease statico così da assegnare sempre lo stesso indirizzo allo stesso mac address della mia scheda di rete

Hai cioé impostato una reservation di un dato indirizzo IP per un certo mac address. Ciò non ha nulla a che vedere con la arp table. È normale che il wol funzioni correttamente da locale anche se il pc è spento da diverse ore, in quanto da locale il macig packet lo invii direttamente al mac address della scheda di rete.

Il problema si presenta da remoto in quanto devi, per forza di cose, specificare un indirizzo IP (quello del router). Quando il router riceve il pacchetto dovrebbe inoltrarlo all'indirizzo IP locale del tuo PC. Per farlo consulta la arp table al fine di determinare il mac address dell'interfaccia di rete del pc in questione. Dato che, per sua natura, la arp table è dinamica, se il pc è spento da diverso tempo la sua entry (che associa il suo indirizzo ip al mac address) è stata rimossa. Per questo motivo, affinché il wow funzioni è necessario inserire una entry statica nella arp table. Se il tuo router non te lo consente allora non hai possibilità di svegliare la tua macchina da remoto, visto che il tentativo di utilizzare il forward all'indirizzo di broadcast non funziona con il tuo router.

OUTATIME
20-10-2009, 08:40
Ho provato anche dall'esterno ma niente.
In effetti wireshark non segnala nessun errore ed il pacchetto wol risulta inviato all'indirizzo IP pubblico infostrada.
Il port-forwarding nel modem l'ho configurato così:
protocollo: UDP
start port: 9
end port: 9
local IP: 192.168.0.100 (quello del router)
local port: 9
Perchè hai dovuto specificare un port forwarding nel modem? Sei sicuro che sia un modem?

AntonioG
20-10-2009, 15:12
Sulla carta è un modem, ma in effetti ha tutte le caratteristiche di un router. L'"apparecchio" in questione è il sitecom adsl2+ modem dc-223.
Nella scheda virtual server ho impostato il port forwarding per la porta 9 (come ad esempio per quelle di emule) per essere sicuro che i pacchetti venissero smistati al router vero e proprio (o per lo meno quello che io uso come tale).
In effetti sarebbe meglio poter disabilitare le funzioni di router al modem sitecom ed usare solo il router linksys per gestire il port forwarding, ma mi sembra che non si possa fare.
Ritornando al discorso originale, mi sembra che l'impostazione del dhcp lease statico non basti per il wake on wan e che serva impostare una entry arp statica.
Se è così credo che non potrò andare avanti visto che il mio router/ata voip (linksys spa2102) non me lo permette.

OUTATIME
20-10-2009, 15:27
Sulla carta è un modem, ma in effetti ha tutte le caratteristiche di un router. L'"apparecchio" in questione è il sitecom adsl2+ modem dc-223.
Nella scheda virtual server ho impostato il port forwarding per la porta 9 (come ad esempio per quelle di emule) per essere sicuro che i pacchetti venissero smistati al router vero e proprio (o per lo meno quello che io uso come tale).
In effetti sarebbe meglio poter disabilitare le funzioni di router al modem sitecom ed usare solo il router linksys per gestire il port forwarding, ma mi sembra che non si possa fare.
Ritornando al discorso originale, mi sembra che l'impostazione del dhcp lease statico non basti per il wake on wan e che serva impostare una entry arp statica.
Se è così credo che non potrò andare avanti visto che il mio router/ata voip (linksys spa2102) non me lo permette.
Per il wake on WAN basta impostare un port forwarding verso l'IP ***.***.***.255 sul router.
Il problema è che non so se il Linksys te lo permette (il mio no).

AntonioG
20-10-2009, 15:34
Il mio lo permette ma non funziona. Forse perché il pacchetto fa un doppio passaggio:
infostrada --> modem/router sitecom --> router linksys --> client
e cioè nel modem/router infostrada imposto il port-forwarding verso l'IP del router linksys (in broadcast non me lo permette) e nel router imposto il port-forwarding in broadcast.