Wake On Lan: differenze tra le versioni
S3v (discussione | contributi) Nessun oggetto della modifica |
|||
Riga 2: | Riga 2: | ||
Il Wake On Lan è una funzione molto utile che permette di accendere il proprio computer a distanza dall'interno della propria rete locale. Molte schede | Il Wake On Lan è una funzione molto utile che permette di accendere il proprio computer a distanza dall'interno della propria rete locale. Molte schede | ||
di rete, soprattutto gli ultimi chip integrati, supportano questa caratteristica che in alcuni casi si può rivelare davvero molto utile. Immaginate ad esempio di avere due | di rete, soprattutto gli ultimi chip integrati, supportano questa caratteristica che in alcuni casi si può rivelare davvero molto utile. Immaginate ad esempio di avere due PC in due stanze/uffici diverse dello stesso piano o perché no, proprio in due piani diversi e di essere impegnati sulla prima postazione. Vi ricordate però che avete bisogno di andare a controllare un documento che sta sull'altro computer e pensate di aprire VNC ma purtroppo la seconda postazione è ancora spenta e quindi non vi potete collegare. A questo punto solo una cosa vi può aiutare: il '''MagicPacket(tm)'''! | ||
==Software necessario== | ==Software necessario== | ||
Riga 28: | Riga 27: | ||
{{ Warningbox | in questo e nei futuri esempi, sostituite eth0 con il nome corrispondente alla scheda di rete che state usando! }} | {{ Warningbox | in questo e nei futuri esempi, sostituite eth0 con il nome corrispondente alla scheda di rete che state usando! }} | ||
A questo punto dovreste vedere una serie di informazioni tra cui qualcosa di simile a questo: | A questo punto dovreste vedere una serie di informazioni tra cui qualcosa di simile a questo: | ||
Riga 37: | Riga 35: | ||
La voce "Supports Wake-on" specifica i metodi di wake-on supportati dalla vostra scheda di rete; se non la vedete è un brutto segno! | La voce "Supports Wake-on" specifica i metodi di wake-on supportati dalla vostra scheda di rete; se non la vedete è un brutto segno! | ||
La voce "Wake-on" specifica il metodo in uso; d sta per disabled mentre g è quello che andremo ad usare (Wake on MagicPacket(tm)). ''Se per qualche motivo avete già la voce "Wake-on" impostata a "g" potete terminare qui la lettura di questa pagina ;)'' | La voce "Wake-on" specifica il metodo in uso; "d" sta per ''disabled'' mentre "g" è quello che andremo ad usare (Wake on MagicPacket(tm)). ''Se per qualche motivo avete già la voce "Wake-on" impostata a "g" potete terminare qui la lettura di questa pagina ;)'' | ||
Per impostare il metodo a "g" assicuratevi di avere la lettera "g" tra quelle che seguono la voce "Supports Wake-on" e poi digitate: | Per impostare il metodo a "g" assicuratevi di avere la lettera "g" tra quelle che seguono la voce "Supports Wake-on" e poi digitate: | ||
Riga 45: | Riga 42: | ||
</pre> | </pre> | ||
Se rilanciate | Se rilanciate: | ||
<pre> | <pre> | ||
# ethtool eth0 | # ethtool eth0 | ||
Riga 51: | Riga 48: | ||
dovreste avere "'''Wake-on: g'''". | dovreste avere "'''Wake-on: g'''". | ||
A questo punto spegnendo il computer lo potrete accendere da un'altra postazione usando etherwake. | A questo punto spegnendo il computer lo potrete accendere da un'altra postazione usando etherwake. | ||
Riga 57: | Riga 53: | ||
==Utilizzo di etherwake== | ==Utilizzo di etherwake== | ||
etherwake serve per inviare il MagicPacket(tm) alla scheda di rete del | etherwake serve per inviare il MagicPacket(tm) alla scheda di rete del PC che volete accendere, accendendolo. | ||
Ovviamente, dal momento che il | Ovviamente, dal momento che il PC è spento non vi potete basare sul indirizzo IP; dovrete usare il MAC Address. | ||
Per trovare il MAC Address del | Per trovare il MAC Address del PC di destinazione lanciate da quest'ultimo il comando: | ||
<pre> | <pre> | ||
# ifconfig | # ifconfig | ||
Riga 70: | Riga 66: | ||
</pre> | </pre> | ||
Il MAC Address | Il MAC Address è la parte che segue la dicitura "HWaddr" ovvero, nel nostro esempio, "00:50:6D:EA:A2:DC" (senza virgolette). | ||
Segnatevi il MAC Address e dopo aver impostato il metodo di wake-on a "g" sul | Segnatevi il MAC Address e dopo aver impostato il metodo di wake-on a "g" sul PC di destinazione, spegnetelo e recatevi sull'altra postazione. | ||
A questo punto lanciate: | A questo punto lanciate: | ||
Riga 83: | Riga 78: | ||
</pre> | </pre> | ||
L'opzione -D serve solo ad avere in ouput qualche informazione in più sull'operazione. | L'opzione "-D" serve solo ad avere in ouput qualche informazione in più sull'operazione. | ||
Se tutto è andato per il verso giusto, il secondo | Se tutto è andato per il verso giusto, il secondo PC dovrebbe essersi acceso. | ||
{{ Warningbox | se il | {{ Warningbox | se il PC da accendere ha una scheda madre con chipset nForce ed è collegato alla rete con la scheda di rete integrata allora dovrete invertire il MAC Address quando usate etherwake. Il driver forcedeth che controlla le schede di rete delle schede madri basate su nForce infatti, allo spegnimento del PC, scrive il MAC Address dentro alla scheda di rete, rovesciandolo. Non dovrete quindi digitare: | ||
<pre> | <pre> | ||
Riga 100: | Riga 95: | ||
==Ultimi ritocchi== | ==Ultimi ritocchi== | ||
Ora, se il | Ora, se il PC è partito, noterete che lanciando nuovamente "ethtool eth0" il metodo di wake-on è tornato a "d". | ||
Per far si che ogni volta che accendete il computer il metodo usato sia "g" ci sono varie strade; di seguito spiegherò quella che ho scelto ovvero | Per far si che ogni volta che accendete il computer il metodo usato sia "g" ci sono varie strade; di seguito spiegherò quella che ho scelto ovvero | ||
la modifica del file di avvio della rete. | la modifica del file di avvio della rete. | ||
Riga 219: | Riga 214: | ||
{{ Warningbox | gli utenti k/ubuntu hanno una versione leggermente diversa; il comando sopracitato va messo dopo il blocco "if" }} | {{ Warningbox | gli utenti k/ubuntu hanno una versione leggermente diversa; il comando sopracitato va messo dopo il blocco "if" }} | ||
'''Esempio estratto dal file networking di | '''Esempio estratto dal file networking di Kubuntu:''' | ||
<pre> | <pre> | ||
if [ "$VERBOSE" != no ]; then | if [ "$VERBOSE" != no ]; then | ||
Riga 255: | Riga 250: | ||
==Conclusioni== | ==Conclusioni== | ||
La tecnologia Wake-On-Lan si può rendere utile solo nei rari casi in cui si disponga di una LAN con postazioni molto distanti tra loro, tuttavia in tali situazioni si rivela una risorsa davvero preziosa che può aiutare tra le altre cose a risparmiare energia, spegnendo i computer non usati " | La tecnologia Wake-On-Lan si può rendere utile solo nei rari casi in cui si disponga di una LAN con postazioni molto distanti tra loro, tuttavia in tali situazioni si rivela una risorsa davvero preziosa che può aiutare tra le altre cose a risparmiare energia, spegnendo i computer non usati "perché tanto poi ...". | ||
---- [[Utente:Virtual DarKness|Virtual DarKness]] 16:58, Giu 23, 2005 (EDT) | ---- [[Utente:Virtual DarKness|Virtual DarKness]] 16:58, Giu 23, 2005 (EDT) | ||
[[Categoria:Networking]] | [[Categoria:Networking]] |
Versione delle 17:42, 24 gen 2010
Introduzione
Il Wake On Lan è una funzione molto utile che permette di accendere il proprio computer a distanza dall'interno della propria rete locale. Molte schede di rete, soprattutto gli ultimi chip integrati, supportano questa caratteristica che in alcuni casi si può rivelare davvero molto utile. Immaginate ad esempio di avere due PC in due stanze/uffici diverse dello stesso piano o perché no, proprio in due piani diversi e di essere impegnati sulla prima postazione. Vi ricordate però che avete bisogno di andare a controllare un documento che sta sull'altro computer e pensate di aprire VNC ma purtroppo la seconda postazione è ancora spenta e quindi non vi potete collegare. A questo punto solo una cosa vi può aiutare: il MagicPacket(tm)!
Software necessario
Avremo bisogno di due programmi:
- ethtool
- etherwake
Per installarli è sufficiente un:
# apt-get install ethtool etherwake
Utilizzo di ethtool
All'avvio del computer entrate nel BIOS e attivate il Wake-On-Lan; solitamente trovate l'impostazione sotto la voce "Power Management Setup".
Una volta avviato Linux lanciate:
# ethtool eth0
ATTENZIONE in questo e nei futuri esempi, sostituite eth0 con il nome corrispondente alla scheda di rete che state usando! |
A questo punto dovreste vedere una serie di informazioni tra cui qualcosa di simile a questo:
Supports Wake-on: g Wake-on: d
La voce "Supports Wake-on" specifica i metodi di wake-on supportati dalla vostra scheda di rete; se non la vedete è un brutto segno! La voce "Wake-on" specifica il metodo in uso; "d" sta per disabled mentre "g" è quello che andremo ad usare (Wake on MagicPacket(tm)). Se per qualche motivo avete già la voce "Wake-on" impostata a "g" potete terminare qui la lettura di questa pagina ;)
Per impostare il metodo a "g" assicuratevi di avere la lettera "g" tra quelle che seguono la voce "Supports Wake-on" e poi digitate:
# ethtool -s eth0 wol g
Se rilanciate:
# ethtool eth0
dovreste avere "Wake-on: g".
A questo punto spegnendo il computer lo potrete accendere da un'altra postazione usando etherwake.
Utilizzo di etherwake
etherwake serve per inviare il MagicPacket(tm) alla scheda di rete del PC che volete accendere, accendendolo. Ovviamente, dal momento che il PC è spento non vi potete basare sul indirizzo IP; dovrete usare il MAC Address.
Per trovare il MAC Address del PC di destinazione lanciate da quest'ultimo il comando:
# ifconfig
ed individuate la riga:
eth0 Link encap:Ethernet '''HWaddr 00:50:6D:EA:A2:DC'''
Il MAC Address è la parte che segue la dicitura "HWaddr" ovvero, nel nostro esempio, "00:50:6D:EA:A2:DC" (senza virgolette).
Segnatevi il MAC Address e dopo aver impostato il metodo di wake-on a "g" sul PC di destinazione, spegnetelo e recatevi sull'altra postazione. A questo punto lanciate:
# etherwake <mac address> -D esempio: # etherwake 00:50:6D:EA:A2:DC -D
L'opzione "-D" serve solo ad avere in ouput qualche informazione in più sull'operazione. Se tutto è andato per il verso giusto, il secondo PC dovrebbe essersi acceso.
Ultimi ritocchi
Ora, se il PC è partito, noterete che lanciando nuovamente "ethtool eth0" il metodo di wake-on è tornato a "d". Per far si che ogni volta che accendete il computer il metodo usato sia "g" ci sono varie strade; di seguito spiegherò quella che ho scelto ovvero la modifica del file di avvio della rete.
Aprite il file /etc/init.d/networking e modificatelo come segue:
#!/bin/sh # # manage network interfaces and configure some networking options PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin if ! [ -x /sbin/ifup ]; then exit 0 fi spoofprotect_rp_filter () { # This is the best method: turn on Source Address Verification and get # spoof protection on all current and future interfaces. if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > $f done return 0 else return 1 fi } spoofprotect () { echo -n "Setting up IP spoofing protection: " if spoofprotect_rp_filter; then echo "rp_filter." else echo "FAILED." fi } ip_forward () { if [ -e /proc/sys/net/ipv4/ip_forward ]; then echo -n "Enabling packet forwarding..." echo 1 > /proc/sys/net/ipv4/ip_forward echo "done." fi } syncookies () { if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then echo -n "Enabling TCP/IP SYN cookies..." echo 1 > /proc/sys/net/ipv4/tcp_syncookies echo "done." fi } doopt () { optname=$1 default=$2 opt=`grep "^$optname=" /etc/network/options` if [ -z "$opt" ]; then opt="$optname=$default" fi optval=${opt#$optname=} if [ "$optval" = "yes" ]; then eval $optname fi } case "$1" in start) doopt spoofprotect yes doopt syncookies no doopt ip_forward no echo -n "Configuring network interfaces..." ifup -a ethtool -s eth0 wol g echo "done." ;; stop) if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts | grep -q "^/ nfs$"; then echo "NOT deconfiguring network interfaces: / is an NFS mount" elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts | grep -q "^/ smbfs$"; then echo "NOT deconfiguring network interfaces: / is an SMB mount" elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\2/p' /proc/mounts | grep -qE '^(nfs[1234]?|smbfs|ncp|ncpfs|coda|cifs)$'; then echo "NOT deconfiguring network interfaces: network shares still mounted." else echo -n "Deconfiguring network interfaces..." ifdown -a --exclude=lo echo "done." fi ;; force-reload|restart) doopt spoofprotect yes doopt syncookies no doopt ip_forward no echo -n "Reconfiguring network interfaces..." ifdown -a --exclude=lo ifup -a ethtool -s eth0 wol g echo "done." ;; *) echo "Usage: /etc/init.d/networking {start|stop|restart|force-reload}" exit 1 ;; esac exit 0
Le uniche due modifiche che ho fatto sono le due aggiunte del comando ethtool -s eth0 wol g nella sezione di start e restart delle interfacce di rete. Copiate solo quel comando nel vostro file nel punto corrispondente; evitate di fare il copia e incolla dell'intero file.
ATTENZIONE gli utenti k/ubuntu hanno una versione leggermente diversa; il comando sopracitato va messo dopo il blocco "if" |
Esempio estratto dal file networking di Kubuntu:
if [ "$VERBOSE" != no ]; then ifup -a else ifup -a >/dev/null 2>&1 fi ethtool -s eth0 wol g
Metodo alternativo
Un metodo alternativo che non richiede la modifica dello script di avvio è quello di inserire l'abilitazione della funzione wake quando l'interfaccia di rete viene tirata su. Per fare questo si può inserire l'istruzione ethtool -s eth0 wol g direttamente in /etc/network/interfaces. Ad esempio:
auto eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1
diventa
auto eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1 up ethtool -s eth0 wol g
Notare l'aggiunta della direttiva up per l'interfaccia eth0
Conclusioni
La tecnologia Wake-On-Lan si può rendere utile solo nei rari casi in cui si disponga di una LAN con postazioni molto distanti tra loro, tuttavia in tali situazioni si rivela una risorsa davvero preziosa che può aiutare tra le altre cose a risparmiare energia, spegnendo i computer non usati "perché tanto poi ...".
Virtual DarKness 16:58, Giu 23, 2005 (EDT)