включить редактирование

настройка DNS Debian 6 + bind9

Создан:

На примере этого сайта я расскажу как настроить DNS сервер.

Вы купили доменное имя что дальше? Если Вы планируете податься к хостеру с его извечными проблемами, то там DNS-ы Вам предоставят, а если Вы планируете развернуть свой сервак будь это дома или аренда сервака в дата-центре - не важно, Вам необходимо "поднять" свой DNS сервак для обслуживания Вашей зоны например your_site\.ru [ в дальнейшем обратный слэш применяется для экранирования тчоки] Сразу скажу, лепить хреновину через dyndns не советую, так как в этом случае необходимо будет использовать CNAME на домен 3-го уровня зареганый в этом самом динднсе, что приведет к разрезолвливанию вашего your_site\.ru в имя на dyndns-е. Другими словами вбили в браузер your_site\.ru попали на свой сайт и в адресной строке видим имя blabla\.dyndns\.com. Использовать какие-нибудь free dns тож на любителя, там у Вас не будет возможности сделать свои имена в днс-ах например свой ns1\.your_site\.ru (ИМХО возмножно в индексе имеет место быть лишнее упоминание your_site\.ru, например при разрезолвливании имении, что несомненно может лучше сказаться в продвижении)
Итак имеем ОС Debian 6.0, вообще статья применима ко всем дистрибутивам UNIX за исключением комманд
обновляем репозитарий
#apt-get update

устанавливаем DNS сервер

#apt-get install bind9

переходим в каталог и создаем файлик в котором будет описана Ваша зона

#cd /etc/bind
Определяем зону
master - первичный DNS сервер отвечающий за зону если он будет не доступен, то за зону отвечает slave.
#vim named.conf.local
zone "info-linux.ru" IN {
     type master;
     file "/etc/bind/info-linux.ru";
};

Описываем зону. Создаем файл с содержимым

#touch info-linux.ru

$TTL 86400
@	IN SOA ns1 awful (
		2012092101
		18H
		20M
		2W
		604800 )
		IN NS ns1
		IN NS ns2
info-linux.ru.	IN A x5.7x.126.194
ns1 IN A x5.7x.126.194
ns2 IN A xx.xx.192.12
www IN CNAME x5.7x.126.194
ftp IN CNAME x5.7x.126.194
<тут пустая строка> Любой файл зоны должен оканчиваться пустой строкой ! \n

и теперь slave

zone "info-linux.ru" {
       type slave;
       file "/etc/bind/info-linux.ru";
       masters{IP master DNS};
};

все! обратное преобразование из ip в имя на web серваке не надо для почтового дело другое, но это в другой статье

А теперь подробно:
TTL-определяет время жизни записей в кэш DNS сервера для всех записей зоны (написано в секундах) 
специальный символ @, вместо которого будет подставлено имя текущего домена тот который мы определили в named.conf.local
ns1- имя DNS сервера, если точку не ставим info-linux.ru  подставляется автоматически
awful почтовый адрес (естественно подставиться имя домена и будет awful.info-linux.ru и перед доменом, точка будет интерпретироваться в роли почтового спец символа @ ) 
2012092101 серийный номер записи зоны. принято писать год месяц день и кол-во изменений в этот день (или по другогму номер изменений) При изменении файла описания зоны номер нужно увеличить !!! иначе slave не обновиться
18H интервал времени, через который slave сервер будет обращаться к master серверу для сравнения серийных номеров записей.
(записано в часах [Hour]) В параметрах записи типа SOA интервал времени указывается в виде количества
секунд. Но сервер BIND позволяет использовать сокращенный вариант определения времени.
20M - Если slave сервер не может подключиться к master серверу, он переходит в другой режим работы, при котором интервал времени обращения к master серверу уменьшается.
2W - две недели (Вы ж не хотите во время отпуска срочно поднимать зону на мастере?) , тоесть получается Slave сервер не может до бесконечности пытаться подключиться к master серверу, поэтому после 2W - slave сервер перестает поддерживать эту зону
604800-параметр определяет время жизни по умолчанию в кэш DNS серверов отрицательных ответов нашего сервера.
Запись типа NS (Name Server) предназначена для описания всех DNS серверов, авторитетных для данного домена. При помощи этой записи Вы должны описать все master и slave сервера. Она так же применяется при делегировании прав на зону.
Запись типа А (address) предназначена для преобразования имени машины в IP адрес.
Запись типа CNAME (Canonical Name) — позволяет добавить несколько имен одной и той же машине. 
ну и дополнительно скажу
Записи типа MX (Mail Exchanger) предназначены для указания почтовых серверов, отвечающих за прием почты для домена например @ IN MX 5 info-linux.ru ([домен] [TTL] [IN] MX приоритет почтовый_сервер) Если вообще не указывать ttl то время жизни записи берется из значения по умолчанию для данной зоны. Записи типа PTR (Pointer) предназначены для обратного преобразования — IP адреса в имя машины. Обычно эти записи применяются в зонах обратного преобразования. Формат записи: адрес [TTL] [IN] PTR имя Так и теперь обязательно надо рассмотреть опции bind9
 
directory
Определяет директорию, в которой сервер BIND будет искать файлы описания зон и создавать различные дополнительные файлы. Обычно этот параметр ссылается на директорию /var/named. Пример: directory «/var/named»
notify yes|no
Если параметр notify равен yes, то при изменении описания зоны будут посланы уведомления всем slave DNS серверам. Значение по умолчанию — yes. Пример: notify no
also-notify address
При помощи этого параметра определяются DNS сервера, которые необходимо уведомить при изменении зоны. Slave DNS сервера в этом списке указывать не надо. Значение по умолчанию не определено. Пример: also-notify { 193.12.20.1; 193.12.38.200; };
recursion yes|no
Параметр определяет, будет ли сервер BIND  рекурсивным сервером. Значение по умолчанию — yes. Пример: recursion yes  Блок 3 - 12
allow-recursion address
Этот параметр определяет адреса машин или сетей, для которых сервер BIND будет выступать в роли  рекурсивного сервера. Значение по умолчанию не определенно. Пример: allow-recursion { 193.12.13.240; 194.12.34/24; };
listen-on port порт list
Параметр позволяет определить, на каком интерфейсе и порту будет слушать запросы сервер. Значение по  умолчанию: все интерфейсы, порт 53. Пример:  listen-on { 5.6.7.8; }; listen-on port 1234 { ! 1.2.3.4; 1.2/16; };
allow-query адреса
Параметр определяет, с каких адресов можно посылать запросы нашему серверу. Значение по умолчанию: разрешены все адреса. Пример: allow-query { 1.2.3.4; 10.10.100/24; };
allow-transfer адреса
Параметр определяет, на какие сервера разрешены зонные пересылки. Значение по умолчанию: пересылки разрешены всем серверам. Пример: allow-transfer { 1.2.3.4; 10.10.100/24; };
blackhole адреса 
Параметр определяет адреса серверов, запросы от которых будут всегда игнорироваться. Сервер не будет посылать им свои запросы. Значение по умолчанию: список не определен.  Пример: blackhole { 1.2.3.4; 2.3.4.5; };

 

нам нужно сделать рекурсивнм наш сервер для allow-recursion { localhost; 127.0.0.1/8;} и все, если делаете для свое локальной сети то разрешаете сеть например allow-recursion { localhost; 127.0.0.1/8; 192.168.0.0/24 }; это позволяет достичь того, что наш сервак будет обрабатывать запросы дальше в инет, тоесть если он не знает про зону, то будет спрашивать далее, у того кто стоит в например DNS гугла forwarders { 8.8.8.8; }; поэтому нам не надо чтобы кто то из вне использовал наш ДНС для зон кроме нами описанных и последнее Существуют четыре заранее определенных списка:
  • any – соответствует всем узлам
  • localnets – соответствует всем узлам локальной сети
  • localhost – соответствует своему компьютеру
  • none – не соответствует ни одному узлу

Команда для управление демоном

#/etc/init.d/bind9 {start|stop|reload|restart|force-reload|status}

или RNDC Утилита позволяющая управлять демоном named.

rndc reload - перезапуск named

справка по rndc

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

Автор: awful Просмотров: 10324


Рейтинг статьи: 13

Общий рейтинг из всех статей автора :
{0 [888]} [ - - - - - - - - - - ]

Общий рейтинг из всех статей на сайте :
{0 [888]} [ - - - - - - - - - - ]

[?]
комментариев к данной статье нет

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


Ctrl+Enter

Для активации кнопки, введите символы, которые Вы видите на картинки.

новая

тема

Заметки на тему IT

Монитор поиска
[x]
Новое сообщение

Сообщения в чате

Вы спрашиваете у гостей/у зарегистрированных/ У Вас спрашивают
всем Ctrl+Enter
зарегистрированным Ctrl+Enter
Ctrl+Enter

Краткая инструкция по работе с чатом

  • Вы должны ввести имя, которое будет запомнено и применяться для чата и комментариев на сайте.
  • Выбрать одну из возможностей
    "Вы спрашиваете у гостей/
    у зарегистрированных/
    У Вас спрашивают"
  • Кликните на один из способов и появиться дополнительная информация