Configurare Wake-on-LAN usando systemd

 

Configurare Wake-on-LAN usando systemd

Configurare Wake-on-LAN usando systemd

 

Configurare Wake-on-LAN usando systemd per inviare un magic packet sulla rete. Per utilizzare questa funzione, è necessario abilitare il supporto WoL nel BIOS/UEFI e configurare il sistema operativo per rilevare e rispondere ai pacchetti magici. In questa guida, vedremo come configurare Wake-on-LAN su un sistema Debian, SysLinuxOS utilizzando systemd.

Passo 1 – Verificare la compatibilità hardware

Prima di procedere, è importante verificare che il dispositivo di rete del computer supporti Wake-on-LAN. È possibile farlo eseguendo il seguente comando:

 
sudo ethtool <interface-name> | grep "Wake-on"

dove <interface-name> è il nome dell’interfaccia di rete (ad esempio eth0 o enp3s0). Se il comando restituisce una riga con “Wake-on: d“, significa che la scheda di rete supporta WoL.

edmond@SysLinuxOS:~$ sudo ethtool enp3s0 | grep "Wake-on"
Supports Wake-on: pumbg
Wake-on: d
$ sudo ethtool enp3s0
edmond@SysLinuxOS:~$ sudo ethtool enp3s0
Settings for enp3s0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: Unknown!
Duplex: Unknown! (255)
Auto-negotiation: on
master-slave cfg: preferred slave
master-slave status: unknown
Port: Twisted Pair
PHYAD: 0
Transceiver: external
MDI-X: Unknown
Supports Wake-on: pumbg
Wake-on: d
Link detected: no

la lettera d, significa che WOL sulla scheda è disabilitato, per abilitarlo con g:

$ sudo ethtool --change enp3s0 wol g

il comando sopra però è provvisorio.

Passo 2 – Configurare systemd per abilitare Wake-on-LAN al boot
$ sudo tee /etc/systemd/network/10-enp3s0.link << EOF
[Match]
MACAddress=e8:d8:d1:86:cd:ce

[Link]
WakeOnLan=magic
EOF

dove <MAC-address> è l’indirizzo MAC della scheda di rete del computer.

Passo 3 – Identificare il pc in rete

Determinare l’indirizzo MAC del dispositivo di destinazione che si desidera risvegliare:

$ ip neigh show
Passo 4 – Testare Wake-on-LAN

Per testare Wake-on-LAN, inviare un pacchetto magico sulla rete utilizzando uno strumento come wakeonlan o etherwake:

$ sudo apt-get install wakeonlan etherwake

comandi:

$ sudo etherwake -i <nome_interfaccia> <indirizzo_MAC>
$ sudo wakeonlan <indirizzo_MAC>

Il computer dovrebbe avviarsi dopo aver ricevuto il pacchetto magico.

Conclusioni

In questa guida, abbiamo visto come configurare Wake-on-LAN su un sistema Debian GnuLinux, SysLinuxOS,  utilizzando systemd. Questa funzionalità può essere utile per accendere un computer a distanza e risparmiare energia evitando di tenerlo acceso costantemente.

Configurare Wake-on-LAN usando systemd

 

enjoy 😉

Wake on Lan-Wake over internet su Debian

 

wake on lan su debian

 

 

Per chi ha un PC o un serverino e volesse accenderlo al bisogno da remoto ha bisogno di Wake on Lan. Per potere ottenere questo c'è bisogno di tre cose fondamentali:

 

  1. Wake on lan deve essere abilitato nel Bios, e che la scheda di rete supporti Wol.
  2. Serve un IP statico oppure per chi ha una adsl casalinga può sempre rivolgersi ad un servizio DDNS come DynDNS oppure  Noip.com.
  3. Serve un router in grado di inoltrare i Magic Packet, e questo oramai è quasi impossibile da ottenere dato che la maggior parte dei modem/router casalinghi sono bloccati e quindi non in grado di inviare i magic packet. Per ovviare a questo problema consiglio un piccolo acquisto di qualche decina di euro, il Linksys E1200-EZ versione v2. Una volta in mano, su questo router si può installare il nuovo firmware opensource DD-WRT. e poi seguire la guida specifica.

 

Per abilitare Wol su Debian Gnu-Linux:

 

# apt-get install ethtool

 

verificare che la scheda di rete sia attiva:

 

# ethtool eth0

 

root@debianserver:/home/edmond# ethtool eth0
Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                         100baseT/Half 100baseT/Full
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbg
    Wake-on: d
    Current message level: 0x00000001 (1)
                   drv
    Link detected: yes

 

come si vede è settata su "d", quindi significa che è disabilitata. Per abilitarla:

 

# ethtool -s eth0 wol g

 

per verificare il buon esito:

 

# ethtool eth0 | grep -i "wake"

 

root@debianserver:/home/edmond# ethtool eth0 | grep -i "wake"
    Supports Wake-on: pumbg
    Wake-on: g

 

adesso serve conoscere il mac address della scheda di rete:

 

# cat /sys/class/net/eth0/address

 

e poi una volta configurato il router si è pronti a svegliare il PC da remoto al bisogno.

 

enjoy 🙂