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