bind9 slave script

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
neodg
Beiträge: 33
Registriert: 30.10.2005 10:56:20
Kontaktdaten:

bind9 slave script

Beitrag von neodg » 04.10.2010 17:34:49

Hallo!

Ich habe mit bind9 master-slave ein kleines script Problem.

Ich lasse die Domains per Script minütlich importieren damit der slave autoritär wird. Das funktioniert auch schon problemlos, aber...

Wenn bind9 nicht läuft, werden die Domains in die named.conf.local doppelt und dreifach eingetragen, danach startet der bind natürlich auch nicht mehr. Ich würde gerne in das folgende Script einbauen das erstens noch geprüft wird ob bind läuft, wenn er nicht läuft -> starten und dann erst importieren.

Code: Alles auswählen

#!/bin/sh
NAMED="/etc/bind/named.conf.local"
TMPNAMED="/tmp/zns-441245.temp"
TMPZONEFILE="/tmp/zones.txt"
TMP="/tmp/zns-732.temp"
ZONELOCATION="/var/cache/bind"

echo -n "Checking for new named.conf... "
wget -q http://urlvomdns1/irgendwas.conf -O $TMPNAMED
if [ -e $TMPNAMED ]
then
        echo "done."
else
        echo "no new data!"
        exit
fi
echo -n "Generating zone names... "
cat $TMPNAMED |grep zone |cut -d" " -f"2" |cut -d"\"" -f2 > $TMPZONEFILE > $TMP
#sed '1,5d' $TMPZONEFILE > $TMP
mv $TMP $TMPZONEFILE
echo "done. ("$TMPZONEFILE")"
echo "Generating zone info... "
cat $TMPZONEFILE |while read ZONE; do
if [ -e $ZONELOCATION/$ZONE.db ]
then
        echo "Zone $ZONE already available."
else
        echo -n "New zone available ($ZONE)... "
        echo "zone \"$ZONE\" {
        type slave;
        file \"$ZONELOCATION/$ZONE.db\";
        masters { ipvomdns1; };
        allow-notify { ipvomdns1; };
        };" >> $NAMED
        echo "added."
        echo "Restarting Bind"
        /etc/init.d/bind9 force-reload
fi
done
rm $TMPZONEFILE
rm $TMPNAMED
Dieses script importiert von der named.conf nur die Domainnamen.

Habe hier dieses Script gefunden das einen toten Dienst wieder startet

Code: Alles auswählen

#!/bin/sh
FTB=$(fail2ban-client status)
if [ "$FTB" = "ERROR Unable to contact server. Is it
running?" ]; then
fail2ban-client start
fi
exit 0
Das könnte man leicht für bind nehmen. Was mich noch etwas irritiert ist wenn der Dienst hängt, sprich laut System noch läuft aber nichts mehr tut.

michaels
Beiträge: 1164
Registriert: 29.03.2009 18:12:25

Re: bind9 slave script

Beitrag von michaels » 04.10.2010 18:50:24

Mich würde der Sinn deines Vorhabens mal interessieren!? Warum nutzt du denn nicht den in bind9 implementierten Zonen Transfer?

Gruß

neodg
Beiträge: 33
Registriert: 30.10.2005 10:56:20
Kontaktdaten:

Re: bind9 slave script

Beitrag von neodg » 05.10.2010 22:26:02

ich habe mir ein fertiges Webinterface für Bind geleistet. Das kam auch gleich mit der Distribution daher. Ich habe mit bind jetzt schon seit Jahren nichts mehr zu tun. Habe mal kurz gegooglet aber nicht wirklich was gefunden.

Solange der bind am slave nicht authoritative ist, macht der doch nichts?

Antworten