The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "DNS" (Архив | Для печати)

BIND version 8.x

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

Оригинал: Unixoid
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. Машины, не попадающие под действие этого правила, могут свободно использовать NameServer.
acl can_axfr { !1.2.3.4; can_query; }; 
-- Этой опцией можно разрешить конкретному компьютеру из запрещенной сети работать с NameServer'ом, в данном случае это 1.2.3.4 и все компьютеры описанные в 'can_query'.

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

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



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру