Wake-on-LAN unter Linux (Nur lokales Netzwerk)
Diese Anleitung erklaert, wie Sie Wake-on-LAN (WOL) unter Linux aktivieren, nachdem es bereits auf der Hardware- / Firmware-Ebene aktiviert wurde.
Wake-on-LAN unter Linux funktioniert nur mit kabelgebundenen Ethernet-Verbindungen. Es funktioniert nicht zuverlaessig ueber Wi-Fi.
Unterstuetzte Systeme
Diese Anleitung gilt fuer die meisten modernen Linux-Distributionen, einschliesslich:
- Ubuntu
- Debian
- Fedora
- Arch Linux
- Linux Mint
- Raspberry Pi OS
Gilt nur fuer Systeme mit:
- Kabelgebundenem Ethernet
- Netzwerkkarten, die Wake-on-LAN unterstuetzen
Voraussetzungen
Stellen Sie vor dem Fortfahren sicher, dass:
- Wake-on-LAN im BIOS / UEFI aktiviert ist
- Der Computer ueber Ethernet verbunden ist
- Die Ethernet-Schnittstelle von Linux erkannt wird
Wenn BIOS / UEFI noch nicht konfiguriert ist, fuehren Sie dies zuerst durch:
Zu diesem Zeitpunkt ist keine MAC-Adresse erforderlich.
Schritt 1: Die Ethernet-Schnittstelle identifizieren
Oeffnen Sie das Terminal und fuehren Sie aus:
ip link
Suchen Sie nach der aktiven Ethernet-Schnittstelle. Gaengige Namen umfassen:
eth0enp3s0enp0s25
Ignorieren Sie:
lo- Wi-Fi-Schnittstellen (
wlan0,wlpXsY) - VPN- oder virtuelle Schnittstellen
Sie werden diesen Schnittstellennamen in den naechsten Schritten verwenden.
Schritt 2: Wake-on-LAN-Unterstuetzung pruefen
Fuehren Sie folgenden Befehl aus und ersetzen Sie INTERFACE durch den Namen Ihrer
Ethernet-Schnittstelle:
sudo ethtool INTERFACE
Suchen Sie nach der Zeile:
Supports Wake-on: Wake-on:
Beispiel:
Supports Wake-on: pumbg Wake-on: d
Bedeutung:
g= Wake on Magic Packet (erforderlich)d= deaktiviert
Wenn g nicht unter Supports Wake-on aufgefuehrt ist, unterstuetzt die
Netzwerkkarte Wake-on-LAN nicht.
Schritt 3: Wake-on-LAN aktivieren
Um Wake-on-LAN (Magic Packet) zu aktivieren:
sudo ethtool -s INTERFACE wol g
Ueberpruefen Sie die Aenderung:
sudo ethtool INTERFACE
Die Ausgabe sollte zeigen:
Wake-on: g
Dies aktiviert Wake-on-LAN auf Betriebssystemebene.
Schritt 4: Die Einstellung persistent machen (wichtig)
Auf vielen Linux-Systemen werden Wake-on-LAN-Einstellungen nach einem Neustart zurueckgesetzt.
Sie muessen die Konfiguration persistent machen.
Option A: NetworkManager (die meisten Desktop-Systeme)
Erstellen oder bearbeiten Sie ein Dispatcher-Skript:
sudo nano /etc/NetworkManager/dispatcher.d/99-wol
Fuegen Sie folgenden Inhalt hinzu:
#!/bin/sh
if [ "$2" = "up" ]; then /usr/sbin/ethtool -s INTERFACE wol g fi
Ersetzen Sie INTERFACE durch den Namen Ihrer Ethernet-Schnittstelle.
Machen Sie das Skript ausfuehrbar:
sudo chmod +x /etc/NetworkManager/dispatcher.d/99-wol
Option B: systemd-Dienst (generische Methode)
Erstellen Sie einen systemd-Dienst:
sudo nano /etc/systemd/system/wol.service
Fuegen Sie hinzu:
[Unit] Description=Enable Wake-on-LAN After=network.target
[Service] Type=oneshot ExecStart=/usr/sbin/ethtool -s INTERFACE wol g
[Install] WantedBy=multi-user.target
Ersetzen Sie INTERFACE durch den Namen Ihrer Ethernet-Schnittstelle.
Aktivieren Sie den Dienst:
sudo systemctl enable wol.service
Schritt 5: Ueberlegungen zum Energiezustand
Wake-on-LAN unter Linux funktioniert, wenn das System sich im folgenden Zustand befindet:
- Heruntergefahren (S5)
- Ruhezustand (S3)
- Winterschlaf (Hibernate) (falls unterstuetzt)
Anforderungen:
- Das Ethernet-Kabel muss verbunden bleiben
- Das System muss mit Strom versorgt bleiben
Schritt 6: Ueberpruefen (optional)
Nach dem Herunterfahren des Systems:
- Ueberpruefen Sie die Ethernet-Port-LEDs
- Sie sollten an bleiben oder blinken
Dies zeigt an, dass die Netzwerkschnittstelle weiterhin mit Strom versorgt wird und zuhoert.
Haeufige Probleme und Loesungen
Wake-on-LAN wird nach dem Neustart zurueckgesetzt
- Die Einstellung ist nicht persistent
- Verwenden Sie den NetworkManager-Dispatcher oder den systemd-Dienst
Funktioniert aus dem Ruhezustand, aber nicht aus dem Shutdown
- Das BIOS unterstuetzt moeglicherweise kein WOL aus S5
- Suchen Sie nach WOL from S5 oder Shutdown Wake-On-LAN
- Deaktivieren Sie Deep-Sleep-Optionen im BIOS/UEFI
Schnittstellenname aendert sich
- Modernes Linux verwendet vorhersagbare Schnittstellennamen
- Ueberpruefen Sie den Schnittstellennamen mit
ip link - Aktualisieren Sie Skripte entsprechend