Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

Настройка DNS-сервера без ispmanager

2098
5 минут чтения
Средний рейтинг статьи: 5

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

Настройка Dns Сервера Без ISP manager

Подготовка сервера

Допустим, вы заказали виртуальный сервер на timeweb.cloud и хотите использовать свои DNS servers. Для этого нужно выполнить два условия:

  1. Заказать дополнительный IP-адрес. Для настройки DNS требуется как минимум два айпи.
  2. Открыть DNS-порт 53, который нужен для работы сервера имен.

Ubuntu/Debian

Обновите список пакетов:

    

Разрешите в брандмауэре входящие пакеты на порт 53 UDP:

    

Сохраните параметры:

    

CentOS

Установите обновления:

    

Установите утилиту для синхронизации времени:

    

Настройте временную зону. В данном случае — московское время:

    

Разрешите и запустите сервис синхронизации:

    

Откройте порт 53:

    

Примените обновленные параметры:

    

Установка DNS-сервера

В этом руководстве для создания IP DNS будет использован BIND 9.

Ubuntu/Debian

Установите необходимое ПО:

    

Добавьте его в список автозагрузки:

    

Запустите сервис:

    

Проверьте, что все работает:

    

В выводе будет указано состояние active.

CentOS

Установите утилиту для организации ДНС:

    

Разрешите автозапуск:

    

Запустите установленный сервис:

    

Проверьте, что он работает:

    

В выводе будет указано состояние active.

Базовая настройка DNS-сервера

Параметры нужно указать в файле конфигурации. 

Ubuntu/Debian

Откройте файл конфигурации:

    

В строке listen-on укажите сети, которые необходимо обслуживать. Например:

    

Если нужно, чтобы ДНС работал по всем адресам, не указывайте параметр или задайте ему значение any.

В строке allow-query укажите, кому разрешено выполнять запросы. Можно разрешить всем, вписав any, или добавить конкретные адреса и сети:

    

Перезапустите службу, чтобы новая конфигурация заработала:

    

CentOS

Откройте файл конфигурации:

    

Найдите строки:

    

В строке listen-on port 53 после localhost укажите ДНС-адрес. Это IP, на котором хост будет принимать запросы. Если нужно, чтобы ДНС работал по всем адресам, не указывайте параметр или задайте ему any.

В строке allow-query настраиваются разрешения. Значение any разрешает выполнять запросы всем. Можно установить ограничение для конкретной сети, указав, например, 192.172.160.0/24.

Примените конфигурацию:

    

Глобальные опции

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

Аргумент

Что настраивает

directory

Рабочая директория. Можно не указывать явно, в таком случае будет использован каталог по умолчанию — /var/named

forwarders

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


    

forward

Доступны два состояния — FIRST и ONLY. Если выставить FIRST, то сначала обращение будет перенаправлено, только после неуспешной обработки начнется проверка внутренней базы. При ONLY сервер не ищет совпадения в локальных зонах

listen-on

Интерфейсы, на которых слушает BIND. В нашем случае это порт 53 UDP

allow-transfer

Хосты, на которые разрешаются зонные передачи

allow-query

Серверы, с которых можно отправлять запросы

allow-notify

Хосты, которым можно отправлять уведомления, если настройки зоны изменятся

allow-recursion

Хосты, которые могут делать рекурсивные запросы. По умолчанию рекурсия разрешена без ограничений

Проверка

Чтобы убедиться в том, что ДНС-серверы принимают обращения от клиентов, используйте утилиту nslookup

Отправьте запрос с другого компьютера. Например:

    

Цель этой команды — узнать IP-адрес сайта site-example.com через ДНС 192.172.160.14.

Можно также использовать утилиту dig. Синтаксис очень похожий:

    

Здесь проверка DNS выполняется аналогичным образом. Отличается только синтаксис команды.

Зоны BIND

Базовая настройка сервера завершена. Но использовать его можно по-разному. Для этого настраиваются зоны:

  • Первичная — вы пополняете и редактируете базу доменов на текущем хосте.
  • Вторичная — есть сервер с первичной зоной, этот хост забирает с него настройки.
  • Заглушка — хранятся только записи NS, которые используются для перенаправления на хосты.
  • Кеширующая — не хранятся записи, есть только результаты обработанных запросов, которые ускоряют работу при повторных обращениях.

Управление зонами также выполняется в файле конфигурации. Это отдельная большая тема. Создание собственной зоны позволит назначить понятные имена для каждого хоста. Это актуально, когда узлов становится много и обращаться к ним по IP-адресам становится неудобно.

2098
5 минут чтения
Средний рейтинг статьи: 5

Читайте также

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server