Это могло бы быть полезно для Вас:
http://whitepapers.zdnet.co.uk/0,1000000651,260535897p,00.htm
Другая альтернатива должна использовать bind'
, с владеют статистикой формата XML, , если Вы включили statistics-channel
и имеете включенную зональную статистику (например, в глобальном options { }
). Этот метод также позволяет Вам легко выбрать/показать представления, зональные типы и зональные данные (например, порядковый номер), а также статистика на зону, конечно.
Используя wget
и 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
вышеупомянутые шоу список всего ведущее устройство домены в представление _default.
wget ... |
xml select -I -t -m '/statistics/views/view/zones/zone' \
-v @name -o , -v ../../@name -o , -v type -o , -v serial -nl
вышеупомянутые шоу все зоны в форме CSV: зона, представление, вводит, последовательный.
Для выбора только определенного представление и зональный тип :
wget ... |
xml select -I -t -m '/statistics/views/view[@name="_bind"]/zones/zone[type="builtin"]' \
-v @name -nl
(Это средство статистики доступно с тех пор, связывают 9.6.0, декабрь 2008. /v3/
формат, используемый выше, только доступен, так как связывают 9.10, апрель 2014. Формат JSON может также быть доступным, таким образом, что-то аналогичное должно быть возможным с jot
.)
Вы можете запустить rndc dumpdb -zones
, чтобы создать файл с именем cache_dump.db . Этот файл будет содержать все авторитетные зоны и будет создан в каталоге данных BIND.
Подтверждено, что rndc dumpdb - лучший метод.
В моем случае я обнаружил, что на одном сервере запущено 2 отдельных экземпляра связывания (не спрашивайте), один выполняет прямой DNS, а другой - обратный. Без указания PID, он был привязан к тому, который делал только обратный DNS, и только показал мне это.
Ниже приводится точная команда для вывода списка зон, загружаемых во время запуска. Это проверено на RHEL6.7 x86_64.
/usr/sbin/named-checkconf -z -t /var/named/chroot | grep loaded
Пример:
[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
Если вы просто хотите, чтобы конфигурация (включая любые включаемые файлы) была напечатана в ее канонической форме, вы можете просто вызвать:
named-checkconf -p
(необязательно с помощью -t / some / chroot / dir
, если BIND запускается chrooted и конфигурация должна быть прочитана из chroot dir)
Это сглаживает все включаемые файлы, удаляет все комментарии и аккуратно форматирует все.
Хотя выходные данные будут включать в себя статически настроенные зоны, в нем не будут перечислены динамические зоны, подобные тем, которые добавлены с помощью rndc addzone
.
Добавление -all помогает для меня (на Ubuntu Ubuntu 16.04.2 LTS (xenial))
sudo rndc dumpdb -all && cat /var/cache/bind/named_dump.db
Для более новых версий BIND9, начиная с 9.12.0a1; есть также named-checkconf -l
, который может перечислить зоны в удобном формате, включая статус главного / подчиненного устройства и представления.
Пример:
$ 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