Настройка DNS-сервера на VDS

Иногда для каких-либо проектов необходимо обеспечить работу серверов имен на своем VDS, используя минимальный вариант операционной системы. В этой статье рассказано, как настроить эту конфигурацию. При установке использовались VDS без предустановленного ПО.

Для работы серверов имен требуется два IP-адреса (это требование регистраторов доменов), следовательно, необходимо заказать второй адрес в биллинге для вашего сервера. Заказ выполняется в разделе Виртуальные серверы — кнопка IP-адреса.

BIND — это DNS сервер с открытым исходным кодом, который предоставляет службы DNS в дистрибутивах Linux.

В ОС семейства Windows Server используется встроенная роль DNS сервера.

Настройка DNS в системе Debian

В шаблоне debian следует установить пакет bind (предварительно синхронизировав информацию о пакетах).

Отредактируйте файл /etc/bind/named.conf добавив в него описание вашей зоны (предположим, что домен называется example.com).

Отредактируйте файл /etc/bind/example.com добавив в него строки:

Здесь 1.1.1.1 и 2.2.2.2 — ваши IP-адреса, example.com — ваш домен.

Не забудьте проверить права на файл /etc/bind/example.com и поправить их в случае необходимости:

После чего можно перечитать конфигурацию DNS-сервера:

После приведенной настройки можно указывать серверы имен ns1.example.com/1.1.1.1 и ns2.example.com/2.2.2.2 у регистратора. В Личном кабинете следует указывать записи через символ /, у регистраторов может быть меню Child Nameservers где указывается данное соответствие.

Настройка DNS в системе Ubuntu

Иногда пакет bind9 уже установлен в шаблоне Ubuntu, его необходимо запустить и добавить в автозапуск:

Если bind9 не установлен, установка такая же, как для системы Debian.

Дальнейшая настройка выполняется точно также как в случае настройки на Debian

Настройка DNS в системе CentOS/AlmaLinux/RockyLinux

Иногда DNS сервер уже предустановлен в шаблоне ПО Сentos/AlmaLinux/RockyLinux. Его следует настроить и запустить. Если его нет, то нужно предварительно установить:

Запускаем DNS сервер и добавляем его в автозагрузку:

Отредактируйте /etc/named.conf и удалите или закомментируйте символами // строки:

После чего необходимо в конец блока options добавить параметр allow-transfer и указать IP-адреса:

В результате блок options файла /etc/named.conf будет выглядеть примерно так:

Следующий шаг (создание и настройка использования rndc.key) можно пропустить, если не будете пользоваться командой rndc, — в таком случае перезапустите DNS-сервер командой: 

Создайте ключ /etc/rndc.key командой:

Добавьте в /etc/named.conf:

Где строку secret:

следует брать из файла /etc/rndc.key.

Запустите named и добавьте его в автозапуск:

Настройка зоны производится аналогично настройке на Debian / Ubuntu со следующими отличиями:

  • файл конфигурации DNS-сервера /etc/named.conf
  • зоны расположены в каталоге /var/named

Настройка DNS в Windows Server 2019

Зайдите в Диспетчер серверов — Управление — нажмите Добавить роли и компоненты и добавьте DNS-сервер.

Далее в Диспетчере серверов переходим в Средства — DNS.

Нажимаем на имя сервера, на кнопку Действие — Настроить DNS сервер. Откроется мастер настройки DNS сервера. Нажимаем Далее и выбираем Зону прямого просмотра.

Вводим имя зоны и жмем Далее.

Запрещаем динамическое обновление.

После можно настроить пересылку запросов определенным DNS серверам, либо оставить распознавание имен при помощи корневых серверов. Жмем Далее — Готово.

Осталось добавить DNS-записи. Выбираем Зоны прямого просмотра, нажимаем на созданную нами зону и нажимаем на кнопку Тип записи ресурса. Ищем тип записи Узел (типа А или АААА), выбираем его и создаем запись.

В появившемся окне добавляем А-записи. У первой записи Узел остается пустой. Указываем IP и создаем запись.

Аналогичным образом создаем остальные А-записи, при этом указывая название в поле Узел.

Редактируем запись Сервер имен (NS).

Выбираем имя сервера и нажимаем на кнопку Изменить. В открывшемся окне меняем имя NS (в нашем случае ns1.example.com.). Не забудьте в конце добавить точку!

Ниже указываем соответствующий IP (в нашем случае 1.1.1.1) и нажимаем ОК.

Первое имя NS настроено, добавляем второе. В окне нажимаем на Добавить, а затем таким же способом добавляем второе имя NS (в нашем случае это ns2.example.com. и IP 2.2.2.2). Получим такую картину:

Теперь отредактируем начальную зону (SOA) аналогичным способом. Указываем первичный NS зоны и email администратора (в email вместо символа @ нужно поставить точку, т.е. если почта admin@example.com — указываем admin.example.com).

Аналогично А-записям можно добавить другие, например, MX или TXT.

Проверка работоспособности DNS-сервера

Проверить работоспособность полученной конфигурации можно используя команду dig. В Debian/Ubuntu устанавливается через apt-get пакет dnsutils.

В CentOS/AlmaLinux/RockyLinux установка dig производится через менеджер пакетов dnf или yum (для CentOS 7) — пакет bind-utils.

Для проверки запускаем команду dig: 

В случае успеха ответ будет таким:

Данной утилитой проверяется ответ сервера, то что ему известно про существование зоны и записи в ней.