Inhaltsverzeichnis
wakeonlan unter Proxmox
Benötigte Tools
Zunächst wird das ethtool benötigt:
- | ethtool Debian
apt update && apt upgrade -y apt install ethtool
Erforderliche Schritte
NIC und MAC ermitteln
Jetzt muss zunächst die richtige Netzwerkkarte und die dazu gehörige MAC-Adresse gesucht werden (bei Proxmox kann es die ein oder andere mehr sein).
- | NIC und MAC prüfen
ip link ... : enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP mode DEFAULT group default qlen 1000 link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff ...
Bei mir ist es die hier:
MAC = xx:xx:xx:xx:xx:xx
Die Mac ist natürlich nicht echt! Sie wird später zum starten des Servers gebraucht.
WOL Zustand ermitteln
Nun schauen wir, wie der Zustand der NIC aussieht:
- | NIC Zustand prüfen
ethtool enp3s0 | grep Wake-on Supports Wake-on: pumbg Wake-on: d
Das hilft nun nicht wirklich weiter … Hier ein Auszug aus dem man zu ethtool:
- | Auszug man ethtool
wol p|u|m|b|a|g|s|f|d... Sets Wake-on-LAN options. Not all devices support this. The argument to this option is a string of characters specifying which options to enable. p Wake on PHY activity u Wake on unicast messages m Wake on multicast messages b Wake on broadcast messages a Wake on ARP g Wake on MagicPacket™ s Enable SecureOn™ password for MagicPacket™ f Wake on filter(s) d Disable (wake on nothing). This option clears all previous options.
Hier sehen wir nun, dass WOL auf d = disabled steht. Somit ist kein WakeOnLan möglich. Was nun?
WOL Zustand setzen
Es muss die WOL auf den Zustand g = Wake on MagicPacket™ gestellt werden, aber wie?
Hier hilft das ethtool wieder weiter:
- | WOL auf MagicPacket™ umstellen
ethtool -s enp3s0 wol g
Nun ergibt eine Prüfung:
- | NIC Zustand prüfen
ethtool enp3s0 | grep Wake-on Supports Wake-on: pumbg Wake-on: g
Wer nun aber glaubt, hurra das war's wird eines besseren belehrt (so ist es mir ergangen).
Das ganze geht nur ein mal, wenn überhaupt …
Es sind noch zwei Schritte zu erledigen (bei Proxmox, sonst nur noch einer).
Zusatzschritt unter Proxmox
- | WOL unter Proxmox freigeben
pvenode config set -wakeonlan xx:xx:xx:xx:xx:xx
Hier muss die oben ermittelte Mac-Adresse eingetragen werden damit Proxmox Wol erlaubt.
Überprüft werde kann das Ganze mit:
- | WOL unter Proxmox prüfen
pvenode config get wakeonlan: xx:xx:xx:xx:xx:xx
Mit Diesem Aufruf sieht man was mit pvenode config gesetzt wurde.
Wol permanent auf MagicPacket™ setzen
Hier gibt es diverse Lösungsansätze, ich habe mich für den nun Folgenden entschieden. Er erschien mir als der einfachste und vor allem ziemlich überall reproduzierbare Lösungsansatz. Ich verwende hier systemd, auch wenn ich das nicht gern tue …
- | WOL permanent machen /etc/systemd/system/wol.service
[Unit] Description=Configure Wake-up on LAN [Service] Type=oneshot ExecStart=/sbin/ethtool -s enp3s0 wol g [Install] WantedBy=basic.target
Diese Datei muss erstellt werden und dann aktiviert werden, hier die Kommandos:
- | WOL permanent machen Kommandos
systemctl start wol.service systemctl enable wol.service systemctl is-enabled wol.service systemctl daemon-reload
Jetzt sollte WakeOnLan stabil funktionieren. Vom Prinzip her ein relativ einfache Aufgabe, ich hatte meine Probleme in der Hauptsache mit den Bios (Uefi) Einstellungen und die macht wirklich jeder Hersteller bei jedem Bord anders. Hier ist noch nicht mal zu sagen, Asus macht es immer so und AMI immer so. Das wäre zu einfach!
Links
Hier noch ein paar Links die mir weiter geholfen haben:
https://wiki.ubuntuusers.de/Wake_on_LAN/
https://wiki.archlinux.org/title/Wake-on-LAN
https://forum.proxmox.com/threads/persistent-wake-on-lan-option.46057/
https://www.thomas-krenn.com/de/wiki/Wake_on_LAN_unter_Linux
https://jm.technology/post/proxmox-wol-mac-set_april-2019/
https://tfta.de/forum/thread/28-proxmox-ve-cluster-starten-eines-anderen-nodes-per-wake-on-lan-im-eigenen-cluste/
https://www.lisenet.com/2013/set-up-wake-on-lan-wol-on-a-debian-wheezy-server/
https://pve.proxmox.com/pve-docs/pvenode.1.html