Назад | Перейти на главную страницу

Автоматическое присвоение мастеру нескольких файлов зон

Теперь, когда я перемещаю свой основной сервер, я трачу некоторое время на уточнение и упрощение некоторых его настроек, и теперь он перешел на DNS-сервер (привязка 9.9.5 в новой настройке).

Я заметил, что в моей конфигурации много зон определено следующим образом:

zone "123.123.123.123.in-addr.arpa" in {
        type master;
        file "123.123.123.123";
};

zone "123.123.123.124.in-addr.arpa" in {
        type master;
        file "123.123.123.124";
};

zone "example.com" in {
        type master;
        file "example.com";
};

zone "example.net" in {
        type master;
        file "example.net";
};

// With another ~20 definitions like that

Мне это кажется очень неэффективным. Есть ли способ автоматической загрузки всех файлов, найденных в каталоге, продиктованном options { directory "/some/folder" }, а предполагая хозяина для каждого?

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

Другие варианты жестяная банка имеют значения по умолчанию, установленные в блоке глобальных опций (allow-transfer, also-notifyи т. д.), но вы застряли в определении каждой зоны и обязательных полей как минимум.

Для полноты картины я упомяну одно исключение в новых версиях BIND, от которого я настоятельно не рекомендую. Вы можете использовать новый rndc addzone функциональность для удаленного создания зоны на лету, но на самом деле это создает дополнительный файл конфигурации с хешированным именем (то есть случайными символами в имени файла) и .nzf суффикс, который BIND "знает" для загрузки. Это очень плохо с точки зрения ремонтопригодности, поскольку это нарушает принцип наименьшего удивления / удивления; основной файл конфигурации не ссылается на эти дополнительные файлы конфигурации, и другие администраторы не будут знать, что содержимое этих файлов загружается, если они не знакомы с этой функцией. (и сами администраторы DNS обязаны его новизне)

https://ftp.isc.org/isc/bind/9.10.3rc1/doc/arm/man.rndc.html

зона addzone [класс [просмотр]] конфигурация

Добавьте зону во время работы сервера. Эта команда требует, чтобы для параметра allow-new-zone было установлено значение yes. Строка конфигурации, указанная в командной строке, представляет собой текст конфигурации зоны, который обычно помещается в named.conf.

Конфигурация сохраняется в файле с именем hash.nzf, где hash - это криптографический хеш, сгенерированный из имени представления. При перезапуске named файл будет загружен в конфигурацию представления, так что добавленные зоны могут сохраняться после перезапуска.

Этот пример команды addzone добавит зону example.com в представление по умолчанию:

$ rndc addzone example.com '{type master; файл "example.com.db"; }; '

(Обратите внимание на скобки и точку с запятой вокруг текста конфигурации зоны.)

См. Также rndc delzone и rndc modzone.