КГБ: Киевская городская библиотека URL: http://lib.misto.kiev.ua/INTERMET/bind_doc_ru/named-8.dhtml Сергей Минаков. Конфигурирование BIND версии 8.X.X --------------------------------------------------------------- Оригинал этого текста расположен в журнале "Юниксоид" http://www.fima.net/bind-8.html Ў 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"; - С помощью этого параметра вы сможете подключить к вашему конфигурационному файлу другие. Сергей Минаков. URL: http://lib.misto.kiev.ua/INTERMET/bind_doc_ru/named-8.dhtml