Сергей Минаков. Конфигурирование BIND версии 8.x.x

Содержание




      Оригинал этого текста расположен в журнале "Юниксоид"





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

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

Подякувати Помилка?

Дочати пiзнiше / подiлитися