мета-данные страницы
  •  

Это старая версия документа!


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

Развертывание локального сервера DNS (BIND 9)

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

1. Установка пакетов Установите сам DNS-сервер и утилиты для диагностики сети (например, dig или nslookup):

apt-get update && apt-get install -y dnsmasq bind-utils

2. Глобальные настройки DNS (/etc/dnsmasq.conf.d/99-dns.conf)

Создайте файл конфигурации для основных параметров DNS. Здесь отключается кэширование и задается внешний вышестоящий DNS-сервер:

# Игнорировать системный /etc/resolv.conf, чтобы избежать зацикливания
no-resolv

# Вышестоящий (upstream) DNS-сервер для внешних запросов (например, Яндекс)
server=77.88.8.8

# Слушать запросы на всех доступных сетевых интерфейсах
interface=*

# Полное отключение кэширования записей (опционально, если нужно по заданию)
max-ttl=0
max-cache-ttl=0
cache-size=0

3. Отключение конфликтов с системным resolvconf Чтобы системный менеджер сетевых настроек не затирал конфигурацию dnsmasq, очистите его настройки и удалите дефолтный хук:

1.Очистите содержимое конфигурационного файла /etc/resolvconf.conf, оставив параметр пустым:

dnsmasq_conf=

Удалите сгенерированный автоматически конфиг и обновите состояние:

rm -f /etc/dnsmasq.conf.d/60-resolvconf
resolvconf -u

list_alt 4. Заполнение записей прямой зоны

Откройте созданный файл прямой зоны (vim zone/ваш_домен) и приведите его к следующему виду:

$TTL    1D
; Запись SOA содержит имя главного DNS сервера и email администратора (с точкой вместо @)
@       IN      SOA     имя_днс_сервера.ваш_домен. root.ваш_домен. (
        2026010100      ; Serial (рекомендуется формат ГГГГММДДXX)
        12H             ; Refresh
        1H              ; Retry
        1W              ; Expire
        1H )            ; ncache

; Указание Nameserver (NS)
        IN      NS      имя_днс_сервера.ваш_домен.

; A-запись для самого домена
@       IN      A       IP_адрес_днс_сервера

; Обязательная запись для самого DNS-сервера
имя_днс_сервера IN      A       IP_адрес_днс_сервера

; ПРИМЕР: Добавление произвольных узлов инфраструктуры
web-server      IN      A       192.168.1.50
db-server       IN      A       192.168.1.51

swap_horiz 5. Заполнение записей обратной зоны

Аналогично заполним обратную зону (vim zone/ваш_домен.rev). Здесь вместо A-записей используются PTR-записи (Pointer), которые указывают только последний октет IP-адреса:

$TTL    1D
@       IN      SOA     имя_днс_сервера.ваш_домен. root.ваш_домен. (
        2026010100      ; Serial
        12H             ; Refresh
        1H              ; Retry
        1W              ; Expire
        1H )            ; ncache

        IN      NS      имя_днс_сервера.ваш_домен.

; Запись PTR для самого DNS-сервера (левая часть — последний октет IP)
последний_октет_сервера IN      PTR     имя_днс_сервера.ваш_домен.

; ПРИМЕР: Добавление произвольных узлов инфраструктуры
50                      IN      PTR     web-server.ваш_домен.
51                      IN      PTR     db-server.ваш_домен.

play_circle 6. Права доступа и запуск

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

cd ~
chown -R :named /var/lib/bind/*
chmod -R 777 /var/lib/bind/*

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

Включаем автозапуск и стартуем сервис BIND:

systemctl enable --now bind

check_circle 7. Тестирование и клиенты

Сначала убедимся, что DNS отвечает локально на самом сервере:

nslookup узел_1 127.0.0.1

Если всё успешно, переходите к настройке клиентских машин:

  • На всех узлах сети замените внешний DNS-сервер (например, 8.8.8.8) на IP-адрес вашего нового локального DNS-сервера (IP_адрес_днс_сервера).
  • Перезагрузите клиентские машины или перезапустите сетевые интерфейсы, чтобы сбросить старый DNS-кэш.

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

ping узел_1