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