Есть ли способ получить полный список записей A и CNAME на моем DNS-сервере BIND?
У меня есть доступ к файлам зоны. Но на моем сервере много файлов зон, и просмотр всех вручную займет слишком много времени. Есть ли команда, которая перечисляет эту информацию, или мне придется самому писать сценарий?
Вместо использования grep
для всех файлов зоны используйте:
% rndc dumpdb -zones
Это создаст дамп авторитетных данных сервера под названием named_dump.db
, вероятно, в /var/named/data
(или похожие).
Этот файл легче проанализировать, чем исходные файлы зоны, потому что каждая строка начинается с имени домена, к которому она применяется. Файлы необработанных зон, вероятно, сокращены.
От твоего var/named/data
(или эквивалентный каталог) grep через файлы db. * с соответствующим регулярным выражением, например:
grep '\(. *A *[0-9][0-9]*\)\|\(..*CNAME..*\)' db.*
Обратите внимание, что последний 'db. * `Объединяет все файлы db. Повторите эти действия для каждого каталога, в котором есть файлы зоны.
для i в моем списке доменов; сделать dig -t axfr $ i @localhost; сделано
Сначала необходимо разрешить передачу зон с localhost.