Перелік усіх зон, завантажених у BIND


13

Я намагаюся перенести сервер dns, на якому завантажено кілька тисяч зон. У файлі named.conf є близько 17 різних включень, і деякі з цих файлів також містять у них, і багато коментованих матеріалів тощо.

Я хочу отримати список усіх зон, які зараз завантажені в BIND. Я подивився на rndc dumpdb, але він не показує мені лише зони.

Замість того, щоб слідкувати за брудними включеннями файлів, чи є простіший спосіб отримати список авторських зон всередині BIND? Дякую!

Відповіді:


15

Можна запустити, rndc dumpdb -zonesщоб створити файл під назвою cache_dump.db . Цей файл буде містити всі авторитетні зони та буде створений у каталозі даних BIND.


Ось, що я теж думав, але це єдине, що показує мені зворотні зони
арни

Я би перевірив файли журналів для отримання додаткової інформації. Якщо у дамп-файлі знаходяться лише зворотні зони ARPA, я б сказав, що на сервер DNS завантажуються лише вони.
Володимир Бласков

1
Де знаходиться каталог даних BIND?
Qian Chen

Це /var/namedабо /var/named/chroot/var/named( або якщо ви використовуєте chroot'ed BIND) для більшості дистрибутивів, але ваш пробіг може змінюватися залежно від використовуваного вами дистрибутива.
Володимир Бласков

1
Файл Debian закінчився в /var/cache/bind/named_dump.db
Calimo

2

Підтверджений rndc dumpdb - найкращий метод.

У моєму випадку я виявив, що на одному сервері працювали 2 окремі екземпляри прив'язки (не запитуйте), один робить dns вперед і один робить зворотний dns. Не вказуючи PID, він додав до того, що робив лише зворотний dns, і лише мені це показав.


2

Якщо ви просто хочете, щоб конфігурація (включаючи будь-які файли включення) була надрукована в її канонічній формі, ви можете просто зателефонувати:

named-checkconf -p(необов'язково, -t /some/chroot/dirякщо BIND запускається із хронікою і конфігурацію потрібно читати з chir-dir)

Це вирівнює всі включені файли, видаляє всі коментарі та форматує все акуратно.

Хоча вихід буде включати статично налаштовані зони, він не буде перераховувати динамічні зони, як ті, що додаються rndc addzone.


1

Додавання -все робить трюк для мене (на Ubuntu Ubuntu 16.04.2 LTS (дружній))

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

1

Для новіших версій 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

0

Далі йде точна команда для переліку зон, які завантажуються під час запуску. Це перевірено на 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

2
будь ласка, поясніть більше.
Свен

Будь ласка, зверніться до відредагованої відповіді.
Сасікумар К

0

Іншою альтернативою є використання 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

(Цей інструмент статистики доступний з bind-9.6.0, грудень 2008 року. /v3/Формат, який використовується вище, доступний лише з bind-9.10, квітень 2014 р. Формат JSON також може бути доступний, тому щось аналогічне має бути можливим із jot.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.