Reboot der WatchGuard per Script

Dass ein zeitgesteuerter Reboot einer WatchGuard eingerichtet werden kann, dürfte allgemein bekannt sein (im Policy Manager unter Setup > Global Settings > Automatic Reboot). Neulich fragte ein Kunde, ob ein solcher Reboot auch event-gesteuert eingerichtet werden kann. Konkret sollte die WatchGuard jede Nacht durchbooten – aber erst dann, wenn die nächtlichen Online-Backup Jobs zu Ende gelaufen waren. Die verwendete Backup-Software hat die Option, abschließend ein Programm/Script zu starten, das diese Aufgabe übernehmen könnte.
Eine mögliche Lösung sieht so aus: Auf dem Backup-Server wird die 3rd-Party Software Cygwin installiert (http://cygwin.com). Bei der Installation müssen die Module expect und openssh mitinstalliert werden. Das auszuführende Skript sieht in etwa so aus:

#!/usr/bin/expect

set firebox    "a.b.c.d"   ;# IP-Adresse der WatchGuard
 set fbusername "admin"     ;# admin Account verwenden
 set fbpassword "xxxxxxxx"  ;# admin Kennwort

spawn ssh $fbusername@$firebox -p 4118

# SSH Warnmeldung übergehen bei erstmaliger Anmeldung

set logged_in 0
 while {!$logged_in} {
 expect timeout {
 } "Are you sure you want to continue connecting (yes/no)? " {
 exp_send "yes\r"
 } "\[Pp\]assword*" {
 exp_send "$fbpassword\r"
 } -re "WG.*(#|>)" {
 set logged_in 1
 }
 }

# Reboot-Befehl absetzen und SSH Verbindung beenden

set timeout 20
 exp_send "reboot\r"
 expect timeout {
 } "Reboot (yes or no)?" {
 exp_send "yes\r"
 }
 expect -re "WG.*(#|>)"
 exp_close
 exp_wait

Dieses Script kann nun über die Cygwin-Umgebung ausgeführt werden: C:\cygwin\bin\bash.exe –login -c [Dateiname].

Und kann somit flexibel in jegliche Scripting-/Batch-Umgebungen eingebunden werden. Natürlich kann der v.g. Befehl auch wiederum zeitgesteuert ausgeführt werden, wenn über den Task Scheduler / Aufgabenplanung entsprechende Tasks eingerichtet werden. Während die integrierte Funktion “Automatic Reboot…” nur tägliche oder wöchentliche Intervalle zulässt, können auf diesem Weg also auch davon abweichende Reboot-Zyklen umgesetzt werden. Auch alle anderen Command Line Interface (CLI) Befehle lassen sich auf die o.g. Methode von außen scripten… Damit sind viele kreative Ideen umsetzbar, z.B. auch das regelmäßige Auslesen der XML-Konfigurationsdatei und Ablegen auf einen FTP-Server…

Die vollständige Referenz der Kommandozeilen-Befehle findet sich auf der WatchGuard Website unter http://www.watchguard.com/help/documentation/xtm.asp

Ein Kommentar zu “Reboot der WatchGuard per Script”

Leave a Reply

Your email address will not be published. Required fields are marked *