Abilitare Wake on LAN (WOL) su PROXMOX

In questa guida vedremo come abilitare il Wake On LAN (WOL) su un server PROXMOX e come risvegliarlo utilizzando il pacchetto magico (Magic Packet).

Questo metodo è compatibile con tutte le distribuzioni Debian-based in quanto PROXMOX stesso è basato su questa distribuzione.

Prerequisiti

Il prerequisito fondamentale è abilitare il Wake On LAN nel BIOS. Solitamente, questa opzione si trova nella sezione “Startup” o “Network”.

Accediamo al BIOS del nostro server e assicuriamoci che il Wake On LAN sia abilitato. Inoltre, dato che stiamo trattando PROXMOX, se è presente una scheda WiFi non utilizzata, disabilitiamola (sempre dal BIOS) poiché potrebbe causare conflitti con la porta Ethernet dove abiliteremo il WOL.

Identifichiamo la Scheda di Rete Ethernet

Accediamo alla shell del server PROXMOX, sia tramite il browser utilizzando l’interfaccia grafica o direttamente tramite SSH. Effettuiamo il login come utente root.

proxmox-wol-start-shell-from-gui

Per prima cosa individuiamo il nome della nostra scheda di rete ethernet, tramite il comando “ip a“:

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP group default qlen 1000
    link/ether c6:0a:a3:d0:32:65 brd ff:ff:ff:ff:ff:ff

Probabilmente il nome della scheda ethernet se state utilizzando PROXMOX sarà —> “enp1s0

(Se il nome è differente ovviamente bisognerà modificare i comandi successivi)

Verifichiamo adesso lo stato corrente del WOL, che sicuramente sarà impostato su “disable“:

# ethtool enp1s0|grep Wake
        Supports Wake-on: pumbg
        Wake-on: d

Come previsto il Wake-on è impostato su “d“, ovvero disable.

Una cosa interessante da sapere è che l’impostazione di cambio da “disable” ad altra impostazione sulla nostra scheda, è un’impostazione PROVVISORIA. Vuol dire che ad ogni riavvio dovremmo riabilitare il Wake-on tramite Magic Packet sulla scheda.

Per ovviare a questa problematica, possiamo creare un file di configurazione di systemd-networkd, che vada ad abilitare il Wake-On sulla nostra scheda ethernet ad ogni riavvio del nostro Server.

Abilitiamo il WOL sulla scheda Ethernet ad ogni riavvio

Creiamo un file di configurazione di systemd:

# vim /etc/systemd/network/10-enp1s0.link

Inseriamo all’interno del file:

[Match]
MACAddress=c6:0a:a3:d0:32:65

[Link]
WakeOnLan=magic

Andiamo a modificare il MAC address con quello della nostra scheda ethernet.

Salviamo e chiudiamo il file.

Testiamo la configurazione

Dopo aver completato le modifiche, possiamo procedere con un test per verificare la configurazione.

Iniziamo riavviando il server PROXMOX:

riavviare server proxmox da GUI

Una volta che il server si è riavviato, possiamo verificare la configurazione tramite il seguente comando:

# ethtool enp1s0|grep Wake
        Supports Wake-on: pumbg
        Wake-on: g

Se visualizziamo la lettera “g“, che significa magic packet, abbiamo configurato correttamente il WOL e possiamo procedere.

Installiamo il tool “wakeonlan”

A seconda del sistema operativo, possiamo provare diversi tool per accedere il nostro server.

In questo esempio utilizzeremo il tool “wakeonlan” compatibile sia con GNU/Linux che con macOS tramite Brew.

Installiamolo su distribuzioni che usano “apt“:

sudo apt install wakeonlan

Installiamolo su distribuzioni che usano “yum“:

sudo yum install wakeonlan

Installiamolo su macOS con l’utilizzo di Homebrew:

brew install wakeonlan

Accendiamo il server con WOL

Adesso siamo pronti per testare il WOL sul nostro server. Per prima cosa facciamo lo shutdown del server, possiamo farlo direttamente da PROXMOX:

shutdown-proxmox-wol-test

In questo esempio, il computer da cui invieremo il pacchetto magico si trova sulla stessa subnet del nostro server PROXMOX.

Per risvegliare il nostro server, eseguiamo il seguente comando:

wakeonlan <mac_address>

Nel suddetto esempio, il comando sarà:

wakeonlan c6:0a:a3:d0:32:65

Come già menzionato, se entrambi gli host si trovano sulla stessa subnet, l’indirizzo MAC è sufficiente per accendere il server poiché il Magic Packet non deve attraversare router o compiere percorsi complicati.

 

E se il server risiede su un altra subnet?
Leggete l’articolo —> “Usare Wake on LAN su subnet diverse