Установка и настройка Bind9 на vps с Debian

install bind

Вводные данные. Имеем VDS с минимально установленным Debian с ip 192.168.0.15 и домен mydomail.com.
Требуется поднять DNS. Приступим.

Установим bind

apt-get install bind9 dnsutils

Все конфигурационные файлы лежат в /etc/bind/
Главный конфигурационный файл /etc/bind/named.conf в котором подключены
«/etc/bind/named.conf.options» — настройка forwarders, listen-on и т.д.
«/etc/bind/named.conf.local» — описание зон,
«/etc/bind/named.conf.default-zones» — описание стандартных зон,
«/etc/bind/db.*» — файлы с зонами.

Отредактируем named.conf.options

nano /etc/bind/named.conf.options

Приводим к виду

options {

directory "/var/cache/bind";

forwarders {
8.8.8.8;
8.8.4.4;
};

listen-on {
192.168.0.15;
127.0.0.1;
};

auth-nxdomain no;
};

directory указывает на расположение в дереве каталогов временных файлов сервера.
forwarders — на какие серверы пересылать запрос, если наш сервер сам не в состоянии определить имя или IP-адрес запроса клиентов
listen-on — указывает на каких интерфейсах вести прослушивание 53 порта.

Проверим прослушивается ли 53 порт

Перезапускаем bind

/etc/init.d/bind9 restart
netstat -an | grep 53

tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN
tcp        0      0 192.168.0.15:53         0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:953           127.0.0.1:59337         TIME_WAIT
tcp6       0      0 ::1:953                 :::*                    LISTEN
tcp6       0      0 :::53                   :::*                    LISTEN
udp        0      0 192.168.0.15:53         0.0.0.0:*
udp        0      0 127.0.0.1:53            0.0.0.0:*
udp6       0      0 :::53                   :::*
udp6       0      0 :::53380                :::*

Нужные нам интерфейсы слушают 53 порт. Идём дальше.

Зоны для прямого и обратного преобразований

В основном конфигурационном файле сервера named.conf.local указываем имена файлов, в которых опишем зоны для прямого и обратного преобразований.

nano /etc/bind/named.conf.local

Приводим к виду:

zone "mydomain.com" {
type master;
file "/etc/bind/db.mydomain.com";
};

zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.reverse.zone";
};

Зона прямого просмотра

Создаем файл для зоны прямого просмотра.

nano /etc/bind/db.localdomain.net

Добавим в файл следующее

$TTL 300
$ORIGIN mydomain.com.

@ IN SOA mydomain.com. admin.mydomain.com. (
    2016082201 ; Serial
            1d ; Refresh
            1h ; Retry
            1w ; Expire
            2h ; Negative Cache TTL
    )

@   IN   NS   mydomain.com.
@   IN   NS   ns1.yodns.tk.
@   IN   A    192.168.0.15

$ORIGIN — оригинальное имя зоны
mydomain.com. — Наш DNS-сервер (точка в конце обязательна ).
admin.mydomain.com. — email администратора сервера, где вместо символа @ используется точка.
Serial — серийный номер зоны в формате ГГГГММДД и номер текущего изменения за этот день. (Важно, при каждом изменении, нужно редактировать этот номер увеличивая его в большую сторону) Пример: 2015020301 .
Refresh — период времени с которым вторичный сервер днс обращается к основному.
Retry — период с которым вторичный сервер будет повторять попытки при неудачном обновлении.
Expire — максимальное время использования данных на вторичном сервере, после которого делается обязательное обновление.
Negative Cache TTL — время актуальности данных в кэше запросов.

Далее идут записи имён хостов с ip-адресами или псевдонимами.
ns1.yodns.tk. — вместо этой записи можете указать NS вашего регистратора либо Free DNS сервиса.
В конце этого файла нужно обязательно оставить пустую строку!

Зона обратного просмотра

Создаем файл для зоны прямого просмотра.

nano /etc/bind/db.reverse.zone

Добавим в файл следующее

0.168.192.in-addr.arpa. 10800 IN SOA mydomain.com. admin.mydomain.com. (
          2016082201 ; Serial
                  1d ; Refresh
                  1h ; Retry
                  1w ; Expire
                  2h ; Negative Cache TTL
          )
 
     NS    mydomain.com.
15   PTR   mydomain.com.

Пропишем в resolv.conf адрес нашего DNS сервера:

nano /etc/resolv.conf
domain mydomain.com
search mydomain.com
nameserver 192.168.7.15

Перезапустим BIND

/etc/init.d/bind9 restart

Проверка

Проверим файлы зон на наличие ошибок командой:

named-checkconf -z

Если ошибок нет, обновим информацию о зонах:

rndc reload

Проверка прямой зоны

nslookup mydomain.com
Server:         192.168.0.15
Address:        192.168.0.15#53

Name:   mydomain.com
Address: 192.168.0.15

Проверка обратной зоны

nslookup 192.168.0.15
Server: 192.168.0.15
Address: 192.168.0.15#53

15.0.168.192.in-addr.arpa name = mydomain.com.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *