В BIND существует четыре директивы, упрощающих создание файла зон либо определяющих параметры RR-записей. Эти четыре директивы - две команды, упрощающие создание файла зоны ($INCLUDE и $GENERATE), и две - определяющие значения для записей ресурсов - $ORIGIN и $TTL.
Директива $TTL
Директива $TTL задает значение времени жизни по умолчанию для RR-записей, не содержащих явного указания параметра TTL. Значение времени может определяться в секундах либо сочетаниями чисел и букв. Недельное время жизни по умолчанию определяется в численном формате так:
STTL 604800
Одна неделя эквивалентна 604800 секундам. Посредством алфавитно-цифрового формата одну неделю можно задать гораздо проще:
STTL 1w
Допустимые значения алфавитно-цифрового формата:
- w - неделя
- d - день
- h - час
- m - минута
- s - секунда
Директива SORIGIN
Директива $ ORIGIN устанавливает текущую зону, то есть доменное имя, которым дополняются все относительные доменные имена. Относительным доменным именем считается любое имя, которое не заканчивается точкой. По умолчанию $ORIGIN принимает значение доменного имени, указанного в операторе zone. Используйте директиву $ORIGIN, чтобы изменить это значение.
Директива SINCLUDE
Директива $ INCLUDE включает содержимое внешнего файла в качестве фрагмента файла зоны. Внешний файл включается в файл зоны в точке присутствия директивы $INCLUDE.
Директива $GENERATE
Директива $GENERATE используется для создания серий RR-записей. Записи ресурсов, создаваемые посредством $GENERATE, практически идентичны и различаются только числовыми индексами. Например:
SORIGIN 20.16.172.in-addr.arpa. SGENERATE 1-4 $ CNAME $.1to4
За ключевым словом $GENERATE следует диапазон записей, которые необходимо создать. В данном случае диапазон охватывает индексы от 1 до 4.
За диапазоном следует шаблон RR-записей. В данном случае шаблон выгля- дит так: $ CNAME $. 1to4. Символ $ в шаблоне заменяется текущим значением индекса. В примере значение индекса изменяется в диапазоне от 1 до 4. Та- ким образом, данная директива $ GENERATE приводит к созданию следую- щих записей:
1 CNAME 1.1to4 2 CNAME 2.1to4 3 CNAME 3.1to4 4 CNAME 4.1to4
Учитывая, что текущей зоной является 20.16.172.in-addr.arpa., данные записи ресурсов идентичны следующим:
1.20.16.172.in-addr.arpa. CNAME I.lto4.20.16.172.in-addr.arpa. 2.20.16.172.in-addr.arpa. CNAME 2.1to4.20.16.172.in-addr.arpa. 3.20.16.172.in-addr.arpa. CNAME 3.1to4.20.16.172.in-addr.arpa. 4.20.16.172.in-addr.arpa. CNAME 4.1to4.20.16.172.in-addr.arpa.
Эти странного вида записи полезны для делегирования обратных поддоменов. О делегировании доменов мы поговорим чуть позже.
За исключением named.conf, все файлы настройки BIND состоят из стандартных записей ресурсов и директив. Все четыре оставшихся файла настройки - файлы базы данных. Два из них, namedxa и named.local, существуют на каждом сервере независимо от его типа.