Elenco di tutte le zone caricate in BIND


13

Sto cercando di migrare un server DNS che ha diverse migliaia di zone caricate su di esso. Il file named.conf ha circa 17 diverse inclusioni, e anche alcuni di questi file hanno delle inclusioni e molti commenti commentati, ecc. È un disastro!

Voglio ottenere un elenco di tutte le zone attualmente caricate in BIND. Ho guardato rndc dumpdb ma non mi mostra solo le zone.

Invece di seguire i file di inclusione disordinati, esiste un modo più semplice per ottenere un elenco delle zone autorevoli all'interno di BIND? Grazie!

Risposte:


15

È possibile eseguire rndc dumpdb -zonesper creare un file chiamato cache_dump.db . Questo file conterrà tutte le zone autorevoli e verrà creato nella directory dei dati di BIND.


Questo è quello che ho pensato anche io, ma mi sta solo mostrando le zone arpa dns inverse
DuPie

Vorrei controllare i file di registro per ulteriori informazioni. Se nel file di dump sono presenti solo le zone ARPA inverse, direi che solo queste sono caricate nel server DNS.
Vladimir Blaskov,

1
Dov'è la directory dei dati di BIND?
Qian Chen,

È o /var/namedo /var/named/chroot/var/named(se stai usando chroot'ed BIND) sulla maggior parte delle distribuzioni, ma il tuo chilometraggio può variare a seconda della distribuzione che stai usando.
Vladimir Blaskov,

1
Su Debian jessie il file è finito in /var/cache/bind/named_dump.db
Calimo

2

Il dumpdb rndc confermato è il metodo migliore.

Nel mio caso, ho scoperto che c'erano due istanze di bind separate in esecuzione sullo stesso server (non chiedere), una che faceva forward dns e una che faceva reverse dns. Senza specificare il PID, è collegato a quello che fa solo DNS inverso e me lo ha mostrato.


2

Se vuoi solo avere la configurazione (inclusi eventuali file di inclusione) stampata nella sua forma canonica, puoi semplicemente chiamare:

named-checkconf -p(facoltativamente con -t /some/chroot/dirse BIND viene eseguito il chroot e la configurazione deve essere letta dalla dir chroot)

Questo appiattisce tutti i file include, rimuove tutti i commenti e formatta tutto in modo ordinato.

Mentre l'output includerà zone configurate staticamente, non elencherà zone dinamiche, come quelle aggiunte con rndc addzone.


1

Aggiungendo -all fa il trucco per me (su Ubuntu Ubuntu 16.04.2 LTS (xenial))

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

1

Per le versioni più recenti di BIND9, a partire dal 9.12.0a1; anche lì named-checkconf -lche può elencare le zone in un formato semplice, incluso lo stato e le viste master / slave.

Esempio:

$ 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

0

Di seguito è riportato il comando esatto per elencare le zone caricate durante l'avvio. Questo è testato su RHEL6.7 x86_64.

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

Esempio:

[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

2
per favore spiega di più.
Sven

Si prega di fare riferimento alla risposta modificata.
Sasikumar K,

0

Un'altra alternativa è quella di utilizzare le bind'statistiche del proprio formato XML, se sono state abilitate statistics-channele sono abilitate le statistiche di zona (ad es. Nel mondo options { }). Questo metodo consente anche di selezionare / mostrare facilmente viste, tipi di zona e dati di zona (ad es. Numero di serie), nonché statistiche per zona ovviamente.

Utilizzando wgete 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

Quanto sopra mostra un elenco di tutti i domini principali nella vista _default .

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

Quanto sopra mostra tutte le zone in formato CSV: zona, vista, tipo, seriale.

Per selezionare solo una vista e un tipo di zona specifici :

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

(Questa funzione statistica è disponibile dal bind-9.6.0, dicembre 2008. Il /v3/formato sopra utilizzato è disponibile solo dal bind-9.10, aprile 2014. Il formato JSON potrebbe anche essere disponibile, quindi dovrebbe essere possibile fare qualcosa di analogo jot.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.