Wake on Lan

WOL

Posted by Wesley Landaal on Sun, Oct 15, 2023

Setup wake on lan Linux

ik ga er vanuit dat je wake on lan in de bios al hebt aan staan.
enp4s0 is mijn interface dit kan op jou machine anders zijn.
Dus in alle commandos enp4s0 aanpassen naar de naam van jou interface.

Check in linux of je server Wake on lan al heeft aan staan.
Beijk de naam van je interface.

1ip a

Imgur

De eerste is je loopback interface en de tweede moet je hebben.
Ik heb mijn mac en ip even zwart gemaakt ;)

1sudo ethtool enp4s0 | grep Wake-on

Ik krijg dan de volgende output:

1wesley@tank:~$ sudo ethtool enp4s0 | grep Wake-on
2        Supports Wake-on: g
3        Wake-on: g
4wesley@tank:~$

Krijg jij geen output op je interface?
Dan ondersteund jou kaart geen WOL, of je hebt het nog uitstaan in je bios.

g betekend dat het aanstaat.
Ik zal even een lijstje neer zetten wat de betekenis van de letters zijn.
d (disabled)
p (PHY activity)
u (unicast activity)
m (multicast activity)
b (broadcast activity)
a (ARP activity)
g (magic packet activity)
(g is belangrijk om WoL te laten werken.)

Heb je een andere uitkomst dan g?
Dan kun je dat veranderen door het volgende commando.

1ethtool -s enp4s0 wol g

Nu moeten we er nog voor zorgen dat na elke reboot wake on lan nog actief blijft.
Dit kan door verschillende manieren.
Ik vertel er twee via cron en systemd.

Via cron:

1sudo crontab -e
1@reboot /usr/bin/ethtool -s enp4s0 wol g

Via systemd:

1sudo nano /etc/systemd/system/wol@.service

Zet de volgende config in de file.

 1[Unit]
 2Description=Wake-on-LAN for %i
 3Requires=network.target
 4After=network.target
 5
 6[Service]
 7ExecStart=/usr/bin/ethtool -s %i wol g
 8Type=oneshot
 9
10[Install]
11WantedBy=multi-user.target

Nu moeten we het alleen nog even aanzetten:

1sudo systemctl enable --now wol@enp4s0.service

Als je nu je systeem herstart dan zal de netwerk kaart gewoon weer wake on lan aan moeten hebben staan.

Ik gebruik wake on lan via mijn homeassistant.
Zodat ik via de telefoon een knop kan in drukken en dat dan een bepaalde server gaat opstarten.
Ik draai 1 server 24 uur.
Maar de andere servers zijn voor het testen of hoeven niet 24 uur aan en daarom handig om wake on lan te gebruiken.

Setup wake on lan in homeassistant.

Het is super makkelijk om wake on lan op homeassistant actief te krijgen.
Zet de volgende config in je configuration.yaml

1wake_on_lan:

Nu moeten we alleen nog in de zelfde configuration.yaml een knop maken.
Doe dat op de volgende manier.

1switch:
2 - platform: wake_on_lan
3   mac: mac address van de server
4   name: de naam die je aan de knop wil geven

Daarna kun je gewoon een knop in home assistant maken.
Even een snel voorbeeld :)

Imgur

Vragen of comments?
Laat ze achter ;)

Laterss