DNS-Сервер по быстрому…

В один прекрасный момент в сети возникла необходимость в дополнительном DNS-сервере, чтобы разгрузить основной. В виду того что в сети уже существует один основной кэширующий DNS, нет необходимости в полноценном сервере и достаточно будет вторичного кэширующего.

Немного пояснений:

Кэширующий означает, что сервер ведёт свою базу данных по сопоставлению DNS-имени IP-адресу, и каждый раз при обращении клиента не сканирует сеть а выдаёт ответ исходя из имеющейся у него информации.

Первичный (он же основной) означает, что сервер полностью самостоятельный на своём уровне (сам, не зависимо ни от кого и ни от чего, обслуживает свой домен). В случае кэширующего ведёт собственную базу данных не обращаясь к другим DNS-серверам своего уровня.

Вторичный означает, что (в случае кэширующего) собственной базы данных он не ведёт а периодически реплицирует её с первично DNS-сервера прописанного у него в настройках.

Итак вернёмся от теории к практике. Прикинув полный расклад сети, понял что среди серверов, на которые можно возложить эту задачу и поэкспериментировать с установкой и настройкой, относительно свободный есть только один. Это оказался Linux сервер с крутящейся на нём Ubuntu Server 12.04.2. Ну раз альтернативы нет занялся свободным творчеством с тем что имел. Надо отметить, что это мой первый опыт подъёма DNS на Unix-подобной системе. Так же должен заметить, что всё оказалось довольно просто.

Все необходимые знания я почерпнул из документации официального русского сервера данной ОС: http://help.ubuntu.ru/wiki/руководство_по_ubuntu_server/служба_доменных_имен/configuration и приступил.

Первое, что необходимо было сделать это, собственно, установить необходимый компонент системы. Делается это так:

sudo apt-get install bind9

Так же установить дополнительный инструментарий для него (в хозяйстве сгодится):

sudo apt-get install dnsutils

Далее нужно его настроить. Для этого отредактировать файл /etc/bind/named.conf.local указав в нём необходимые настройки зон.

Настройка зоны прямого просмотра:

zone «org.com» {
type slave;
file «db.org.com»;
masters { 192.168.0.2; };
};

Поясню: org.com — это не что иное как просто название моей внутренней dns-зоны прямого просмотра (у Вас оно наверняка будет своё), параметр type со значением slave указывает что это вторичный сервер, параметр file говорит, что переданная с первичного сервера зона будет храниться в файле db.org.com, а параметр masters сообщает нам IP-адрес первичного сервера с которого и надо забирать данные.

Настройка зоны обратного просмотра:

zone «0.168.192.in-addr.arpa» {
type slave;
file «db.192»;
masters { 192.168.0.2; };
};

Не буду особо останавливаться на пояснениях, потому как эти настройки полностью аналогичны настройкам зоны прямого просмотра.

Но это ещё не всё. Надо отметить, что у меня в сети разрешением всех имён занимаются только локальные DNS-сервера и только к ним может обращаться конечный хост, а они в свою очередь (если не могут справиться сами) делают запрос ступенькой выше. Сеть имеет выход в интернет через шлюз с адресом 192.168.0.1, на котором настроено прокидывание DNS-запросов на DNS-сервера провайдера (они в данном случае и являются этой самой «ступенькой выше»). Исходя из этого при настройке нового DNS нужно указать ему куда в случае своей несостоятельности он должен сделать запрос. Для этого отредактируем файл /etc/bind/named.conf.options в котором добавим секцию forwarders в следующем виде:

forwarders {
192.168.0.1;
};

Собственно в ней я указал адрес моего шлюза. Мне этого достаточно в виду того что написал чуть ранее про передачу запросов серверам провайдера. Отмечу, что в этой секции может быть несколько значений и тогда каждое из них должно занимать свою строку. Всё настройка закончена осталось лишь перезапустить сервер. Делается это так:

sudo service bind9 restart

Теперь сервер полностью готов к использованию. Осталось только убедить первичный DNS переслать ему свои зоны, и новичок заработает.

У меня первичный крутиться на Windows потому я покажу настройку для этой ОС. Собственно настройку для Unix вы найдёте в упомянутой выше документации. И так:

Откроем оснастку управления DNS-Сервером, на зоне прямого просмотра нажмём правую кнопку мыши и выберем Свойства. Переходим на вкладку Передачи Зон. Ставим галочку Разрешить передачи зон, выбираем пункт Только на серверы из этого списка и добавляем в «этот список» IP-адрес нашего нового сервера. Полностью аналогично для зоны обратного просмотра. Перезагружаем DNS-Сервер и собственно всё, через некоторое время (возможно и сразу же) он передаст зоны новичку, и они заживут дружной серверной семьёй.

Запись опубликована в рубрике Linux, Сети и протоколы с метками , , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий