Zunächst wird das ethtool benötigt:
apt update && apt upgrade -y apt install ethtool
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).
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:
Die Mac ist natürlich nicht echt! Sie wird später zum starten des Servers gebraucht.
Nun schauen wir, wie der Zustand der NIC aussieht:
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:
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?
Es muss die WOL auf den Zustand g = Wake on MagicPacket™ gestellt werden, aber wie?
Hier hilft das ethtool wieder weiter:
ethtool -s enp3s0 wol g
Nun ergibt eine Prüfung:
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).
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:
pvenode config get wakeonlan: xx:xx:xx:xx:xx:xx
Mit Diesem Aufruf sieht man was mit pvenode config gesetzt wurde.
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 …
[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:
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!
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