Настройка DNS сервера BIND в DEBIAN-Ubuntu

DNS — служба, позволяющая преобразовывать IP-адреса в доменные имена.
DNS-сервер не является обязательным элементом корпоративной сети, однако часто применяется (наряду с DHCP).

Настройка BIND Ubuntu, PTR запись в DNS BIND

Настройка DNS будет производиться на примере самого популярного в настоящее время программного пакета, позволяющего реализовать DNS — BIND9.

Преимуществом наличия DNS-сервера является возможность иметь в сети ресурсы, имеющие абсолютно любые имена, в том числе — принадлежащие другим Интернет ресурсам.

 

При работе с DNS можно использовать любые доменные имена в любых зонах (.com, .org, .ru и т.д.). Единственной рекомендацией может быть следующая — не использовать при экспериментах с DNS доменные имена в зоне .local поскольку в этом случае может наблюдаться ряд побочных эффектов в результате чего настраиваемый программный пакет может работать некорректно.

 

Настройка BIND Ubuntu

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

Прежде всего, устанавливаем для сервера статический IP-адрес

Проверяем актуальное значение IP-адреса

ip a

Нужный адрес относится к интерфейсу eth0

Отправляемся в файл, отвечающий за сетевые настройки и меняем способ выдачи адреса с DHCP на static

mcedit /etc/network/interfaces

iface eth0 inet static
address 192.168.11.76
network 255.255.255.0
gateway 192.168.11.21

 

Данный адрес установлен с учетом того, что он заведомо находится за пределами диапазона адресов, назначаемых DHCP

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

ifdown eth0 && ifup eth0

 

 

Удаление resolvconf в Ubuntu старше 12.04

Для демонстрации используется Ubuntu 16.04, начиная с версии 12.04 данный дистрибутив использует утилиту resolvconf, которая контролирует DNS автоматически. Для рабочих станций данная утилита очень полезна, для серверов — нет.

cat /etc/resolv.conf

Видим в файле информацию о том, что он заполняется автоматически и править конфигурацию вручную нельзя. Поскольку нас это не вполне устраивает — удаляем утилиту (на рабочих станциях вносить изменения DNS можно редактируя файлы head, base и tail в каталоге /etc/resolvconf/resolv.conf.d — структура файлов будет рассмотрена в одной из следующих статей).

apt-get remove resolvconf

cat /etc/resolv.conf

Сейчас предупреждения, которое выводилось раньше, нет.

 

 

Установка и настройка bind9

Устанавливаем bind9

apt-get install bind9

Конфигурационные файлы располагаются в каталоге /etc/bind. Основные файлы: named.conf и named.conf.local

Общая форма конфига bind9 представлена в файле db.local

cat db.local

Конфигурации также представлены в named.conf.default-zones
Здесь можно увидеть записи двух типов:

zone «localhost» {
type master;
file «/etc/bind/db.local»;
};

zone «127.in-addr.arpa» {
type master;
file «/etc/bind/db.127»;
};


 

Первая запись характеризует прямое преобразование — доменного имени в IP-адрес, вторая — обратное преобразование — IP-адреса в доменное имя.

Дальнейшие изменения вносим в файл named.conf.local

zone «example.com» {
type master;
file «/etc/bind/example.com.zone»;
};

 

mcedit example.com.zone

$TTL 3600
@    IN    SOA    localhost    localhost (
20170211001    ;серийный номер
3600        ;время обновления
3600        ;повторная попытка запроса обновления от мастера
3600        ;время истечения срока действия
3600        ;кэширование TTL
)

IN    NS    server01.example.com.
IN    A    192.168.11.76
alias     IN    CNAME    server01

 

 

При использовании FQDN — в NS записи — (полностью определенного доменного имени) точка в его конце обязательна.

 

Серийный номер — чаще всего дата + порядковый номер изменеий за день, инкрементировать число нужно каждый раз обновляя зону для того чтобы слэйв сервера DNS могли среагировать на то, что информация обновилась и обновить свои записи

 

Значения времени обновления,повторной попытки запроса обновления от мастера, времени истечения срока действия и кэширования TTL всех указанных параметров можно варьировать, в большинстве случаев используется значение 3600 секунд, в случае большой нагрузки на сервер — при использовании его в публичных местах — значения можно увеличивать для того чтобы уменьшить трафик в сети.

 

NS запись DNS — запись, определяющая к какому серверу будет происходить запрос при попытке разрешеиня имени или адреса.

А запись DNS — запись согласно которой производится запрос к серверу на наличие файлов сайта.

CNAME запись используется для создания синонимов — при запросе к alias.example.com в данном случае производится обращение к server01.example.com.

 

/etc/init.d/bind9 restart

В случае если при перезапуске службы ошибок не возникло — конфигурационные файлы составлены корректно

 

Чтобы проверить корректность работы bind9 заставим сервер обращаться к себе

mcedit /etc/resolv.conf

nameserver 192.168.11.76
domain example.com
search example.com

 

Проверяем (о том, как проверять DNS записи для домена)

host alias.example.com

В выводе присутсвует адрес 192.168.11.76, что означает, что успешно разрешаются как CNAME, так и A записи).

ping alias.example.com

Пинг есть, значит bind работает корректно

 

Теперь настроим обратное преобразование

cat named.conf.default-zones

Как и ранее идем в named.conf.local; добавляем следующие строки

zone «11.168.192.in-addr.arpa» {
type master;
file «/etc/bind/192.168.11.zone»;
};

 

mcedit 192.168.11.zone

$TTL 3600
@    IN    SOA    localhost    localhost (
20170211001    ;серийный номер
3600        ;время обновления
3600        ;повторная попытка запроса обновления от мастера
3600        ;время истечения срока действия
3600        ;кэширование TTL
)

IN    NS    server01.example.com.
IN    A    192.168.11.76
76     IN    PTR    server01.example.com.

 

В PTR записи прописывается только последний октет адреса 192.168.11.76, bind добавляет остальные октеты, если пренебречь этим правилом обратное преобразование происходить не будет.

 

Настройка bind Ubuntu на этом завершена. Читайте также про DNS записи: CNAME, SOA, PTR . Для работы почты особенно важна SPF запись.

Запись опубликована автором в рубрике DNS.