Dies ist eine alte Version des Dokuments!


Fernsteuerung / Wake On Lan (WoL)

Mit der Fernsteuerung können einzelne oder mehrere Rechner über Netzwerk gestartet, neugestartet oder heruntergefahren werden. Weiterhin können auf ausgewählten Computern beliebige Aktionen per Skript ausgeführt werden.

Sollten Sie sich bei bereits geschehener Konfiguration nur noch für die Anwendung interessieren, können Sie direkt zu Rechnerauswahl und Aktionen weiterspringen.

Konfiguration Server

Schaltfläche Grundeinstellungen
Eingabe Grundeinstellungen Einstellungen

Die nötigen Grundeinstellungen beziehen sich einerseits auf die Generierung eines für die Aktionen Neustart (Reboot), Herunterfahren (Shutdown) und Skriptausführung notwendigen ssh-Schlüssels, andererseits der Festlegung einiger Parameter für „Wake on Lan“ (im Folgenden auch einfach „WoL“ genannt).

Grundeinstellungen

Die Grundeinstellungen sind über die Schaltfläche „Einstellungen“ (siehe Abb. links) sowohl vom Menupunkt „Fernsteuerung / Wake On Lan“ als auch den Untermenupunkten erreichbar.

ssh

Erzeugen Sie hier ein ssh-Schlüsselpaar. Achtung: Wenn Sie ein neues Schlüsselpaar erzeugen, können ab diesem Zeitpunkt bereits laufende Rechner nicht mehr über die Aktionen Neustart, Herunterfahren und Skript-Ausführung angesprochen werden. Diese müssen dann - falls kein anderer Zugriff konfiguriert - ggf. manuell neugestartet werden.

Wake-on-Lan-Port

Hier kann der udp-Zielport für WoL-Pakete eingestellt bzw. geändert werden. Standardmäßig ist Port 9 vorgegeben.

Automatische WoL-Ermittlung

  • WOL-Erreichbarkeit von Subnetzen automatisch ermitteln: Bei Aktivierung ermittelt der Satellitenserver automatisch, welche Client-Subnetze direkt per „Directed Broadcast“ erreichbar sind. Dabei wird der oben angegebene Port verwendet.
  • Auch Erreichbarkeit zwischen Client-Subnetzen prüfen: Zusätzlich wird ermittelt, welche Client-Subnetze untereinander WoL-Pakete (udp) versenden können. In der Regel außer beiungewöhnlichen Firewall-Regelungen nicht notwendig.

Sprunghosts

Ein Sprunghost ist in diesem Kontext einfach ein anderer Linux1)-Rechner, der den WoL-Befehl vom Satellitenserver weiterleitet - z.B. wenn das Ziel-Subnetz nicht direkt erreichbar ist. Ein Spunghost muss vom Satellitenserver aus per SSH erreichbar (und im Idealfall durchgehend in Betrieb) sein sowie die gewünschten Zielrechner mit WoL-Paketen erreichen können. Das Weck-Skript wird vom Satellitenserver übergeben und vom Spunghost ausgeführt. Das Skript kann per Webschnittstelle editiert werden. Bereits konfigurierte Sprunghosts werden hier aufgelistet, ein Klick auf die Schaltfläche „+Neu“ bringt Sie zu den zur Konfiguration eines Sprunghosts nötigen Einstellungen.

Host, Port, Benutzername

Geben Sie hier den Hostnamen (IP oder DN) des zu verwendenden Sprunghosts an, den zu verwendenden Port des ssh-Zugangs (Default: 22) und den Namen des Users, unter dem das ssh-Login zum Starten des WoL-Skriptes stattfinden soll.

Sie können als Usernamen „root“ verwenden. Dies ist jedoch nicht notwendig. Verwenden Sie stattdessen eine möglichst gering berechtigte Userkennung!

Geheimer Schlüssel

Erzeugen Sie ein ssh-Schlüsselpaar, und legen den öffentlichen Schlüsselteil an passender Stelle des Useraccounts2) ab.

Aufweck-Skript

Legen Sie hier das Skript ab, das zum Wecken der Clientrechner dienen soll. Zur Bequemlichkeit wurde ein Skript vorgelegt, das in den meisten Fällen genügen dürfte. Dieses Skript wird unter der Standard-Shell des oben angegebenen Benutzers ausgeführt; das Vorgabeskript nimmt die bash als Shell an und erwartet, dass mindestens eines der Dienstprogramme „wakeonlan“ (bevorzugt) oder „etherwake“ vorhanden und für oben angegebenen User ausführbar ist. Ein übergebenes Skript kann zwei Platzhalter enthalten, die vor der Übergabe vom Satellitenserver ersetzt werden:

  • %MACS% ist eine durch Leerzeichen getrennte Liste von MAC-Adressen der zu weckenden Rechner. Das Tool „wakeonlan“ unterstützt direkt mehrere MAC-Adressen, sodass der Platzhalter %MACS% direkt als Kommandozeilenargument verwendet werden kann. Das Tool „etherwake“ hingegen kann pro Aufruf immer nur einen Host aufwecken, weshalb eine for-Schleife notwendig ist.
  • %IP% enthält je nach Ziel entweder „255.255.255.255“ oder bei einem netzübergreifenden WoL-Paket die „directed broadcast address“ des Zielnetzes. Netzübergreifende WOL-Pakete werden vom „etherwake“ nicht unterstützt.
Vergessen Sie nicht, anschließend dem erstellten Sprunghost wie im nächsten Schritt unter #Netze beschrieben, Subnetze zuzuordnen.

Auflistung und Kontrolle

Auflistung bestehender Sprunghosts

Nach der Speicherung der Konfiguration eines Sprunghosts erscheint dieser in der Auflistung (siehe Abb. rechts).

  • Host: Name bzw. IP-Adresse des betreffenden Sprunghosts.
  • #Netze: Ein Klick auf das Stapelsymbol öffnet eine Liste der dem Satellitenserver bekannten Subnetze. Setzen Sie ein Häkchen vor den Subnetz, die Sie diesem Sprunghost zuordnen wollen. Die Zahl dahinter gibt die Anzahl der diesem Sprunghost zugeordneten Subnetze an.
  • Erreichbar: Prüfen Sie die Erreichbarkeit des Sprunghosts vom Satellitenserver aus durch Druck auf die Schaltfläche „Testen“. Nach diesem Test sollte ein grünes Häkchen vor der Schaltfläche angezeigt werden. Sollte dies nicht der Fall sein, überprüfen Sie die Konfiguration des Sprunghosts, die prinzipielle Netzerreichbarkeit und gegebenenfalls die Einstellungen dazwischenliegender Router bzw. Firewalls.
  • Editiersymbol: Bringt sie zur Konfiguration des jeweiligen Sprunghosts.
  • Mülltonnensymbol: Löscht den betreffenden Sprunghost aus der Liste3).
Laufende bwlp-Clients, auch dnbd3-Proxies, werden automatisch als Sprunghost verwendet. Es genügt also ein laufender Rechner, um weitere Rechner im Subnetz nachzustarten - etwa eine PVS-Station.

Subnetze

Hier finden Sie eine Auflistung der dem Satellitenserver bekannten Subnetze und eine Möglichkeit, ein Subnetz manuell hinzuzufügen. Die Liste füllt sich automatisch mit Subnetzen bekannter Clientrechner. Zudem wird automatisch ermittelt, welche Netze mittels „Directed Broadcasts“ erreichbar sind, sofern diese Funktion nicht über die [#grundeinstellungen|„Einstellungen“] deaktiviert wird.

Liste

In der Liste sind folgende Spalten zu finden:

  • Subnetz: Ein Klick darauf öffnet den [#subnetz_hinzufuegen|unten beschriebenen Dialog] zur Editierung / Erstellung / Löschung des Subnetzes.
  • Augensymbol: Wechselt zur Statistik mit Voreingabe der Auflistung der Rechner des bezüglichen Subnetzes.
  • Manuell konfiguriert: Die direkte Erreichbarkeit vom Satelliten aus wird nicht periodisch automatisch ermittelt, sondern manuell festgelegt. Bei vom Satellitenserver automatisch hinzugefügten Subnetzen können Sie diese Erreichbarkeit aus- und einschalten; klicken Sie dazu auf die Subnetzangabe und aktivieren „Subnetz-Einstellungen manuell festlegen“.
  • Direkt erreichbar: Es sind keine Sprung-Hosts oder laufende Clients im Zielnetz notwendig, da dieses Subnetz WoL-Pakete direkt vom Satellitenserver empfangen kann.
  • Erreichbarkeit: Die erste Zahl ist die Anzahl von Sprung-Hosts, die dieses Subnetz erreichen können. Die zweite Zahl ist die Anzahl anderer Subnetze, von denen aus WOL-Pakete dieses Subnetz erreichen können.
  • Zuletzt gesehen: Datum, zu dem der Satellitenserver letztmalig einen Clientrechner in dem betr. Subnetz sah.

Subnetz hinzufügen

Sie können ein Subnetz händisch hinzufügen, indem Sie das Netz à la 1.2.3.0/24-Notation eintragen und auf „Hinzufügen“ klicken. Wenn Sie durch Klick auf ein Subnetz über die Liste der Subnetze gekommen sind, sehen Sie ebenfalls diese Auswahlmöglichkeiten; in diesem Fall können Sie sie editieren.

  • Subnetz-Einstellungen manuell festlegen: Wenn aktiviert, wird die Erreichbarkeit für dieses Subnetz nicht mehr automatisch ermittelt. In diesem Fall können Sie selbst festlegen, ob das Subnetz WoL-Pakete vom Satellitenserver empfangen kann. Außerdem wird das Subnetz bei Setzen dieser Option nicht mehr automatisch aus der Datenbank gelöscht, wenn 6 Monate lang kein Client in diesem Subnetz gesehen wurde.
  • Erreichbar vom Satellitenserver: Wenn dieser Haken gesetzt ist wird angenommen, dass WoL-Pakete dieses Subnetz erreichen können. Dazu muss der Router des Ziel-Netzes sog. „Directed Broadcasts“ unterstützen bzw. nicht filtern. Anmerkung: Diese Option steht nur zur Verfügung, wenn die Option „Subnetz-Einstellungen manuell festlegen“ aktiviert wurde.
  • Zugewiesene Sprung-Hosts: Falls diesem Subnetz Sprunghosts zugeordnet wurden, werden diese hier aufgelistet (falls Sie dem Subnetz nachträglich einen Sprunghost zuordnen wollen: siehe [#sprunghosts|Sprunghosts]).
  • Erreichbar von: Falls dieses Subnetz von anderen Subnetzen aus erreichbar ist, werden diese hier aufgelistet.

Weiterhin finden Sie hier eine Schaltfläche „Löschen“, falls Sie das Subnetz löschen wollen.

Konfiguration Clients

Zur Nutzung von WoL müssen clientseitig einige Bedingungen gegeben sein:

  • Allgemein muß WoL im BIOS bzw. UEFI der betreffenden Rechner aktiviert sein und auch zum Tragen kommen können - manche Stromspareinstellungen („zero Watt“ u.a.) können dafür sorgen, daß eigentlich korrekt aktiviertes WoL nicht zum Tragen kommt.
    • Achtung: Gestartete Betriebssysteme können die WoL-Funktionalität über Software konfigurieren bzw. ein- und ausschlaten. Unter Windows erfolgt dies im Gerätemanager in den Eigenschaften der Netzwerkkarte, unter Linux kann die WoL-Funktion u.a. mit ethtool beeinflusst werden. Dies ist evtl. relevant, wenn parallel zu bwLehrpool ein lokales OS betrieben wird. bwLehrpool aktiviert WoL automatisch bei jedem Boot.
  • Die Bootreihenfolge in BIOS/UEFI muss so gesetzt sein, dass nach einem Rechnerstart per Netzwerk gebootet wird, also PXE bzw. Netzwerkboot an erster Stelle steht.
    • Achtung: Es gibt PC-Modelle, die mehr als eine Bootreihenfolge konfiguriert haben können, beispielsweise eine für den Start per Power-Knopf, weitere für bestimmte Events (WoL, Uhrzeit, …).
  • Die sogenannten „magic packets“, die WoL auslösen, werden je nach Routerkonfiguration gern an Subnetzübergängen geschluckt. In diesem Fall muss entweder die Routerkonfiguration angepasst werden oder für Sprunghosts gesorgt werden.

Auswahl der Rechner

Ausschnitt Räume/Orte: Klick auf Rechneranzahl …
Ausschnitt Statistiken: … oder erweiterte Suche nach Raum unter „Mehr“ …
… liefert eine Liste der Rechner des Raums.

Vor der Ausführung einer Fernsteueraktion müssen die Zielrechner ausgewählt und gekennzeichnet werden. Hier führen viele Wege nach Rom. Im wohl häufigsten Fall der Ansteuerung eines ganzen Raumes empfiehlt sich, einfach auf den Menupunkt „Räume/Orte“ zu gehen und dort auf die in der Spalte „Rechner“ befindliche, dem Raum zugeordnete blau hinterlegte Zahl zu klicken (siehe Abb. rechts, Zahl eines Raumes umkreist). Dies führt direkt zur Auflistung aller Rechner dieses Raumes.

Sie können aber auch über den Menupunkt „Client-Statistiken“ gehen, und dort beispielsweise über Klick auf die Schaltfläche „Mehr“ nach einem bestimmten Raum suchen (siehe Abb. rechts). Kurz ausgedrückt: Sie können sich über die Client-Statistiken Rechner nach x-beliebigen Merkmalen und Kriterien auflisten lassen. Was auch immer Sie als Suchkriterium bzw. -kriterien suchen ließen: Sie bekommen eine verwendbare Liste, wenn Sie bei dem Statistik-Suchergebnis auf die Schaltfläche „Liste“ rechts oben klicken

Wie auch immer Sie also zu einer Rechnerliste gelangten: Markieren Sie dort die gewünschten Rechner durch Klick auf das Kästchen vor dem jeweiligen Rechnernamen; Sie können durch Klick auf das Kästchen vor „Rechner“ ganz oben auch alle Einträge markieren/demarkieren. Erneuter Klick auf ein Kästchen demarkiert - wenn Sie also beispielsweise alle Rechner außer einem haben wollen, klicken Sie auf das Kästchen vor „Rechner“, um alle zu markieren, und demarkieren den auszuschließenden Computer (siehe Abb. rechts).

Nach Markierung mindestens eines Rechners wird die unten rechts befindliche Schaltfläche „Ferngesteuerte Aktionen“ aktiviert. Ein Linksklick darauf klappt die Fernsteuerungsmöglichkeiten (siehe unten) aus, mit einem weiteren Linksklick veranlassen Sie die Aktion Ihrer Wahl. Anmerkung: In der Abbildung wurde der erste Linksklick zur besseren Illustration bereits ausgeführt.

Fernsteuerung bei Einzelrechner

Eine Ausnahme gibt es allerdings: Sollte Ihre Suche - egal ob per Raumauswahl oder über die Statistiken - einen einzelnen Rechner als Ergebnis liefern, erhalten Sie keine Liste angezeigt, sondern direkt eine Art Detailanzeige des betreffenden Computers. Das ist jedoch weiter kein Problem; Sie erhalten die gleichen Aktionsmöglichkeiten, nur eben nicht als Ausklappmenu, sondern direkt angezeigt (siehe Abb. links).

Aktionen

Als direkt ansteuerbare Aktionen stehen „Herunterfahren“, „Neustart“, „Wake on LAN“ zur Verfügung. Daneben besteht die Möglichkeit, ein sebst definiertes Skript zur Ausführung zu übergeben.

Herunterfahren

Die Auswahl der Möglichkeit „Herunterfahren“ löst - wer hätte das gedacht! - einen Shutdown der ausgewählten Rechner aus. Betroffene Rechner mit eingeloggtem User erhalten eine fünfminütige Frist vor dem herunterfahren. Clientseitig werden in diesem Fall im Minutentakt Warnungen angezeigt.

Neustart

Die Auswahl der Schaltfläche „Neustart“ löst einen Neustart/Reboot aus4). nach Anwahl der Schaltfläche kann per Häkchen eine Art Blitz-Neustart per kexec mit schnellem Reboot in bwLehrpool gewählt werden. Auch in diesem Fall erhalten eingeloggte User eine fünfminütige Frist vor dem Neustart. Clientseitig werden ebenfalls im Minutentakt Warnungen angezeigt.

Wake on LAN

„Wake on Lan (WoL)„ ist für viele Dinge eine praktische und bequeme Sache, als ein Beispiel von vielen sei hier nur das Vor-Starten der Rechner eines Raumes vor Kursen oder E-Prüfungen genannt. Die Fähigkeit zum Starten per WoL stellt neben anderem eine Voraussetzung für den Betrieb von bwLehrpool-remote dar.

Befehl ausführen

Fernsteuerung: Skriptbeispiel
Fernsteuerung: Skriptausgabe

Per „Befehl ausführen“ können beliebige Skripte übergeben und mit Rootrechten ausgeführt werden. Alle dazu benötigten Skriptinterpreter und angesprochene Dienstprogramme müssen selbstverständlich clientseitig vorhanden sein; ansonsten sind Sie in Ihren Möglichkeiten völlig frei. Wie unter Linux üblich ist die Angabe eine Shebang-Zeile5) anzuraten.

Rechts ist als Beispiel ist als simples Skriptbeispiel der Befehl „who“ unter der bash-Shell ausgeführt6) angegeben, der auf vier Zielrechnern ausgeführt wird. Links sehen Sie die Ausgabe des Skriptes, pro Rechner jeweils in den grauen Unterfeldern, zusammen mit der Angabe des jeweiligen Exit codes. Standardausgabe und Fehlerkanal (stdout und stderr) werden in zwei getrennten Feldern ausgegeben.

Jobliste

Fernsteuerung: Skriptbeispiel
Fernsteuerung: Skriptbeispiel
Fernsteuerung: Skriptbeispiel
Fernsteuerung: Skriptbeispiel
Fernsteuerung: Skriptbeispiel
Fernsteuerung: Skriptbeispiel

Nachdem Sie

Noch zu dokumentieren

  • Debug Möglichkeiten (z.B. jawol -l)
  • bwPC3 (HP Compaq 8200 Elite CMT) macht evtl. vereinzelt Probleme bei WoL

„“

1)
oder einem anderen unixoiden Betriebssystem
2)
z.B. manuell nach ~/.ssh/authorized_keys oder bequem per ssh-copy-id.
3)
wer hätte das gedacht:)
4)
Wären Sie draufgekommen? :)
5)
z.B. #!/bin/bash, #!/bin/perl, #!/bin/sh usw.
6)
siehe Shebang
Drucken/exportieren