Мне интересно, есть ли команда, которую я могу выполнить, чтобы получить полный список доменных имен, которыми в настоящее время управляет мой BIND9 на моем главном DNS-сервере.
Гипотетически, что-то вроде:
named --list
И это даст мне все названия всех зон, которые я в данный момент настроил на этом мастере.
Итак, причина вопроса в том, что способ, которым я настраивал свой подчиненный BIND9, заключается в добавлении новой записи для каждой главной записи. Например:
zone "example.app" {
type slave;
file "/var/cache/bind/example.app.zone";
masters { 192.168.0.1; };
allow-transfer { none; };
};
Это позволяет моему подчиненному BIND9 запрашивать информацию у главного BIND9. Это работает и находит, когда у вас есть несколько записей. Когда у вас их больше 50, это не просто утомительно, вы делаете много ошибок, а это означает, что нет второго DNS для этих ошибок, и ничто не говорит вам, что второй DNS отсутствует...
Я думаю, что, вероятно, есть гораздо лучший способ настроить подчиненный сервер, сказав, что любое доменное имя, управляемое главным сервером, должно быть реплицировано на подчиненном сервере. Но я не хочу, чтобы мой подчиненный сервер управлял чьим-либо другим DNS. Поэтому разрешите только моему главному серверу (192.168.0.1 в моем примере) вносить изменения.
Меня устроит любое из решений. Второе, конечно, будет лучше.
решение1
Прежде всего, обычно задают только один вопрос в одном сообщении, поскольку это лучше для посещаемости сайта и ссылок...
Для вашего первого вопроса вы можете попросить bind сделать дамп зон, которыми он в данный момент управляет, см. dumpdb
команду rndc
:
dumpdb [-all|-cache|-zones|-adb|-bad|-fail] [view ...]
Dump cache(s) to the dump file (named_dump.db).
Тем не менее:
- не уверен, что он выгрузит только зону, где сервер является главным
- вам придется проанализировать вывод, поскольку это по сути не список зон, а полный дамп.
Что касается вашего второго вопроса, то на самом деле есть две возможности:
Похоже, что bind9 реализовал новую функцию для управления этим, см.http://ftp.isc.org/isc/bind9/cur/9.11/doc/arm/Bv9ARM.ch04.html#catz-info
Напишите скрипт, который будет генерировать конфигурацию подчиненного устройства из конфигурации главного устройства.