Список доменов на DNS сервере?


8

Есть ли способ получить полный список записей A и CNAME на моем DNS-сервере BIND?

У меня есть доступ к файлам зоны. Но на моем сервере есть много файлов зон, и это займет слишком много времени, чтобы просмотреть их все вручную. Есть ли команда, которая перечисляет эту информацию, или мне придется написать сценарий сам?


О нет! Не сценарий!
womble

Ответы:


9

Вместо использования grepвсех файлов зоны используйте:

% rndc dumpdb -zones

Это создаст дамп авторитетных данных сервера, который называется named_dump.db, вероятно, /var/named/data(или похожим).

Этот файл легче проанализировать, чем исходные файлы зоны, потому что каждая строка начинается с имени домена, к которому он применяется. Необработанные файлы зон, вероятно, сокращены.


2
Отлично, это именно то, что мне нужно! Хотя файл был назван named_dump.db в моем случае. Спасибо :)
chroder

4
На Ubuntu это, похоже, заканчивается в/var/cache/bind/named_dump.db
m01

1

Из вашего var/named/data(или эквивалентного каталога) grep через файлы db. * С соответствующим регулярным выражением, что-то вроде:

grep '\(.  *A   *[0-9][0-9]*\)\|\(..*CNAME..*\)' db.*

Обратите внимание, что последний 'db. * `Содержит все файлы базы данных. Повторите эти действия для каждого каталога, в котором есть файлы зон.


1
Вот для чего нужна команда поиска! найти / var / named / data -name 'db. *' -print0 | xargs -0 grep '...'
Крис Шестер-Янг

-2

для меня в моем доменном списке; do dig -t axfr $ i @localhost; сделанный

Сначала необходимо разрешить передачу зон с локального хоста.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.