Wie kann ich Wake-on-Lan dauerhaft aktivieren?

13

Ich möchte Wake-on-Lan für meine Netzwerkkarten für immer aktivieren. Im Community-Handbuch wird empfohlen, den entsprechenden Befehl hinzuzufügen /etc/network/interfaces. In früheren Erfahrungen mit der Bearbeitung von Ubuntu-Conf-Dateien ist es sehr wahrscheinlich, dass die Netzwerkschnittstellendatei bei jedem Start neu geschrieben wird, wenn nicht bei jedem geeigneten Upgrade. Wie kann am besten sichergestellt werden, dass Wake-on-Lan bei jedem Start aktiviert wird?

djeikyb
quelle

Antworten:

12

Ein Boot-Skript, das ausgeführt wird, nachdem die Netzwerkkarten konfiguriert wurden, sollte den Trick ausführen. Ubuntu benutzt Upstart. Nach der Lektüre über Emporkömmling Jobs, ethtool, ein Emporkömmling Skript zu schreiben, und die interwebs nach einer besseren Lösung suchen, kam ich mit bis diese von jevinskie (Sie wollen dies in einer Datei setzen /etc/init):

start on started network

script
    for interface in $(cut -d: -f1 /proc/net/dev | tail -n +3); do
        logger -t 'wakeonlan init script' enabling wake on lan for $interface
        ethtool -s $interface wol g
    done
end script
  • Startet, wenn die Netzwerkkarte initialisiert wurde
  • Nimmt die NIC-Namen aus / proc / net / dev
  • Protokolliert Aktionen im Syslog
  • Wirkt auf alle nics die gefunden wurden
  • Benötigt ethtool, stelle also sicher, dass es zuerst installiert wird:

    sudo apt-get install ethtool
    

Wenn Sie nur einem Nic die Kraft des Erwachens verleihen möchten, ist so etwas passender:

start on started network

script
    interface=eth0
    logger -t 'wakeonlan init script' enabling wake on lan for $interface
    ethtool -s $interface wol g
end script
djeikyb
quelle
2
Ich dachte immer, Wake-on-Lan sei eine BIOS-Funktion.
con-f-use
@ con-f-use Erfordert die Zusammenarbeit zwischen BIOS und NIC. Beide müssen WOL unterstützen. Außerdem hat mein Nic zumindest die schlechte Angewohnheit, wol nach dem Booten zu deaktivieren. Das Ubuntu-Community-Wiki impliziert, dass dies bei vielen Computern der Fall ist.
Dienstag,
@ con-f-use Dieser Superuser.sx-Thread über die Funktionsweise von Power und Reboot ist auch in Bezug auf WOL interessant.
Djeikyb
Muss dies für systemd geändert werden?
Nathan Osman
@ NathanOsman bitte eine systemd Antwort hinzufügen! Diese Lösung ist immer noch relevant für ältere, aber immer noch unterstützte LTS-Versionen
djeikyb
3

Erstellen Sie eine neue Datei wakeonlanconfigund fügen Sie sie wie folgt ein:

#!/bin/bash
ethtool -s eth0 wol g
exit

Als nächstes legen Sie die Berechtigungen für die Datei fest und machen sie ausführbar:

chmod a+x wakeonlanconfig

Und schließlich das Skript beim Start ausführen:

update-rc.d -f wakeonlanconfig defaults

Weitere Informationen finden Sie unter: http://lukasz-lademann.blogspot.com/2013/01/how-set-up-wol-wake-on-lan-on-thin.html

Lukasz
quelle
1

In Ubuntu 16.04 zusätzlich eingestellt WOL_DISABLE=Nin /etc/default/tlpzu vermeiden , bekommen WOL von TLP Power - Management deaktiviert.

http://linrunner.de/tlp/docs/tlp-configuration.html

Fügen Sie NETDOWN=noin /etc/default/haltzu verhindern , beim Herunterfahren von der Netzwerkkarte einschalten

nkef
quelle