В 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, существуют на каждом сервере независимо от его типа.