HowTo: Wake on LAN mit Linux
WOL (Wake On LAN) ist ein Standard, der es ermöglicht, Computer aus einem Schlafzustand automatisch zu starten. Dies ist normalerweise nur für Server sinnvoll.
Voraussetzungen
Der Rechner braucht eine WOL-fähige Netzwerkkarte und ein Powermanagement. Dies ist heutzutage bei fast jedem PC vorhanden.
Minicomputer, wie beispielsweise der Raspberry Pi, sind dafür allerdings nicht vorgesehen.
WOL im BIOS freischalten
Dies kann je nach BIOS unterschiedlich aussehen. Dies ist also nur ein Beispiel für einen Laptop:
Besonderheiten:
- Bei Lenovo Thinkpads kommt man mit F1 ins BIOS. Man findet die Einstellung für WOL wie im Bild oben dargestellt unter Config – Netzwerk.
- Bei ASRock wird WOL im Menüpunkt Advanced – ACPI Configuration aktiviert. Ins BIOS gelangt man mit Delete.
- Bei anderen Rechnern muss man ggf. etwas suchen.
Die Ethernetkarte für WOL aktivieren
Nun starten Sie den Rechner normal und melden sich als Sysadmin an. Installieren Sie das folgende Paket:
$ sudo apt update
$ sudo apt install ethtool
Früher war die Bezeichnung der Ethernetkarte in Linuxumgebungen einfach eth0. Bei den moderneren Systemen weich diese Bezeichnung meist ab. Ermitteln Sie nun die Kennung der Ethernetkarte mit
$ ip addr list
Das Ergebnis könnte z.B. so aussehen:
Die Bezeichnung der Ethernetkarte beginnt mit e, WLAN mit w, das interne Loopbackdevice heißt lo. Im o.g. Beispiel ist enp0s31f6 die Bezeichnung der Ethernetkarte.
Es gibt folgende WOL-Optionen, die jedoch nicht alle von der Ethernetkarte unterstütz werden müssen:
WOL-Option | Bezeichnung |
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(tm) |
s | Enable SecureOn(tm) password for MagicPacket(tm) |
d | Disable (wake on nothing). This option clears all previous options. |
Die am meisten verwendete Option ist g.
Um die aktuelle Einstellung zu sehen, geben Sie bitte folgendes ein:
$ sudo ethtool enp0s31f6
… falls enp0s31f6 die Bezeichnung Ihrer Ethernetkarte ist. Sie erhalten dann eine Ausgabe die so ähnlich aussieht:
Für die WOL-Einstellungen wichtig sind die beiden folgenden Zeilen:
Supports Wake-on: pumbg | Nur die angegebenen Optionen können verwendet werden |
Wake-on: g | Die Option g (Wake on MagicPacket(tm)) ist eingestellt. |
Soll die WOL-Option geändert werden, kann das mit …
$ sudo ethtool -s enp0s31f6 wol g
… bewerkstelligt werden.
Einen anderen Rechner aufwecken
Der so präparierte Rechner kann nun von einem beliebigen Rechner im LAN mit Hilfe des Programms wakeonlan aufgeweckt werden. Das Programm sendet ein MagicPacket(tm). Es kann – falls nicht schon vorhanden – mit …
$ sudo apt install wakeonlan
… installiert werden. Um einen Rechner aufzuwecken benötigt man die MAC-Adresse seiner Ethernetkarte …
$ sudo wakeonlan 98:9b:cb:6e:60:2b
oder seine IP-Adresse …
$ sudo wakeonlan -i 192.168.178.34
Man kann auch eine ganze Reihe von Rechnern gemeinsam aufwecken. Dazu müssen Ihre Daten in einer Datei gespeichert werden, die so oder ähnlich aufgebaut ist:
Kopieren Sie die Datei in Ihr Homeverzeichnis und ändern Sie sie nach Ihren Bedingungen. Den Weckruf setzen Sie dann mit ….
$ sudo wakeonlan -f lan001.wol
… ab.