2026-09-18

Stub и Forward зоны в BIND: перенаправление DNS-запросов

Зоны Stub и Forward перенаправляют DNS-запросы конкретной зоны на определённый DNS-сервер. Разница:

  • Forward — только перенаправляет запросы;
  • Stub — хранит минимальную информацию о серверах имён (NS) и автоматически её обновляет.

Инструкция для CentOS/Rocky, Ubuntu/Debian.


Разрешение на allow-query

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

Ubuntu / Debian / Astra Linux:

vi /etc/bind/named.conf.options

Rocky / CentOS / РЕД ОС:

vi /etc/named.conf

Добавляем:

allow-query     { any; };

any — все клиенты. Только для локальной сети:

allow-query     { 192.168.0.0/24; };
systemctl reload named || systemctl reload bind

Static-stub

CentOS / Red Hat:

vi /etc/named.conf

Ubuntu / Debian:

vi /etc/bind/named.conf.local

Настраиваем зону:

zone "stub.local" {
        type static-stub;
        server-addresses { 192.168.0.15; 192.168.0.14; 10.10.10.10; };
};

где stub.local — домен для перенаправления, 192.168.0.15, 192.168.0.14, 10.10.10.10 — адреса DNS-серверов.

systemctl reload named || systemctl reload bind

Forward zone

zone "stub.local" {
        type forward;
        forwarders { 192.168.0.15; 192.168.0.14; 10.10.10.10; };
};
systemctl reload named || systemctl reload bind

Тонкости и подводные камни

  • allow-query обязателен — без него сервер вернёт REFUSED внешним клиентам.
  • static-stub vs stubstatic-stub задаёт адреса серверов статически; классический stub использует NS-записи из родительской зоны.
  • forward — не рекурсия — forward-зона перенаправляет только запросы конкретной зоны, а не все.
  • forward only vs forward first — в named.conf.options можно управлять поведением: только пересылка или сначала пересылка, потом самостоятельный резолв.
  • Порядок зон — forward/stub зоны объявляются в named.conf.local (Ubuntu) или named.conf (RPM).
  • Проверкаdig @localhost stub.local и named-checkconf для валидации синтаксиса.

Шпаргалка

# allow-query
vi /etc/bind/named.conf.options
#   allow-query { 192.168.0.0/24; };

# static-stub
vi /etc/bind/named.conf.local
#   zone "stub.local" { type static-stub; server-addresses { 192.168.0.15; }; };

# forward
#   zone "stub.local" { type forward; forwarders { 192.168.0.15; }; };

systemctl reload bind9
named-checkconf

Проверено на: Ubuntu 22.04/24.04/26.04, CentOS/Rocky + BIND 9.18+.
Дата: Сентябрь 2026.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *