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 “yesr”
} “[Pp]assword*” {
exp_send “$fbpasswordr”
} -re “WG.*(#|>)” {
set logged_in 1
}
}
# Reboot-Befehl absetzen und SSH Verbindung beenden
set timeout 20
exp_send “rebootr”
expect timeout {
} “Reboot (yes or no)?” {
exp_send “yesr”
}
expect -re “WG.*(#|>)”
exp_close
exp_wait
Dieses Script kann nun über die Cygwin-Umgebung ausgeführt werden: C:cygwinbinbash.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