User Tools

Site Tools


doc:appunti:linux:sa:wakeonlan

This is an old revision of the document!


Wake on LAN con Linux

Sulla macchina da svegliare

  • Se si tratta di scheda LAN aggiuntiva, collegarla con il cavetto apposito alla scheda madre.
  • Attivare da BIOS la funzione Wake on PCI device o simile.
  • Avviare la macchina, eseguire ethtool -s eth0 wol g, questo abilita il wake alla ricezione del MagicPacket.
  • Prendere nota del MAC address e fare shutdown della macchina.

Su un'altra macchina

  • Eseguire etherwake 00:0D:87:44:B2:0A.

XBMC Remote

XBMC Remote for Android è un applicativo per Android che consente di controllare da remoto un host su cui gira XBMC Media Center.

Integra una funzione di Wake-on-LAN, tuttavia il pacchetto UDP viene inviato all'indirizzo broadcast 255.255.255.255, quindi non è possibile instradarlo ad una sottorete diversa, ad esempio nel caso in cui il terminale Android sia su una rete WiFi 192.168.10.x e XBMC sia invece su 192.168.3.x.

Vedere il bug 387.

Wake-on-LAN proxy

Problema: Il pacchetto Wake-on-LAN viene inviato da un terminale Android che sta su un segmento di rete WiFi 192.168.10.0/24, mentre il destinatario sta su un segmento di rete cablata 192.168.3.0/24. Se il magick packet W-o-L viene inviato come pacchetto di broadcast (192.168.10.255 oppure 255.255.255.255), non oltrepassa il segmento di rete WiFi e quindi non raggiunge la destinazione.

Soluzione: Occorre un programma Wake-on-LAN che consenta di specificare un indirizzo di destinazione unicast. Ad esempio Wake On Lan per Android, oppure wakeonlan per GNU/Linux. Quindi bisogna configurare un W-o-L proxy sullo stesso segmento di rete del ricevente, che riceva il pacchetto e lo inoltri all'indirizzo broadcast.

Supponiamo di avere una GNU/Linux box all'indirizzo 192.168.3.1, per trasformarla in W-o-L proxy è sufficiente eseguire le istruzioni:

ip neigh change 192.168.3.254 lladdr ff:ff:ff:ff:ff:ff nud permanent dev eth0
ip neigh add    192.168.3.254 lladdr ff:ff:ff:ff:ff:ff nud permanent dev eth0
iptables -t nat -A PREROUTING --protocol udp --dport 9 -j DNAT --to-destination 192.168.3.254

dove:

  • eth0 è la scheda di rete su cui deve essere inoltrato il pacchetto
  • 192.168.3.254 è un indirizzo IP libero, che viene usato solo per il broadcast. Infatti viene associato in modo manuale e permanente al MAC address ff:ff:ff:ff:ff:ff.
  • La regola iptables esegue il forward del magick packet (protocollo UDP, porta 9) dall'indirizzo unicast del proxy al broadcast della rete.
doc/appunti/linux/sa/wakeonlan.1339751242.txt.gz · Last modified: 2012/06/15 11:07 by niccolo