Während des Setups eines Linux Servers im Heimnetzwerk wollte ich wake-on-lan konfigurieren, damit ich den Server starten kann sobald ich diesen brauche.
Dazu muss man zunächst prüfen, ob wake-on-lan im BIOS aktiv ist. In meinem Fall war das zunächst nicht aktivierbar, da andere Einstellungen im Energiemanagement dies verboten haben. Nachdem ich andere Einstellungen deaktiviert hatte, konnte wake-on-lan aktiviert werden.
Im Serverbetriebssystem muss man herausfinden, wie das Netzwerkinterface
heisst. ifconfig war nicht installiert, also musste ich folgenden
Befehl nutzen um herauszufinden, dass das Interface enp2s0 heisst.
Der Output zeigt auch, dass wake-on-lan nicht aktiv war.
root@server:$ ip -c a s
Man kann ethtool nutzen um wake-on-lan (wol) zu aktivieren.
root@server:$ sudo apt-get install ethtool
root@server:$ sudo ethtool -s enp2s0 wol g
Das Starten des Servers funktionierte immer noch nicht, beim Neustart
war wake-on-lan im Betriebssystem wieder deaktiviert.
Also musste ich folgende Konfigurationsdatei erstellen
/etc/systemd/system/wol\@.service und in systemd registrieren und
wake-on-lan dauerhaft aktiv zu haben.
[Unit]
Description=Wake-on-LAN (%i)
Requires=network.target
After=network.target
[Service]
ExecStart=/sbin/ethtool -s %i wol g
Type=oneshot
[Install]
WantedBy=multi-user.target
Die Konfiguration muss in systemd aktualisiert werden und der Service
muss für das Netzwerkinterface enp2s0 auf Basis der Vorlage mit systemctl erstellt werden.
root@server:$ sudo systemctl daemon-reload
root@server:$ sudo systemctl enable wol@enp2s0.service
root@server:$ sudo systemctl start wol@enp2s0.service
Danach kann der Server gestartet werden, in dem man das Magic Packet von einem anderen Gerät an die IP des Servers und die Hardwareadresse der Netzwerkkarte schickt. schickt.
user@client:$ wakeonlan -i 192.168.0.100 aa:bb:cc:00:11:22
Michael Hülsen