Оцените этот текст:


---------------------------------------------------------------
 Оригинал этого текста расположен в журнале "Юниксоид"
 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"; 
-- С помощью этого параметра вы сможете подключить к вашему конфигурационному файлу другие.

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

Last-modified: Fri, 22 Jan 1999 06:19:38 GMT
Оцените этот текст: