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.

Konfiguration und Aktionsmeldungen finden Sie in der Webschnitstelle unter den Menupunkten „Fernsteuerung / Wake On Lan“ und den Punkten darunter.

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, vom Satellitenserver aus per ssh erreichbar ist, womöglich durchgehend in Betrieb ist, die gewünschten Zielrechner wit WoL-Paketen erreichen kann und auf dem ein Skript zur Weckung gestartet werden kann. Das Weck-Skript wird vom Satellitenserver übergeben und 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 weiteren 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).

Subnetze

„“

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.
  • 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.

Togo

  • Erkennung der Netzerreichbarkeit durch Sat
  • Laufende bwlp-Clients werden automatisch als JumpHost verwendet (auch DNBD3-Proxys)
  • Externe Jumphosts einrichten
  • 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