Настройка BIND в Ubuntu


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



Также DNS-серверы используются в приватных корпоративных сетях, наряду с DHCP.

Рассмотрим настройку такого сервера, для публичного сервера принципы те же.

Настройка BIND

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



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



Задаем статический адрес серверу


Следует иметь в виду, что при конфигурации 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 Desktop, для демонстрации взята такая система

Для демонстрации используется 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

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



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


Устанавливаем 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 работает корректно



Теперь настроим 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 запись.

Сказать спасибо
Categories: