Nameserver überwachen

Hallo,

ich möchte gerne die Erreichbarkeit eines Nameservers ständig überwachen, indem ich alle Paar Minuten ein Script laufen lasse, das überprüft ob der Server erreichbar ist. Ich habe auch schon gelernt, dass ein Nameserver auf Port 53 hört. Gibt es bei Nameservern auch sowas wie die HTTP-Response Codes -> also 200 OK, 404 Fehler… Sprich wenn ich einen Nameserver überwachen will: Was muss ich anfragen und was muss der Server antworten, damit alles OK ist?

Gruß Joachim

ich möchte gerne die Erreichbarkeit eines Nameservers ständig
überwachen, indem ich alle Paar Minuten ein Script laufen
lasse, das überprüft ob der Server erreichbar ist. Ich habe
auch schon gelernt, dass ein Nameserver auf Port 53 hört. Gibt
es bei Nameservern auch sowas wie die HTTP-Response Codes
-> also 200 OK, 404 Fehler… Sprich wenn ich einen
Nameserver überwachen will: Was muss ich anfragen und was muss
der Server antworten, damit alles OK ist?

also ich wuerde mir mal die manpage zu dig zu gemuete fuehren, mir ueberlegen, welche eintraege du ueberprufen willst (A, MX, NS), die antworten mittels grep oder awk pruefen und per cron aufrufen.

zb so:

#!/bin/sh
dig $1 $2 | awk ’
$1~/^’$2’.$/ && $4~/^’$3’$/ { found = 1 }
END {
if (found != 1) {
„date“ | getline timestamp
close(„date“)
print timestamp >>"/var/log/nswatch.log"
}
}’

aufruf wie folgt:

./nswatch.sh

und dann per cronjob alle paar minuten…
geht auch als normaler user, dann muss man allerdings das log woanders hin packen, /var/log ist im allgemeinen nur fuer root beschreibbar.

joachim

und dann per cronjob alle paar minuten…

… und wir erfreuen uns, wie stabil der DNS-Cache des Providers läuft :wink:

**niehaus@corrosive:~\>** dig www.wer-weiss-was.de

; \> DiG 8.3 \> www.wer-weiss-was.de 
;; res options: init recurs defnam dnsrch
;; got answer:
;; -\>\>HEADERniehaus@corrosive:~\> 

Hallo Namensvetter:wink:

Danke für die Antwort. Leider kann ich das Script nicht verstehen. Ich verstehe nur PHP…
Könntest Du bitte nochmal in Worten erklären, wie man den Nameserver anfragt und was er daraufhin zurückgeben muss?

Gruß und Danke
Joachim

zb so:

#!/bin/sh
dig $1 $2 | awk ’
$1~/^’$2’.$/ && $4~/^’$3’$/ { found = 1 }
END {
if (found != 1) {
„date“ | getline timestamp
close(„date“)
print timestamp >>"/var/log/nswatch.log"
}
}’

aufruf wie folgt:

./nswatch.sh

und dann per cronjob alle paar minuten…
geht auch als normaler user, dann muss man allerdings das log
woanders hin packen, /var/log ist im allgemeinen nur fuer root
beschreibbar.

joachim