Auflisten aller in BIND geladenen Zonen

13

Ich versuche, einen DNS-Server zu migrieren, auf dem mehrere tausend Zonen geladen sind. Die named.conf-Datei enthält ungefähr 17 verschiedene Includes, und einige dieser Dateien enthalten auch Includes, und viele auskommentierte etc. Es ist ein verdammtes Durcheinander!

Ich möchte eine Liste aller derzeit in BIND geladenen Zonen erhalten. Ich habe mir rndc dumpdb angesehen, aber es zeigt mir nicht nur die Zonen.

Gibt es eine einfachere Möglichkeit, eine Liste der autorisierten Zonen in BIND zu erhalten, als den chaotischen Include-Dateien zu folgen? Vielen Dank!

DuPie
quelle

Antworten:

15

Sie können ausführen rndc dumpdb -zones, um eine Datei mit dem Namen cache_dump.db zu erstellen . Diese Datei enthält alle maßgeblichen Zonen und wird im Datenverzeichnis von BIND erstellt.

Vladimir Blaskov
quelle
Das ist, was ich auch dachte, aber es zeigt mir nur die umgekehrten
DNS-Arpa-
Ich würde die Protokolldateien auf weitere Informationen überprüfen. Wenn nur die Reverse-ARPA-Zonen in der Dump-Datei sind, würde ich sagen, dass nur diese in den DNS-Server geladen werden.
Vladimir Blaskov
1
Wo ist das Datenverzeichnis von BIND?
Qian Chen
Es ist entweder /var/namedoder /var/named/chroot/var/named(wenn Sie chroot'ed BIND' verwenden) auf den meisten Distributionen, aber Ihre Meilen können abhängig von der Distribution variieren, die Sie verwenden.
Vladimir Blaskov
1
Auf Debian jessie endete die Datei in /var/cache/bind/named_dump.db
Calimo
2

Bestätigte rndc dumpdb ist die beste Methode.

In meinem Fall stellte ich fest, dass zwei separate Bindungsinstanzen auf demselben Server ausgeführt wurden (fragen Sie nicht), eine, die Vorwärts-DNS und eine, die Rückwärts-DNS ausführt. Ohne Angabe der PID wurde diese an die angehängte angefügt, die nur umgekehrte DNS ausführte, und hat mir nur gezeigt, dass dies der Fall ist.

DuPie
quelle
2

Wenn Sie möchten, dass die Konfiguration (einschließlich aller Include-Dateien) in kanonischer Form gedruckt wird, können Sie einfach Folgendes aufrufen:

named-checkconf -p(optional mit, -t /some/chroot/dirwenn BIND chrooted ausführt und die Konfiguration aus dem chroot-Verzeichnis gelesen werden muss)

Dies fasst alle Include-Dateien zusammen, entfernt alle Kommentare und formatiert alles ordentlich.

Die Ausgabe enthält zwar statisch konfigurierte Zonen, jedoch keine dynamischen Zonen, wie die mit hinzugefügten rndc addzone.

Håkan Lindqvist
quelle
1

Hinzufügen von -all macht den Trick für mich (auf Ubuntu Ubuntu 16.04.2 LTS (xenial))

sudo rndc dumpdb -all && cat /var/cache/bind/named_dump.db
Pfiver
quelle
1

Für neuere Versionen von BIND9 ab 9.12.0a1; Dort können auch named-checkconf -ldie Zonen in einem einfachen Format aufgelistet werden, einschließlich Master / Slave-Status und Ansichten.

Beispiel:

$ sudo /usr/sbin/named-checkconf -l -t /chroot/bind/
example.com IN external master
otherdomain.com IN external slave
internal.example.com IN internal master
example.com IN internal in-view external
otherdomain.com IN internal in-view external

# this has 2 views: external, internal
# and 3 zones: example.com, otherdomain.com, internal.example.com
# the external view contains: example.com, and slaves otherdomain.com
# the internal view uses in-view statements to show
# the same version of external zones, plus contains a unique zone
robbat2
quelle
0

Das Folgende ist der genaue Befehl zum Auflisten der Zonen, die während des Startvorgangs geladen werden. Dies wird auf RHEL6.7 x86_64 getestet.

/usr/sbin/named-checkconf -z -t /var/named/chroot | grep loaded

Beispiel:

[root@dnsserver ~]# /usr/sbin/named-checkconf -z -t /var/named/chroot | grep loaded
zone 0.0.127.in-addr.arpa/IN: loaded serial 2008040700
zone 19.58.10.in-addr.arpa/IN: loaded serial 2008040701
zone 11.54.10.in-addr.arpa/IN: loaded serial 2008040700
zone example.com/IN: loaded serial 2008040702
zone ./IN: loaded serial 2008040700
Sasikumar K
quelle
2
bitte erkläre mehr.
Sven
Bitte beziehen Sie sich auf die bearbeitete Antwort.
Sasikumar K
0

Eine andere Alternative ist die Verwendung bind'eigener Statistiken im XML-Format. wenn Sie die statistics-channelund die Zonenstatistik aktiviert haben (z. B. im globalenoptions { } ). Mit dieser Methode können Sie auf einfache Weise Ansichten, Zonentypen und Zonendaten (z. B. Seriennummer) sowie natürlich Statistiken pro Zone auswählen / anzeigen.

Verwenden wget und xml(xmlstarlet):

wget -O - http://127.0.0.1:1080/xml/v3/zones | 
  xml select -I -t -m '/statistics/views/view[@name="_default"]/zones/zone[type="master"]' \
    -v @name -nl

Die oben zeigt eine Liste aller Master - Domänen in der _default Ansicht.

wget ... |
  xml select -I -t -m '/statistics/views/view/zones/zone' \
   -v @name -o , -v ../../@name -o , -v type -o , -v serial -nl

Das Obige zeigt alle Zonen in CSV-Form: Zone, Ansicht, Typ, Seriennummer.

Um nur eine bestimmte Ansicht und Zonentyp :

 wget ... |
   xml select -I -t -m '/statistics/views/view[@name="_bind"]/zones/zone[type="builtin"]' \
     -v @name -nl

(Diese Statistikfunktion ist verfügbar seit bind-9.6.0, Dezember 2008. Das /v3/oben verwendete Format ist nur verfügbar seit bind-9.10, April 2014. Das JSON-Format ist möglicherweise ebenfalls verfügbar, daher sollte mit etwas Analoges möglich sein jot.)

mr.spuratic
quelle