Вы находитесь здесь: Главная > Разное > Создание хостинга. Часть 7. Настройка вторичного DNS сервера bind

Создание хостинга. Часть 7. Настройка вторичного DNS сервера bind

. . . . .

068_bnw-Всем привет!

Сегодня продолжим настраивать слубжу DNS. Раннее мы настроили первичный dns сервер. Для полноценной работы сервиса доменных имен необходимо настроить два сервера — первичный (Prymary DNS) и вторчиные (Secondary DNS) DNS сервера.

Данная архитектура позволяет обесбечить доступность доменной зоны в Интернет. Расскажу кратко о принципе действия DNS. Записи зоны создаются на первичном сервере, после создания записи, первичный DNS сервер посылает оповещение notify вторичному DNS серверу, и тот обновляет записи зоны у себя. Все вроде бы хорошо — все записи обновляются автоматически. Но есть один недостаток у Bind — при создании новой зоны на Primary DNS не создаётся соответсвующая зона на Secodary DNS. Про то, как решить эту проблему я напишу в следующем посте.

Ну что ж, начнем создание и настройку вторичного DNS сервера. Настраивать буду на другом сервере. Там уже установлены Debian и bind9. Ранее, в пятой части моего повествования о создании хостинга, мы создали зону hosting.local. , теперь настроим вторичный DNS сервер для этой зоны.

Первым делом, нам нужно подкрутить настройки на Primary DNS в файле /etc/bind/named.conf.options:

options {
        directory "/var/cache/bind";
        auth-nxdomain no;    # conform to RFC1035
        listen-on port 53 { 192.168.0.68; 127.0.0.1; }; #указываем на каких интерфейсах будет висеть сервис DNS
        allow-query     {any; }; # разрешаем всем делать запросы к нашем Primary DNS
};

Далее поправим в файле named.conf секцию с зоной hosting.local:

zone "hosting.local" {
        type master;
        file "/etc/bind/hosting.local";
        notify yes; #включаем оповещение вторичных серверов о изменения в зоне
        allow-transfer { 192.168.0.69;}; # разрешаем скачивать  зону только вторичному DNS сервру.
};

Теперь приступим к настройке Secondary DNS. Добавим в /etc/bind/named.conf описание зоны hosting.local, предварительно создав каталог /etc/bind/slave и выставив права на запись для пользователя bind (для удобства — чтобы файлы зон не были в куче с конфигами, аналогично можно разделить и на Primary DNS, только там папка master) :

zone "hosting.local" {
        type slave;
        file "/etc/bind/slave/hosting.local"; #файл зоны hosting.local
        masters { 192.168.0.68; }; # указываем ip Primary DNS
        allow-query { localhost; 0.0.0.0/0; }; # задаем хосты которым разрешено делать запросы к вторично DNS
        allow-notify { 192.168.0.68; }; # указываем хост от которого будем принимать оповещения об обновлении зоны
};

Настройка закончена. Теперь необходимо рестартовать демоны bind.
Сначала на первичном DNS сервере:

debian:~# /etc/init.d/bind9 restart

Затем на вторичном DNS сервере:

debian-2:~# /etc/init.d/bind9 restart

Проверим наличие файла зоны hosting.local на вторичном dns сервере:

debian-2:/etc/bind# ls /etc/bind/slave/
hosting.local

Как видим файл зоны закачался на Secondary DNS.

Теперь добавим A запись ns2.hosting.local указывающую на вторичный DNS сервер. Для этого на первичном DNS сервере в файле /etc/bind/hosting.local добавим строки:

hosting.local.  IN      NS      ns2.hosting.local.  # указываем второй DNS сервер
ns2.hosting.local.    IN        A     192.168.0.69

И сделаем небольшое изменение в строке:

hosting.local.  IN      SOA     localhost. root.localhost. (2 10800 3600 604480 86400 )

Здесь заменим цифру 2 на 3. Этот параметр называется serial , узавывает серийный номер правки файла зоны. В качестве серийного номера можно использовать попорядку цифры, можно использовать время в unix time. Также можно делать серийный домер в виде ГГГГммддNN (NN-номер правки), например первое изменения файла за сегодняшний день будет выглядеть так: 2011012501, втрорая правка 2011012502 и т.д. Неважно какой формат использовать, главное чтобы после правки число было больше предыдущего. Остальные параметры также важны, но описывать я их не буду, про это можно почитать в Интернет.

После изменения файла зоны, нужно перечитать файлы зон командой:

debian:/# /etc/init.d/bind9 reload

Теперь проверим работоспособность вторичного DNS сервера, выполнив команду:

debian:/# dig hosting.local @192.168.0.69

В резульатате увидим ответ о хосте hosting.local от Secondary DNS.

; <<>> DiG 9.6-ESV-R3 <<>> hosting.local @192.168.0.69
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63910
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;hosting.local.                 IN      A
;; ANSWER SECTION:
hosting.local.          3600    IN      A       192.168.0.68
;; AUTHORITY SECTION:
hosting.local.          3600    IN      NS      ns.hosting.local.
hosting.local.          3600    IN      NS      ns2.hosting.local.
;; ADDITIONAL SECTION:
ns.hosting.local.       3600    IN      A       192.168.0.68
ns2.hosting.local.      3600    IN      A       192.168.0.69
;; Query time: 14 msec
;; SERVER: 192.168.0.69#53(192.168.0.69)
;; WHEN: Tue Jan 25 12:04:00 2011
;; MSG SIZE  rcvd: 114

Вот и все.

. . . . .
  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS

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

This blog is kept spam free by WP-SpamFree.

. . . . . . . . . . . . . . . . . . . .