---------------------------------------------------------------
Оригинал этого текста расположен в журнале "Юниксоид"
http://www.fima.net/bind-8.html
---------------------------------------------------------------




Bind 8.x.x.

Введение.
Эта статья посвящена BIND версии 8.x.x. Эта версия появилась

относительно недавно. Она имеет совершенно другой конфигурационный

файл нежели BIND версии 4. Также в новой версии появилось масса

новых возможностей, новые RR заниси, улудшеная 'zone-check' процедура, специальные серийные номера, и др.
P.S. Оговорюсь сразу, в этой статье описаны далеко не все возможности BIND 8, а только основные.


Пример named.conf и описание опций:


Будте внимательны не забывайте ставить ";"!


options { -- Начало ЧАСТИ "Options".
        directory "." ;{
-- Рабочий каталог.
        named-xfer "/usr/libexec/named-xfer";
-- Путь к 'zone-xfer'.
        dump-file "named_dump.db";
-- Имя Дамп-Файла или имя

с путем из рабочего каталога.

        pid-file "/var/run/named.pid";
-- Путь к pid-файлу.
        memstatistics-file "named.memstats";
-- Имя файла со статистикой.

использования памяти.

        statistics-file "named.stats";
-- Имя файла со статистикой.
        check-names master fail;
-- Опция пименяемая в случаях требуется проверка имен доменов. В лог-файлах отображается адрес мастер-сервера на, котором обнаружена ошибка.
        check-names slave warn;
-- -- для 'slave' зоны
        check-names response ignore;
-- -- дополнительная проверка ответов других серверов.
        host-statistics no;
-- Статистика обращений по хостам.
        deallocate-on-exit no;
-- Опция при которой освобождаются

все объекты при прерывании работы программы.

Это выгодно при не правильном использовании

памяти. Полная отчет о работе будет

находиться в 'memstatistics-file.'

        forward-only;
-- Эквивалдент 'Slave'у.
        datasize default;
-- Лимитирование сегметов выделяемых под данные.
        stacksize default;
-- Размер СТЕКА.
        coresize default;

        files unlimited;
-- Количество возможно допустимых обрабатываемых файлов.
        recursion yes;
-- Опция разрешающая или запрещающая рекурсию.
        fetch-glue yes;

        fake-iquery no;
-- Эта опция позваляет подменять ответы при определенных запросаx.
        notify yes;
-- Посылка "NOTIFY" сообщения

Вы можете поставить 'yes' когда вы

используете схему 'zone-by-zone', также

эта опция доступна в ЧАСТИ 'zone'.


        auth-nxdomain yes;
-- Всегда ставьте AA при использовании

NXDOMAIN. Не ставьте эту опцию 'no' если вы

не знаете, что делаете -- старые сервера

(старая версия ПО) не любят этого. :-)
;

        multiple-cnames no;
-- Если установлено 'yes' тогда

имеется более одного CANME RR. Это

используют в не стандартных ситуациях и

не рекомендуется, но доступно потому что

предидущии версии поддерживали и эта опция

использовалась на больших сайтах для

уравновешивания загрузки.

        allow-query { any; };

        allow-transfer { any; };

        transfers-in 10;
-- Значение не должно быть

установлено более 20.


        transfers-per-ns 2;
-- Default значение передач на

каждый NameServer.

        transfers-out 0;
-- К сожалению не работает ;-)
        max-transfer-time-in 120;
-- Максимальное значение

продолжительности сессии 'zone transfer'.

(в минутах)

        transfer-format one-answer;
-- Опция указывающая путь исходящего

'zone transfer'. Допустимы два значения:

one-answer - Каждый RR берет свое сообщение.

Этот формат не очень эффективен,

но просто и понятно :-). Все версии BIND до 8.1

генерируют именно этот формат сообщения для

исходящих зон и требует входящих передач.

many-answers - Это означает

что много RR'ов будет положено в каждое

DNS сообщение. Этот формат наиболее эффективен,

но только есть в версии BIND 8. Также выпущена

измененная версия 'named-xfer' для BIND 4.9.5.

Если вы будете использовать ваш DNS сервер с

серверами на которы установленно старое ПО, то

НЕСОВЕТУЕТЬСЯ использовать 'many-answers'.

Также как значение может быть установлена

переменная 'server' - при использовании схемы

'host-by-host'.

        forward first;

        forwarders { };
-- В Default значении ничего

не указывается.

Пример:
forwarders {
1.2.3.4;
5.6.7.8;
};

        topology { localhost; localnets; };
-- Опция описываущая топологию NameServer'ов.
Пример:
topology {
10/8; -- Предпочтительная
сеть 10.0.0.0 с маской
255.0.0.0
!1.2.3/24; -- Не использовать 1.2.3.0
с маской 255.255.255.0 для
всех
{ 1.2/16; 3/8; }; -- Использовать 1.2.0.0 с
маской 255.255.0.0 и
3.0.0.0 с маской 255.0.0.0
- часть 10/8, но меньше.
};

        listen-on port 53 { any; };
-- Принимать запросы с 53

порта на всех доступных интерфейсах компьютера.

Если порт не указан, то автоматически

будут обрабатываться запросы с 53 порта/udp

Пример:
listen-on { 5.6.7.8; }; -- Принимать запросы с 53 порта
на интерфейсе с адресом 5.6.7.8


listen-on port 1234 { -- Принимать запросы с порта
!1.2.3.4; 1234 на интерфейсе с адресом
1.2.3/24; 123 с маской 255.255.255.0,
}; за исключением интерфейса
1.2.3.4
        cleaning-interval 60;
-- Опция задающая интервал очищения
кэша RR записей. (в минутах)

        interface-interval 60;
-- Опция задающая интервал обновления списка новых и удаленных интерфейсов.
(в минутах)

        statistics-interval 60;
-- Опция задающая интервал обновления файла статистики.
(в минутах)


};


zone "your.ru" { 
-- Начало ЧАСТИ "Zone - Master".
      type master; 
-- Тип зоны. master = primary
      file "master.zone.ru"; 
-- Имя файла в котором хранится таблица DNS.(возможно c путем тз рабочего каталога)
      check-names fail;  

      allow-update { none; }; 

      allow-transfer { any; }; 

      allow-query { any; }; 

      also-notify { }; 
-- Не посылать NOTIFY сообщение перечисленным серверам.
};


zone "not-your.ru" { 
-- Начало ЧАСТИ "Zone - Slave".
      type slave; 
-- Тип зоны. slave = secondary
      file "not-your.ru"; 
-- Имя файла в котором хранится таблица DNS.(возможно с путем из рабочего каталога)
      masters { 1.2.3.4; 5.6.7.8; };  
-- Адрес NameServer'а с которого берется информация о Зоне.
      transfer-source 10.0.0.53;  
-- Эта опция устраняет проблему 'MULTIHOMING'
      allow-update { none; }; 

      allow-transfer { any; }; 

      allow-query { any; }; 

      also-notify { }; 
-- Не посылать NOTIFY сообщение перечисленным серверам.
      max-transfer-time-in 120; 
-- Если не установлено используется значение заданное в ЧАСТИ "Options" или Default значение.
};


zone "stub.ru" { 
-- Начало ЧАСТИ "Zone - Stub".
      type stub; 
-- Тип зоны. Stub зона похожа на slave, но скачиваются только NS записи.
      file "not-your.ru"; 
-- Имя файла в котором хранится таблица DNS.(возможно с путем из рабочего коталога)
      masters { 1.2.3.4; 5.6.7.8; };  
-- Адрес NameServer'а с которого берется информация о Зоне.
      check-names warn;  

      allow-update { none; }; 

      allow-transfer { any; }; 

      allow-query { any; }; 

      also-notify { }; 
-- Не посылать NOTIFY сообщение перечисленным серверам.
      max-transfer-time-in 120; 
-- Если не установлено используется значение заданное в ЧАСТИ "Options" или Default значение.
};


zone "." { 
-- Начало ЧАСТИ "Zone - Hint".
      type hint; 
-- Тип зоны. Hint - используется как кэш..
      file "chahe.db"; 
-- Имя файла в котором хранится кэш.
};


acl can_query { !1.2.3/24; any;}; 
-- Эта опция запрещает обращения компьютеров из сети 1.2.3.0 c маской 255.255.255.0. Машины не попадающие под действие этого правила могут свободно использовать NameServe








r.

acl can_axfr { !1.2.3.4; can_query; }; 
-- Этой опцией можно разрешить конкрекному компьютеру, из запрещенной сети, работать с NameServer'ом, в данном случае это 1.2.3.4 и все компьютеры описанные в 'can_q








uery'.



zone "non-default-acl.ru" { 
-- Начало ЧАСТИ "Zone - NON-Default-ACL".
      type master; 

      file "foo"; 

      allow-update { 1.2.3.4; 5.6.7.8; }; 

      allow-transfer { can_axfr; }; 

      allow-query { can_query; }; 

};


key key2 { 
-- Начало ЧАСТИ "Key2" (возможны key1..key5..).
      algorithm hmac-md5; 
-- Тип алгоритма криптования.
      secret "ereh terces rouy";
-- Код.
};


server 1.2.3.4 { 
-- Начало ЧАСТИ "Server", устанавливает для указанного NameServer'а дополнительные опции.
      bogus no;
--Еcли 'yes' то не будут приниматься запросы от 1.2.3.4.
      transfer-format one-answer; 

      transfers 0;
-- Пока не работает.
      keys { key2; };
-- Подключение установленных кодов в ЧАСТИ 'Key2"
};
logging { 
-- Начало ЧАСТИ "Logging" , опции для управления файлами статистики.
      channel syslog_errors {
syslog user; severity error;
};
-- Эта опция определяет место куда будет запинана информация о ошибках. Возможные варианты: critical,error,warning,notice,info,debug1...debug99.
      file "file.log"; 
-- Файл в который будут записаны сообщения.(не обязательный параметр)
};


include "filename"; 
-- С помощью этого параметра вы сможете подключить к вашему конфигурационному файлу другие.


Сергей Минаков.