Wie aktiviere ich Wake On Lan (WOL) in Ubuntu 16.04 LTS?
Ich habe einen besseren Weg gefunden, der für mich funktioniert. Zumindest sauberer. Anscheinend hat Ubuntu den Upstart für systemd geändert , in Ubuntu 15.04, Ubuntu 16.04 und vermutlich auch in den nächsten Versionen. Ich bin neu in beiden Systemen, aber das hat bei mir funktioniert.
Ich poste dies, weil ich beim googeln von Ubuntu 16 wol und anderen ähnlichen Suchen mehrmals auf diesen Beitrag gestoßen bin. Das könnte jemand anderem helfen.
Damit WOL weiterhin funktioniert, musste ich es bei jedem Systemstart erneut aktivieren. Um dies nicht manuell zu tun, habe ich zu diesem Zweck systemd verwendet. Das habe ich gemacht:
Erstellen Sie zunächst die Datei /etc/systemd/system/[email protected]
(behalten Sie das @ -Symbol bei). Gib das ein:
[Unit]
Description=Wake-on-LAN for %i
Requires=network.target
After=network.target
[Service]
ExecStart=/sbin/ethtool -s %i wol g
Type=oneshot
[Install]
WantedBy=multi-user.target
Aktivieren Sie dies für die Schnittstelle beim Booten, führen Sie den folgenden Befehl aus (ändern Sie eth3 mit Ihrer Schnittstelle):
systemctl enable wol@eth3
Sie sollten so etwas sehen:
Created symlink from /etc/systemd/system/multi-user.target.wants/[email protected] to /etc/systemd/system/[email protected].
Um zu überprüfen, ob es aktiviert ist, führen Sie den folgenden Befehl aus (ändern Sie eth3 mit Ihrer Schnittstelle) und es sollte zurückkehren enabled
:
systemctl is-enabled wol@eth3
Um dies zu testen, starten Sie das Programm neu und führen Sie es aus (ändern Sie eth3 mit Ihrer Schnittstelle):
ethtool eth3
Sie sollten eine Zeile mit folgenden Angaben sehen:
Wake-on: g
Quellen:
Emporkömmling:
Upstart ist ein ereignisbasierter Ersatz für den Daemon / sbin / init, der das Starten von Tasks und Diensten während des Startvorgangs, das Stoppen während des Herunterfahrens und das Überwachen dieser Tasks während des Systembetriebs übernimmt.
- upstart - ereignisbasierter Init-Daemon
systemd:
systemd ist eine Reihe grundlegender Bausteine für ein Linux-System. Es bietet einen System- und Service-Manager, der als PID 1 ausgeführt wird und den Rest des Systems startet. (...)
- systemd
In Ubuntu 16.04 Satz
WOL_DISABLE=N
in/etc/default/tlp
WOL zu vermeiden , indem TLP Power - Management deaktiviert bekommen.http://linrunner.de/tlp/docs/tlp-configuration.html
Fügen Sie
NETDOWN=no
in/etc/default/halt
zu verhindern , beim Herunterfahren von der Netzwerkkarte einschaltenAktivieren Sie Wake on LAN in,
/etc/network/interfaces
wenn die statische Netzwerkkonfiguration verwendet wird.Aktivieren Sie Wake-on-LAN im BIOS, rufen Sie das BIOS-Setup auf und suchen Sie nach "Wake-up on PCI event", "Wake-up on LAN" oder ähnlichem. Ändern Sie es so, dass es aktiviert ist. Speichern Sie Ihre Einstellungen und starten Sie neu.
https://help.ubuntu.com/community/WakeOnLan
Warnung Einige Motherboards / Netzwerkcontroller unterstützen WOL nach dem Kaltstart nicht (S5-Status, in dem die Stromversorgung des Systems physisch aus- und wieder eingeschaltet wird). In diesem Fall muss mindestens ein Aus- und Wiedereinschalten (Einschalten, Ausschalten) durchgeführt werden. Um das Problem zu beheben, kann das BIOS so konfiguriert werden, dass es beim Wiederherstellen der Netzstromversorgung hochfährt und anschließend in Ubuntu heruntergefahren wird. Weitere Informationen finden Sie im Handbuch des Motherboards.
quelle
WOL_DISABLE=N
undNETDOWN=no
sollen Teil seines help.ubuntu.com/community/WakeOnLanDamit WOL funktioniert, stellen Sie sicher, dass Ihre Ethernet-Schnittstelle beim Ausschalten ordnungsgemäß von Ihrem System heruntergefahren wird.
Versuche Folgendes:
Erstellen Sie ein Bash-Skript mit dem Namen wol_poweroff.sh im Verzeichnis /etc/rc6.d/ :
Gib diesen Code ein:
Kopieren Sie es in das Verzeichnis /etc/rc0.d (so funktioniert es auch mit halt ):
Machen Sie beide ausführbar:
Testen Sie nun, ob es funktioniert, indem Sie Ihren Computer mit
sudo shutdown now
odersudo poweroff
ausschalten und ein WOL-Tool verwenden, um ein magisches Paket an ihn zu senden.Das war das einzige, was für mich funktioniert hat. Ich habe diese Schritte in einem Fehlerbericht auf launchpad.net gefunden.
Laut dem Autor Robbie Williamson funktioniert dies aus folgenden Gründen:
Quelle: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/981461
quelle
Führen Sie im Terminal Folgendes aus:
Nachdem Sie den zweiten Befehl geschrieben haben, sollten Sie ein g neben Wake-on-Lan sehen
Quelle
quelle
Wenn Sie NetworkManager verwenden, können Sie WOL über Folgendes aktivieren
nmcli
:Erinnern Sie sich an den NAMEN der Verbindung von "802-3-ehternet" TYP für GERÄT von Interesse. Sagen Sie, es heißt "Kabelverbindung 1". Dann ändern Sie es richtig:
So erhalten Sie die MAC-Adresse:
Von nun an können Sie es per
wakeonlan 1a:2b:3c:4d:5e:6f
Befehl von einem anderen Computer im selben LAN aus und wieder einschalten. Dabei handelt es sich1a:2b:3c:4d:5e:6f
um die MAC-Adresse der LAN-Karte aus dem vorherigen Schritt.quelle
Neben den von @nkef vorgeschlagenen Parametern können Sie in / etc / network / interfaces Folgendes festlegen, wenn Sie DHCP anstelle von statischen IP-Einstellungen für den LAN-Adapter (hier eth0 genannt) verwenden:
(getestet auf Ubuntu 16.04 LTS).
quelle
Dies hat mich auch unter Ubuntu 18.04 (kopflose / minimale Installation) gebissen. Leider bieten die hier bereits aufgeführten Antworten, obwohl sie manchmal zu funktionieren scheinen, keine verlässliche Lösung, da sie Rennbedingungen schaffen oder mit ähnlichen Systemen wie systemd kämpfen. netplan und udev.
Anfangs hatte ich auch diesen Ansatz ausprobiert, und es schien zu funktionieren. Ich plane, jeden Abend ein System über WakeOnLan zu booten, um Sicherungen auszuführen, da das System-BIOS keine geplante Option für das Einschalten von Wechselstrom bietet.
Es würde für ein paar Tage funktionieren und sich dann weigern aufzuwachen. Wenn man es manuell einschaltet und ethtool ausführt, sieht man, dass WoL deaktiviert wurde:
Also nahm ich an, dass etwas anderes sein musste, um es wieder auszuschalten, und nachdem ich in den letzten Jahren viele solcher Probleme mit der Übernahme von Teilen des Systems durch systemd hatte, entschied ich mich, hier anzufangen, siehe da:
WakeOnLan = .. .. Standardmäßig deaktiviert.
https://www.freedesktop.org/software/systemd/man/systemd.link.html
Beispiele online zeigen etwas in der Art von:
/etc/systemd/network/50-wired.link
Wie auch immer, das funktionierte immer noch nicht. Dann bin ich auf folgendes gestoßen:
Was dazu geführt hat :
Und was finde ich in /run/systemd/network/10-netplan-eno1.link?
Lösung Entweder:
Da ich die systemd .link-Datei bereits hatte, habe ich sie einfach in 00-wired.link umbenannt, neu gestartet und jetzt meldet ethtool eno1:
Ohne zusätzliche Dienste, die ausschließlich dazu dienen, WoL zu aktivieren.
quelle