Lista wszystkich stref załadowanych do BIND

13

Próbuję migrować serwer dns, który ma załadowane kilka tysięcy stref. Plik named.conf zawiera około 17 różnych plików, a niektóre z nich zawierają również pliki, a także wiele komentarzy, itd. To cholerny bałagan!

Chcę uzyskać listę wszystkich stref aktualnie załadowanych do BIND. Spojrzałem na rndc dumpdb, ale nie pokazuje mi tylko stref.

Czy zamiast podążać za niechlujnymi plikami dołączania, istnieje łatwiejszy sposób na uzyskanie listy stref autorytatywnych w BIND? Dzięki!

DuPie
źródło

Odpowiedzi:

15

Możesz uruchomić, rndc dumpdb -zonesaby utworzyć plik o nazwie cache_dump.db . Ten plik będzie zawierał wszystkie autorytatywne strefy i zostanie utworzony w katalogu danych BIND.

Vladimir Blaskov
źródło
To, co też myślałem, ale pokazuje mi tylko strefy
arns
Chciałbym sprawdzić pliki dziennika, aby uzyskać więcej informacji. Jeśli tylko odwrotne strefy ARPA znajdują się w pliku zrzutu, powiedziałbym, że tylko te są ładowane na serwerze DNS.
Vladimir Blaskov
1
Gdzie jest katalog danych BIND?
Qian Chen,
To albo /var/namedlub /var/named/chroot/var/named(jeśli używasz chroot„ed BIND) na większości dystrybucji, ale może się wahać w zależności od dystrybucji używasz.
Vladimir Blaskov
1
W systemie Debian jessie plik zakończył się w /var/cache/bind/named_dump.db
Calimo,
2

Potwierdzony rndc dumpdb jest najlepszą metodą.

W moim przypadku odkryłem, że na tym samym serwerze działały 2 oddzielne instancje powiązań (jedna nie pytała), jedna wykonująca wysyłanie do przodu i jedna wysyłająca do tyłu. Bez określenia PID, przyłączył się do tego, który robi tylko odwrotne dns i tylko mi to pokazał.

DuPie
źródło
2

Jeśli chcesz tylko wydrukować konfigurację (w tym pliki dołączeń) w postaci kanonicznej, możesz po prostu wywołać:

named-checkconf -p(opcjonalnie z -t /some/chroot/dirjeśli BIND działa w trybie chroot i konfiguracja musi zostać odczytana z katalogu chroot)

Spłaszcza to wszystkie dołączone pliki, usuwa wszystkie komentarze i porządnie formatuje wszystko.

Chociaż dane wyjściowe będą zawierać strefy skonfigurowane statycznie, nie będą wyświetlać stref dynamicznych, takich jak te dodane za pomocą rndc addzone.

Håkan Lindqvist
źródło
1

Dodanie -all robi dla mnie lewę (w Ubuntu Ubuntu 16.04.2 LTS (xenial))

sudo rndc dumpdb -all && cat /var/cache/bind/named_dump.db
Pfiver
źródło
1

Dla nowszych wersji BIND9, od 9.12.0a1; tam również named-checkconf -lmożna wyświetlić listę stref w łatwym formacie, w tym status nadrzędny / podrzędny i widoki.

Przykład:

$ 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
źródło
0

Poniżej znajduje się dokładne polecenie, aby wyświetlić listę stref ładowanych podczas uruchamiania. Jest to testowane na RHEL6.7 x86_64.

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

Przykład:

[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
źródło
2
proszę wyjaśnij więcej.
Sven
Proszę odnieść się do edytowanej odpowiedzi.
Sasikumar K
0

Inną alternatywą jest użycie bind'własnych statystyk formatu XML, jeśli włączyłeś statistics-channeli masz włączone statystyki stref (np. W globalnej options { }). Ta metoda pozwala również łatwo wybrać / pokazać widoki, typy stref i dane stref (np. Numer seryjny), a także statystyki dla poszczególnych stref oczywiście.

Za pomocą wgeti 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

Powyżej pokazuje listę wszystkich domen głównych w widoku domyślnym .

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

Powyżej pokazuje wszystkie strefy w postaci CSV: strefa, widok, typ, szeregowy.

Aby wybrać tylko określony widok i typ strefy :

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

(Ta funkcja statystyczna jest dostępna od bind-9.6.0, grudzień 2008. /v3/Używany powyżej format jest dostępny tylko od bind-9.10, kwiecień 2014. Format JSON może być również dostępny, więc coś analogicznego powinno być możliwe jot.)

pan. spuratic
źródło