Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

00-tech-book

.pdf
Скачиваний:
42
Добавлен:
10.02.2016
Размер:
7.86 Mб
Скачать

Структура конфигурационного файла

Структуру конфигурационного можно представить как набор секций. В таблице ниже я расскажу какие секции бывают и для чего они нужны.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

options

 

 

 

 

 

 

 

 

 

Секция описывает глобальное поведение DNS-сервера,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

значения можно переназначить внутри других секций;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

logging

 

 

 

 

 

 

 

 

Секция описывает режим журналирования, если на сервере

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

используется syslog то эта секция должна присутствовать;

 

 

zone

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Секция описывает зону которую данный DNS-сервер будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поддерживать;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

acl

 

 

 

 

 

 

 

 

Access Control Lists, позволяет описать какую либо группу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

хостов а далее, при конфигурирование, уже ссылаться на эту

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

группу;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

controls

 

 

 

 

 

Описывает доступ к удаленному управлению DNS-сервером

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

через rndc;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

include

 

 

 

 

 

 

 

 

Позволяет

подключить

дополнительный

файлы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

конфигурации;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

key

 

 

 

 

 

 

 

 

 

 

 

 

 

Секция описывает ключи, используемые для аутентификации

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и контроля операций с Dynamic DNS и удаленного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

управления;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

lwres

 

 

 

 

 

 

 

 

 

 

 

Секция описывает свойства DNS-сервера когда он запущен

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

как легковесный резолвер;

 

 

 

 

 

 

 

 

server

 

 

 

 

 

 

 

 

 

 

 

 

Здесь описываются опции, которые DNS-сервер будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

использовать при взаимодействие с другим сервером;

 

 

 

 

 

 

 

 

 

 

 

 

view

 

 

 

 

 

 

 

 

Позволяет описать поведение сервера для конкретных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

хостов/сетей;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

trusted-keys

 

 

 

 

 

 

Описывает доверенные ключи для домена.

 

 

 

Ну и базовая структура может выглядеть вот так:

options

{

...

};

logging

{

...

};

acl

{

...

Модуль 13. DNS-сервер. BIND.

 

181

 

 

 

 

 

};

on

};

Настройка

Итак, у нас есть следующее:

Сервер с IP 192.168.146.2 – шлюз во внешние сети и DNS-сервер для двух наших сетей (192.168.146.0/24, 192.168.147.0/24);

Сервер с IP 192.168.146.132 – новый сервер со свежей Linux CentOS 5.2 который мы сделаем как master dns сервер, также этот сервер будет перенаправлять все запросы на которые не сможет сам ответить на DNSсервер провайдера (192.168.146.2);

Сервер с IP 192.168.147.132 – новый сервер со свежей Linux CentOS 5.2 который мы сделаем как slave dns сервер для 192.168.146.132.

Настраивать named рекомендуется в chroot-окружение, это когда для сервиса создана своя рабочая среда в рамках которой он работает. Он нечего не знает о внешней системе и не может туда выбраться, и в случае проблем с безопасностью это никак не повлияет на систему в целом. Для этих целей мы и поставили пакет bind-chroot.

По умолчанию, если не найден файл /var/named/chroot/etc/named.conf то будет использоваться /var/named/chroot/etc/named.caching-nameserver.conf

Я предпочел скопировать шаблон файла named.conf и на его основе сделать свой файл.

# cp /usr/share/doc/bind-9.3.4/sample/etc/named.conf /var/named/chroot/etc/

Ключевые файлы и каталоги пакета BIND в таблице ниже.

 

 

 

 

 

 

 

 

 

 

 

 

/var/named/chroot/

Структура файловой системы и файлы которые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

будут использоваться в работе chrooted-bind, все

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

что нужно редактируйте здесь;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/usr/sbin/named

 

Исполняемый файл DNS-сервера;

 

 

 

 

 

 

 

 

 

 

 

 

/var/named/chroot/etc/named.conf В нормальных условиях конфигурационный файл named.conf расположен в /etc/ но мы настраиваем DNS-сервер в chroot-окружение и поэтому он будет расположен здесь, чтобы named смог его найти;

 

182

 

Модуль 13. DNS-сервер. BIND.

 

 

 

 

 

/var/named/

 

 

 

 

 

 

 

 

Все нужные файлы для работы named

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

расположены здесь и в подкаталогах;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/usr/sbin/rndc

 

Утилита для управления named;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/usr/sbin/named-checkzone

 

Утилита для проверки корректности файла зоны;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/usr/sbin/named-checkconf

 

 

 

 

Утилита для проверки корректности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

конфигурационного файла;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/etc/rc.d/init.d/named

 

Скрипт для chkconfig, при установке из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

репозитория нечего с ним делать не нужно;

 

 

 

 

 

 

 

 

 

 

 

 

/etc/sysconfig/named

 

 

 

 

 

 

 

 

Здесь можно задать некоторые опции с которыми

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

будет стартовать named;

 

 

 

 

 

 

 

/usr/share/doc/bind-9.3.4/

 

 

 

 

Документация.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Файл /var/named/chroot/etc/named.conf

options

{

directory «/var/named»;

dump-file «data/cache_dump.db»; statistics-file «data/named_stats.txt»; memstatistics-file «data/named_mem_stats.txt»; version «Made in USSR»;

listen-on {localhost; 192.168.146.132; }; allow-transfer{192.168.147.132; }; allow-query{trusted-networks; }; allow-recursion {trusted-networks; }; forwarders {192.168.146.2; };

};

logging

{

channel default_ch {

file «data/named-base.log»; severity info;

print-time yes; print-category yes;

};

channel security_ch {

file «data/named-security.log»; severity info;

print-time yes; print-category yes;

};

category default { default_ch; };

Модуль 13. DNS-сервер. BIND.

 

183

 

 

 

category security { security_ch; };

};

acl «trusted-networks» {localhost; 192.168.146.0/24; 192.168.147.0/24; };

zone «example545.com» IN { type master;

file «example545.com»;

};

zone «168.192.in-addr.arpa» { type master;

file «168.192.rev»;

};

include «/etc/named.rfc1912.zones»;

Файл зоны example545.com

(все файлы зон расположены в /var/named/chroot/var/named)

 

 

 

 

 

 

 

 

 

 

@

IN

SOA ns1.example545.com. support.example545.com. (

 

 

 

 

 

 

 

 

 

 

 

 

1 ; serial

 

 

 

 

 

 

 

 

 

 

 

28800 ; refresh

 

 

 

 

 

 

 

 

 

7200 ; retry

 

 

 

 

 

 

 

 

 

604800 ; ex

pire

 

 

 

 

 

 

 

 

86400 ; ttl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IN

NS

 

ns1.example545.com.

 

 

 

 

 

 

 

 

 

IN

NS

 

ns2.example545.com.

 

 

 

 

 

 

 

 

 

IN

MX

10 mail.example545.com.

 

 

 

 

 

 

 

 

 

@

IN

A

192.168.146.132

 

 

 

 

 

 

 

 

 

 

 

 

ns1

IN

A

192.168.146.132

 

 

 

 

 

 

 

 

 

 

ns2

IN

A

192.168.147.132

 

 

 

 

 

 

 

 

 

 

mail

IN

A

192.168.146.132

 

 

 

 

 

 

 

 

 

www

IN

A

192.168.146.132

 

 

 

Файл обратных зон для нашей сети 192.168.146.0/24 будет таким:

 

@

IN

SOA ns1.example545.com. support.example545.com. (

 

 

 

 

 

 

 

 

 

 

 

 

 

1 ; serial

 

 

 

 

 

 

 

 

 

 

 

28800 ; refresh

 

 

 

 

 

 

 

 

 

7200 ; retry

 

 

 

 

 

 

 

 

604800 ; expire

 

 

 

 

 

 

 

 

 

 

184

 

Модуль 13. DNS-сервер. BIND.

 

 

 

 

 

 

 

 

86400 ; ttl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

IN

NS

 

ns1.example545.com.

 

 

 

 

 

 

 

 

 

 

IN

NS

 

ns2.example545.com.

 

 

 

 

 

 

 

 

 

 

132.146 IN

PTR

 

example545.com.

 

 

 

 

 

 

 

 

 

 

Если сервер запускаем первый раз то выполняем команду

# service named start

Если он уже работает и обслуживает зоны то будет достаточно перезагрузить файл конфигурации.

# rndc reload

Теперь поговорим про файл зоны.

IN NS ns1.example545.com. - указываем наш NS-сервер для этого домена, нужно указать хотя бы два сервера, IN – означает Internet;

IN MX 10 mail.example545.com. - указываем почтовый сервер для этого домена, куда отправлять почту предназначенную для этого домена;

@ IN A – запись А для нашего домена. @ – ссылка на имя нашего домена, можно было написать “example545.com. IN A 192.168.146.132” а можно вот так.

Далее идут относительные записи А, относительные значит что к этому имени прибавиться еще основная часть. В результате, например, получится mail.example545.com и www.example545.com

Если мы не хотим чтобы к имени что либо добавлялось, нужно явно показать что это имя является FQDN, То есть полностью описанным. Для этого после имени нужно поставить точку. Давайте в нашем файле зоны example545.com уберем точку в строке

 

“IN MX 10

mail.example545.com.”, перезагрузим конфигурационный

 

 

 

 

 

 

 

 

 

файл командой rndc reload и сделаем запрос к DNS-серверу:

 

 

 

 

 

 

 

 

# dig example545.com @ns1.example545.com any

 

 

 

 

 

 

;; ANSWER SECTION:

 

 

...

 

 

 

 

 

 

 

 

example545.com.

43200 IN MX 10 mail.example545.com.example545.com.

 

...

 

 

 

 

Модуль 13. DNS-сервер. BIND.

 

185

 

 

 

Видите, добавилась основная часть имени домена и получилось “mail. example545.com.example545.com.”, что конечно же не правильно.

Ну и попробуем по IP-адресу получить доменное имя:

# nslookup 192.168.146.132

Server: 192.168.146.132

Address: 192.168.146.132#53

132.146.168.192.in-addr.arpa name = example545.com.

Опции конфигурационного файла

Секция options – глобальные конфигурационные опции;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

directory

 

 

 

 

 

 

 

 

Опция задает каталог где располагаются файлы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

необходимые для работы named;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dump-file

 

 

 

 

 

 

 

 

 

 

Опция задает расположение файла с кэшем DNS-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сервера;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

statistics-file

 

 

 

 

 

 

 

 

Опция задает расположение файла с статистикой;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

memstatistics-file

 

 

 

 

 

Опция задает расположение файла со статистикой по

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

использованию памяти;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

version

 

 

 

 

 

 

 

Здесь указываемзначениепеременнойversion котороебудет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

отдаваться клиентам в ответ на их запрос версии сервера;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

listen-on

 

 

 

Здесь указываем порты и IP-адреса на которых named

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

будет принимать входящие запросы;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

allow-transfer

 

 

 

 

 

 

 

 

 

 

 

Здесь указываем список IP-адресов которым разреша-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ется передавать зону, указываем здесь slave-сервера;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

allow-query

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь указываем сети запросы из которых наш DNS-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сервер будет обслуживать;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

allow-recursion

 

 

 

 

 

 

 

 

 

 

Здесь указываем сети рекурсивные запросы которых

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

наш DNS-сервер будет обслуживать;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

forwarders

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если наш DNS-сервер не сможет ответить на запрос

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то он его перенаправит серверам, указанным в этой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

опции. Обычно, запросы перенаправляют DNS-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

серверам провайдера, они обслуживают сети в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

которых вы работаете и всегда помогут.

 

 

 

 

 

 

 

 

 

 

 

Секция logging – журналирование работы DNS-сервера;

 

channel

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Указываем название канала логирования;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

file

 

 

 

 

 

 

 

 

 

Путь к файлу в который будет записываться

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

информация из этого канала;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

186

 

Модуль 13. DNS-сервер. BIND.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

это уровень важности;

 

 

 

 

 

 

severity

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

указывать время в логах или нет;

 

 

 

 

print-time

 

 

 

 

 

 

 

 

 

 

 

 

 

регистрировать категории или нет;

 

 

 

 

print-category

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

category

 

Какие категории в какие каналы пишем.

 

 

Секция zone – определение зоны;

 

 

 

 

 

 

zone

 

 

 

 

 

 

 

 

 

 

 

Указываем название зоны;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тип зоны, на primary master пишем master, на slave-

type

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сервере – slave;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

file

 

 

 

 

 

 

 

 

 

 

Расположение файла зоны.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В подключенном файле named.rfc1912.zones находятся служебные зоны, делать с файлом нечего не нужно.

Не забываем, поскольку наш DNS-сервер будет выполняться в chrootокружение то его log-файлы будут расположены в

/var/named/chroot/var/named/data

DNS-сервер готов. Теперь на любом клиенте в доверенных сетях в файл /etc/ resolv.conf прописываем наш DNS-сервер и пользуемся.

# cat /etc/resolv.conf

nameserver 192.168.146.132

Slave-сервер

Slave-сервер настраивается точно также как и master за исключением пары опций в секции zone. Ниже я приведу мою конфигурацию и пояснения.

Ставим нужные пакеты

# yum -y install bind-chroot caching-nameserver

Добавляем в автозагрузку

# chkconfig named on

/var/named/chroot/etc/named.conf

options

{

directory «/var/named»;

dump-file «data/cache_dump.db»; statistics-file «data/named_stats.txt»;

Модуль 13. DNS-сервер. BIND.

 

187

 

 

 

memstatistics-file «data/named_mem_stats.txt»; version «Made in USSR»;

listen-on {localhost; 192.168.147.132; }; allow-transfer{none; }; allow-query{trusted-networks; }; allow-recursion {trusted-networks; }; forwarders {192.168.146.132; };

};

logging

channel default_ch {

file «data/named-base.log»; severity info;

print-time yes; print-category yes;

};

channel security_ch {

file «data/named-security.log»; severity info;

print-time yes; print-category yes;

};

category default { default_ch; }; category security { security_ch; };

};

acl «trusted-networks» {localhost; 192.168.146.0/24; 192.168.147.0/24; };

zone «example545.com» IN { type slave;

file «slaves/example545.com»; masters {192.168.146.132; };

};

include «/etc/named.rfc1912.zones»;

Как видите все почти тоже самое. Трансфер зоны мы делать не будем, потому что в нашей сети больше нет серверов кому ее можно передать, а master-серверу ее передавать бессмысленно, он является primary masterом для зоны. Все запросы на которые не сможем ответить сами, мы переадресуем master-серверу (он если не сможет ответить то переадресует

 

188

 

Модуль 13. DNS-сервер. BIND.

 

 

 

 

на 192.168.146.2). Ну и ключевое:

type slave; - выполнять роль slave-сервера для этой зоны; masters – список master-серверов с которых ее можно получить;

# rndc reload

Посмотрим наш log-файл /var/named/chroot/var/named/data/named-base.log

general: zone example545.com/IN: Transfer started.

xfer-in: transfer of 'example545.com/IN' from 192.168.146.132#53: connected using 192.168.147.132#40241

general: zone example545.com/IN: transferred serial 1

xfer-in: transfer of 'example545.com/IN' from 192.168.146.132#53: end of transfer notify: zone example545.com/IN: sending notifies (serial 1)

Slave-сервер готов.

Неавторитативный ответ

Наш DNS-сервер не поддерживает зону ya.ru поэтому не может дать авторитативный ответ. Он всего лишь сообщает клиенту то, что узнал от других DNS-серверов. Такой ответ будет неавторитативным и будет содержать строку Non-authoritative answer в своем ответе. А узнавать наш DNS-сервер будет у тех кто перечислен в опции forwarders, То есть кому перенаправлять запросы с которыми мы сами не справились.

# nslookup ya.ru

Server: 192.168.146.132

Address: 192.168.146.132#53

Non-authoritative answer:

Name: ya.ru

Address: 213.180.204.8

Авторитативный ответ

В этом примере ответ будет авторитативный - мы обращаемся с запросом к нашему DNS-серверу который обслуживает эту зону.

# nslookup example545.com

Server: 192.168.146.132

Модуль 13. DNS-сервер. BIND.

 

189

 

 

 

Address: 192.168.146.132#53

Name: example545.com

Address: 192.168.146.132

Записи в /etc/resolv.conf

Файл /etc/resolv.conf служит не только для указания NS-серверов. Есть еще пара интересных опций на мой взгляд.

domain – указав домен мы будем производить поиск хостов в этом домене по коротким именам, это удобно. Например “domain example545.com”. Выполнив команду“nslookup server10”мы произведем поиска хоста server10 в домене example545.com, То есть если существует хост server10.example545. com то мы получим положительный ответ.

search – более функциональный механизм, он позволяет задать список доменов в котором мы будем искать свой хост по короткому имени и порядок поиска. Например:

search office.example545.com outsorcers.example545.com

Сначала ищем в office.example545.com и если не находим то переключаемся на поиск в outsorcers.example545.com. Поиск происходит до первого совпадения, если нечего не найдено то возвращается сообщение об ошибке.

Статистика работы

Статистику работы можно посмотреть вот так:

# rndc status number of zones: 7 debug level: 0 xfers running: 0 xfers deferred: 0

soa queries in progress: 0 query logging is OFF recursive clients: 0/1000 tcp clients: 0/100

server is up and running

number of zones – число поддерживаемых зон этим DNS-серверов;

debug level – уровень отладки debug;

 

190

 

Модуль 13. DNS-сервер. BIND.