So aktivieren Sie Wake-on-LAN (WOL)-Unterstützung unter Linux

Wie Sie Wake-on-LAN auf Ihrem Linux-Rechner zum Laufen bringen, ohne den Verstand zu verlieren

Die Nutzung von WoL unter Linux kann mitunter etwas knifflig und frustrierend sein. Man richtet alles ein – BIOS, Netzwerktools – und dann passiert nichts. Oder noch schlimmer: Es heißt, WoL werde nicht unterstützt, obwohl die Hardware es eigentlich können sollte. Dieser Leitfaden soll Ihnen einige Probleme ersparen, indem er Sie durch häufige Fallstricke und praktische Lösungen führt, damit Sie Ihren Linux-Rechner endlich per Fernzugriff aufwecken können, ohne jedes Mal die Nerven zu verlieren.

Wie man das Problem behebt, dass WoL unter Linux nicht funktioniert

Stellen Sie sicher, dass das BIOS Wake-on-LAN unterstützt und diese Funktion aktiviert hat.

Das ist der erste Schritt, wird aber oft übersehen. Manchmal sind die BIOS-Einstellungen hinter unübersichtlichen Menüs versteckt oder je nach Mainboard unterschiedlich benannt. Starten Sie Ihren PC neu und drücken Sie Entf, F2 oder die Taste, die das BIOS/UEFI öffnet. Gehen Sie zu „Energieverwaltung“ oder „Erweitert“.Suchen Sie nach Optionen mit Namen wie Wake on PCI/PCI-E„Energieverwaltung“, Power on By PCI-E„Energieverwaltung“ oder „ S5 Wake on LANEnergieverwaltung“.Aktivieren Sie diese. Speichern und beenden Sie das BIOS/UEFI. Windows macht es einem natürlich unnötig schwer – Linux übernimmt einfach all diese Eigenheiten.

Bei manchen Konfigurationen ist diese Einstellung nicht offensichtlich und möglicherweise standardmäßig deaktiviert, weshalb WoL nicht ausgelöst wird. Nachdem Sie sie aktiviert haben, starten Sie das Gerät neu und prüfen Sie, ob Ihre Netzwerkkarte für Magic Packets bereit ist.

Installieren und verwenden Sie ethtool, um WoL zu überprüfen und zu aktivieren.

Dieses Tool ist ein Lebensretter, aber die Kommandozeile kann anfangs etwas einschüchternd wirken.Warum ist es so hilfreich ? Es interagiert direkt mit dem Treiber Ihrer Netzwerkkarte. Wenn WoL unterstützt wird, kann ethtool Ihnen das anzeigen und aktivieren. Wird WoL nicht unterstützt oder ist der Treiber gar nicht kompatibel, sieht es im Grunde schlecht aus.

Installieren Sie es, falls Sie dies noch nicht getan haben: $ sudo apt install ethtool

Suchen Sie Ihre Ethernet-Schnittstelle – höchstwahrscheinlich etwas wie „Ethernet 360“ enp3s0oder „Ethernet eth0460“.Listen Sie alle Schnittstellen auf: „Ethernet 360“ $ ifconfigoder „Ethernet 460“.$ ip link

Laufen: $ sudo ethtool enp3s0 | grep "Wake-on"

Erwarten Sie eine Meldung wie „d“ (deaktiviert), „w“ (Aufwecken bei Magic Packet) oder ähnliche Flags. Falls die Funktion deaktiviert ist, versuchen Sie Folgendes: $ sudo ethtool --change enp3s0 wol g

Dieser Befehl weist die Netzwerkkarte an, Magic Packets zu akzeptieren. Wenn die Änderung bestätigt wird, ist das super – das ist Schritt eins. Falls eine Fehlermeldung erscheint netlink error: cannot enable unsupported WoL mode (offset 36), ist das ein Hinweis darauf, dass Ihre Hardware oder Ihr Treiber WoL auf dieser Schnittstelle nicht unterstützt.

WoL nach Neustart beibehalten – NetworkManager oder systemd verwenden

Denn Linux setzt diese Einstellungen natürlich beim Neustart zurück. Sie benötigen eine Möglichkeit, dies zu automatisieren. Hier sind einige Optionen:

Methode 1: Verwendung von nmcli (für NetworkManager)

Viele Distributionen, insbesondere Ubuntu, Debian, Rocky oder Fedora, verwenden NetworkManager. Sie können WoL aktivieren, um $ nmcli con showVerbindungen aufzulisten und Ihre kabelgebundene Verbindung zu finden. Es werden Namen wie „ Kabelgebundene Verbindung 1“ oder benutzerdefinierte Namen angezeigt.

WoL für diese Verbindung aktivieren: $ sudo nmcli c modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic

Prüfen Sie, ob es aktiviert ist: $ nmcli c show "Wired connection 1" | grep 802-3-eth

Falls es fehlerhaft ist oder nicht funktioniert, müssen Sie es möglicherweise bei jedem Systemstart erneut anwenden oder in die Startroutinen einbinden.

Methode 2: Verwenden Sie systemd, um ethtool beim Systemstart auszuführen.

Das ist zwar etwas umständlich, funktioniert aber gut. Im Prinzip erstellt man einen systemd-Dienst, der den ethtoolBefehl beim Systemstart ausführt, sodass WoL jedes Mal automatisch aktiviert wird.

Erstellen Sie eine Datei /etc/systemd/system/wol.servicemit folgendem Inhalt:

[Einheit] Beschreibung=Wake-on-LAN aktivieren Nach=network-online.target [Service] Typ=Oneshot ExecStart=/sbin/ethtool --change enp3s0 wol g [Installieren] WantedBy=network-online.target 

Ersetzen Sie „wol.service enp3s0“ durch Ihren tatsächlichen Schnittstellennamen. Speichern Sie die Datei und führen Sie anschließend folgende Befehle aus: $ sudo systemctl daemon-reload `$ sudo systemctl enable wol.service` und `$ sudo systemctl start wol.service`

Status prüfen mit: $ systemctl status wol

Auf diese Weise sollte WoL nach jedem Neustart automatisch aktiviert werden, was eine Erleichterung ist.

Testen und Versenden von Magic Packets

Sobald alles eingerichtet ist, kann der Test beginnen. Prüfen Sie, ob Ihr Gerät Energiesparmodi wie Standby unterstützt (überprüfen Sie dies mit dem Befehl `wakeonlan` $ systemctl status suspend.target) und schalten Sie es zum Testen aus oder versetzen Sie es in den Standby-Modus. Verwenden Sie anschließend eine Client-App oder ein CLI-Tool wie `wakeonlan` oder `etherwake`, um die MAC-Adresse einzugeben.

Installieren Sie das Tool: $ sudo apt-get install wakeonlan etherwake

Senden Sie Ihr Zauberpäckchen: $ wakeonlan <MAC-address>oder: $ etherwake <MAC-address>

Wenn Ihre Netzwerkkonfiguration nicht zu restriktiv ist und das BIOS korrekt eingestellt ist, sollte Ihr PC aufwachen. Beachten Sie, dass WoL-Pakete im Allgemeinen nur innerhalb desselben LAN-Segments funktionieren; hier findet keine Routing-Magie statt.

Noch ein letzter Hinweis: Diese Befehle und Einrichtungsschritte funktionieren nicht garantiert auf jeder Hardwarekombination, decken aber die meisten Szenarien ab. Manche Netzwerkkarten unterstützen WoL nicht, oder der Treiber funktioniert nicht.Überprüfen Sie daher die Hardware-Spezifikationen, falls nichts funktioniert.

Zusammenfassung

  • Stellen Sie sicher, dass WoL im BIOS aktiviert ist.
  • Dient ethtoolzum Prüfen und Aktivieren/Deaktivieren der WoL-Unterstützung.
  • WoL mithilfe von NetworkManager- oder systemd-Skripten dauerhaft einrichten.
  • Testen Sie mit wakeonlanoder etherwake.

Zusammenfassung

Die Einrichtung von WoL unter Linux erfordert manchmal mehr Hardwareunterstützung und Treiberprobleme als reine Softwareanpassungen. Ist es aber erst einmal eingerichtet, ist es äußerst praktisch – Server oder PCs aus dem Nebenraum ohne SSH aufzuwecken, ist durchaus nützlich. Man sollte sich jedoch bewusst sein, dass die Netzwerkkarte manchmal einfach kein WoL unterstützt, egal wie viele Einstellungen man vornimmt. Hoffentlich hilft dieser Beitrag jemandem, die Hürden zu überwinden und das Aufwecken aus der Ferne zuverlässig zu gestalten.