Cantumkan semua zona yang dimuat dalam BIND

13

Saya mencoba memigrasi server dns yang memuat beberapa ribu zona. File named.conf memiliki sekitar 17 file yang berbeda, dan beberapa file itu juga ada di dalamnya, dan banyak yang berkomentar, dll. Ini berantakan!

Saya ingin mendapatkan daftar semua zona saat ini dimuat ke BIND. Saya melihat dumpdb rndc tetapi tidak menunjukkan saya hanya zona.

Alih-alih mengikuti file berantakan, apakah ada cara yang lebih mudah untuk mendapatkan daftar zona otoritatif di dalam BIND? Terima kasih!

DuPie
sumber

Jawaban:

15

Anda dapat menjalankan rndc dumpdb -zonesuntuk membuat file bernama cache_dump.db . File ini akan berisi semua zona otoritatif dan akan dibuat di direktori data BIND.

Vladimir Blaskov
sumber
Itulah yang saya pikir juga tetapi hanya menunjukkan saya zona
arns
Saya akan memeriksa file log untuk informasi lebih lanjut. Jika hanya zona ARPA terbalik dalam file dump, saya akan mengatakan bahwa hanya ini yang dimuat di server DNS.
Vladimir Blaskov
1
Di mana direktori data BIND?
Qian Chen
Itu salah satu /var/namedatau /var/named/chroot/var/named(jika Anda menggunakan chroot'BIND ed) pada sebagian besar distribusi, tetapi jarak tempuh Anda dapat bervariasi tergantung pada distribusi yang Anda gunakan.
Vladimir Blaskov
1
Pada Debian jessie file berakhir di /var/cache/bind/named_dump.db
Calimo
2

Dumpdb rndc yang dikonfirmasi adalah metode terbaik.

Dalam kasus saya, saya menemukan bahwa ada 2 contoh bind terpisah yang berjalan pada server yang sama (jangan tanya), satu melakukan forward dns dan satu melakukan reverse dns. Tanpa menentukan PID, itu melekat pada satu-satunya melakukan reverse dns dan hanya menunjukkan kepada saya itu.

DuPie
sumber
2

Jika Anda hanya ingin memiliki konfigurasi (termasuk semua file yang disertakan) dicetak dalam bentuk kanoniknya, Anda dapat menghubungi:

named-checkconf -p(opsional -t /some/chroot/dirjika BIND menjalankan chroot dan konfigurasi perlu dibaca dari dir chroot)

Ini meratakan semua file termasuk, menghapus semua komentar dan memformat semuanya dengan rapi.

Meskipun output akan mencakup zona yang dikonfigurasi secara statis, output tidak akan mencantumkan zona dinamis, seperti yang ditambahkan dengan rndc addzone.

Håkan Lindqvist
sumber
1

Menambahkan -semua melakukan trik untuk saya (di Ubuntu Ubuntu 16.04.2 LTS (xenial))

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

Untuk versi BIND9 yang lebih baru, pada 9.12.0a1; ada juga named-checkconf -lyang dapat mendaftar zona dalam format yang mudah, termasuk status master / slave dan tampilan.

Contoh:

$ 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
sumber
0

Berikut ini adalah perintah yang tepat untuk mendaftar zona yang dimuat saat startup. Ini diuji pada RHEL6.7 x86_64.

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

Contoh:

[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
sumber
2
tolong jelaskan lebih lanjut.
Sven
Silakan merujuk jawaban yang diedit.
Sasikumar K
0

Alternatif lain adalah dengan menggunakan bind'statistik format XML sendiri, jika Anda telah mengaktifkan statistics-channeldan mengaktifkan statistik zona (misalnya di global options { }). Metode ini juga memungkinkan Anda dengan mudah memilih / menampilkan tampilan, tipe zona, dan data zona (mis. Nomor seri), serta statistik per-zona tentu saja.

Menggunakan wgetdan 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

Di atas menunjukkan daftar semua domain master dalam tampilan _default .

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

Di atas menunjukkan semua zona dalam bentuk CSV: zone, view, type, serial.

Untuk hanya memilih tampilan dan tipe zona tertentu :

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

(Fasilitas statistik ini tersedia sejak bind-9.6.0, Desember 2008. /v3/Format yang digunakan di atas hanya tersedia sejak bind-9.10, April 2014. Format JSON mungkin juga tersedia, jadi sesuatu yang analog mungkin dengan jot.)

mr.spuratic
sumber