Zum Inhalt springen

Wake On LAN

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 28. Mai 2006 um 15:33 Uhr durch 84.62.23.1 (Diskussion) (Probleme). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Wake on LAN (kurz WOL) ist ein 1995 von AMD in Zusammenarbeit mit Hewlett Packard veröffentlichter Standard, um einen ausgeschalteten Computer über die eingebaute Netzwerkkarte zu starten.

Voraussetzungen

Eine wake-on-LAN-fähige Netzwerkkarte. Der Verbindungsstecker zur Hauptplatine befindet sich rechts neben dem Herstellernamen.

Um Wake on LAN nutzen zu können, müssen sowohl die Hauptplatine, das Betriebssystem als auch die Netzwerkkarte ACPI unterstützen. Während der Computer ausgeschaltet ist, wird die Netzwerkkarte über den Standby-Teil des Netzteils weiterhin mit Strom versorgt.

Magic Packet

Die Netzwerkkarte wartet auf ein so genanntes Magic Packet (Schutzmarke von AMD), bei dessen Empfang der Rechner eingeschaltet wird.

Das Datenpaket ist entweder direkt an die Netzwerkkarte adressiert oder wird als Broadcast verschickt. Es enthält 6 mal in Folge den hexadezimalen Wert FF; unmittelbar danach erscheint die ununterbrochene 16-malige Wiederholung der MAC-Adresse der Netzwerkkarte. Dieser Inhalt kann in ein beliebiges Paket (z. B. IP, IPX) verpackt sein. Es existieren viele Software-Tools, um solche Pakete zu versenden.

Konfiguration unter Windows XP

Um Wake-On-Lan zu benutzen muss man unter Windows XP im Gerätemanager des aufzuweckenden Computers die Netzwerkkarte aufrufen und dort unter "Energieverwaltung" die beiden Häkchen bei "Gerät kann den Computer aus dem Standbymodus aktivieren" und "Nur Verwaltungsstationen können Standbycomputer aktivieren" setzen.

Probleme

Wake-on-LAN funktioniert oft/häufig nicht auf Anhieb. Folgende Punkte sollten in diesem Fall überprüft werden:

  • WLAN-Karten unterstützen prinzipbedingt kein Wake-on-LAN
  • Unterstützt die Hauptplatine Wake-on-LAN (oder Wake-on-PCI) und ist die Funktion im BIOS eingeschaltet? Achtung: Auf ACPI-konformen Systemen mit Windows XP muss die BIOS-Wake-On-PCI-Funktion deaktiviert werden. WOL funktioniert trotzdem. Ansonsten kommt es zu Problemen beim S3- oder S1-Resume.
  • Unterstützt die Netzwerkkarte Wake-on-LAN?
  • Erhält die Netzwerkkarte Standby-Strom? Das erfolgt entweder über ein Wake-On-LAN-Kabel oder (ab PCI 2.1) über den PCI-Bus.
  • Ein häufiges Problem ist, dass die Netzwerkkarte nicht richtig initialisiert wird. Das kann unter Linux mit dem Programm "ethtool" überprüft werden:
ethtool eth0
> Supports Wake-on: pumbg
> Wake-on: d
Im obigen Beispiel ist als Wake-on-LAN-Modus der Netzwerkkarte "d" (disable) eingestellt. Um das richtigzustellen, kann der Befehl
ethtool -s eth0 wol g
verwendet werden. Dieser Befehl muss unter Linux möglicherweise in den Start-Skripten eingetragen werden, damit er bei jedem Systemstart ausgeführt wird. Allerdings sollte das Netzwerkinterface während des Shutdowns nicht abgeschaltet werden, wie es mit "ifconfig ethX down" möglich ist.
  • Der Standby-Teil mancher Netzteile liefert nicht ausreichend Strom.
  • Bei 3c905 Netzwerkkarten der Firma 3COM ist es wichtig die Treiber von der 3COM Hompage zu installieren, da die von Windows bereitgestellten Treiber Wake-On-LAN nicht unterstützen.
  • Ab und zu funktioniert Wake-on-LAN erst, wenn der Computer über die entsprechenden Funktionen des Betriebssystems beendet wird.

[[== Anwendungsbeispiel und Einrichtung in der Praxis ==

Als sehr nützlich hat sich Wake-On-Lan in Zusammenhang mit einem (DSL-)Router erwiesen. Richtet man im Router eine Weiterleitung des Magic Packet ein, hat man die Möglichkeit, die Rechner im lokalen Netz hinter dem Router über das Internet zu starten. Das ermöglicht den weltweiten Zugriff auf die Rechner z. B. per SSH oder Virtual Network Computing. Die meisten Router können ihre IP-Adresse zudem automatisch bei einem DynDNS-Dienst aktualisieren, was den komfortablen Zugriff über eine Internetdomain ermöglicht.

Während das Aufwecken im Netzwerk lediglich von der WOL-fähigkeit der Netzwerkkarte abhängt und heute oft wenig Probleme bereitet, scheitert beim anschließenden Versuch über das Internet meist der DSL-Router.

Trotz Unix-Betriebssystemen sind die meisten Router nicht in der Lage das über UDP eintreffende Paket korrekt an den Rechner weiterzuleiten. Man kann die Möglichkeit des Aufweckens in drei Methoden unterteilen:

  1. Die einfachste ist das Aufwecken über einen laufenden Rechner, beispielsweise einen Server, indem man sich mit diesem Verbindet und von diesem das Paket im LAN verschickt. Solch ein immer erreichbarer Server ist im Heimgebrauch jedoch nicht immer vorhanden. Meist ist es auch gerade der Sinn des Stromsparens, der einen dazu bringt den Rechner nur im Notfall einschalten zu wollen, das impliziert eben keinen immer laufenden Server zuhause.
  1. Die zweite Methode ist das verbinden mit dem DSL Router über Telnet oder das Webinterface, um von hier das Aufwecken zu befehlen. Dies ist jedoch bei jedem Aufwecken mit mehr arbeit verbunden, ggf. auch nicht möglich, wenn hinter einer Firmenfirewall der Telnetport gesperrt ist.
  1. Die dritte Methode ist das Aufwecken via UDP-Paket, welches auch aus dem Internet versendet werden kann (siehe Weblinks). Hier unterscheidet man wiederum zwei Methoden der weiterleitung:
  • Die Weiterleitung via Broadcast: Das eintreffende Paket soll via Portforwarding nicht an einen Rechner, sondern an alle Rechner gesendet werden, so muss die MAC-Adresse des schlafenden Rechners nicht in der ARP-Tabelle stehen. Stattdessen geht das Paket an die Broadcast-MAC Adresse ff-ff-ff-ff-ff-ff. Hier scheitern viele DSL Router. Bei einigen lässt sich die Broadcast IP gar nicht erst eintragen, anderen behandeln sie wie einen normalen Rechner und fragen per ARP-Request rum, wer sich denn hinter der IP Adresse verbirgt.
  • Die Weiterleitung des UDP Pakets an den speziellen Rechner. Router tätigen diese Weiterleitung in fast allen Fällen mittels IP Adressen. Der ausgeschaltete Rechner besitzt jedoch keine IP Adresse mehr. Wenn der Router nun nicht über eine statische ARP Tabelle verfügt, um ihm die IP Adresse quasi für immer einzutragen, so weiß er nicht, über welchen Netzwerk-Port das Magic-Paket nun verschickt werden soll. Er verwirft es. Ggf. klappt das Aufwecken noch so lange, wie der Rechner in der ARP Tabelle steht, das sind allenfalls ein paar Minuten.

Die Aussage, man könnte diese Methode nur dann anwenden, wenn der aufzuweckende Rechner direkt am DSL-Router hängt oder mit einem HUB verbunden ist, ist falsch. Begründet wird dies in diversen Quellen damit, dass ein Switch die MAC Adresse ebenfalls in ihrem Cache löscht, das Ziel damit nicht mehr kennt und verwirft. Ein Switch verwirft ein solches Ethernetframe allerdings nicht, sondern flutet - schickt also an alle anderen Ports weiter.

Man unterscheidet in diesem Beispiel außerdem noch DSL-Router, welche physikalisch mehrere Netzwerkinterfaces haben (z.B. die Fritzbox) und solche, die nur eines besitzen und einen Switch nachgeschaltet haben. Neben der praktischen Sache im Falle der Separation auch zwei komplett verschiedene und getrennte LANs zu betreiben hat dies den Nachteil, dass man den Rechner zwischen der Zeit des Ausschaltens und des Aufweckens unter keinen Umständen an einen anderen physikalischen Port des Routers hängen darf. Im Falle des eingebauten Switches ist dies egal.