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-OptionBezeichnung
pWake on phy activity
u Wake on unicast messages
mWake on multicast messages
bWake on broadcast messages
aWake on ARP
gWake on MagicPacket(tm)
sEnable SecureOn(tm) password for MagicPacket(tm)
dDisable (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: pumbgNur die angegebenen Optionen können verwendet werden
Wake-on: gDie 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:

Inhalt der Datei /usr/share/doc/wakeonlan/examples/lab001.wol

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.