Надежный DNS - это основа стабильной работы инфраструктуры. Если основной DNS падает, могут лечь и внутренние сервисы, и доступ к внешним ресурсам. Один из проверенных способов построения отказоустойчивой DNS-системы - связка Bind9 (авторитетный DNS) + Unbound (рекурсивный кеширующий DNS).
🌟 Архитектура:
Bind9 отвечает за авторитетные зоны — внутренние домены, PTR-записи, сервисные SRV и т.д.
Unbound обрабатывает внешние запросы (Google, GitHub, NTP и прочее), кеширует и защищает от DNS-рекурсии.
Между ними можно использовать dnsdist для балансировки и DDoS-защиты (опционально).
Обе службы работают на разных портах (например, Bind на 1053, Unbound на 53).
⚙️ Настройка Bind9 (авторитетный). Устанавливаем:
sudo apt install bind9
Конфигурация зоны:
zone "corp.lan" {
type master;
file "/etc/bind/zones/db.corp.lan";
allow-query { any; };
};
Слушаем нестандартный порт:
options {
listen-on port 1053 { any; };
recursion no;
};
⚙️ Настройка Unbound (рекурсивный + прокси к Bind9). Устанавливаем:
sudo apt install unbound
Базовый
unbound.conf:
server:
interface: 0.0.0.0
access-control: 192.168.0.0/16 allow
verbosity: 1
# Кеширование и защита
cache-max-ttl: 86400
hide-identity: yes
hide-version: yes
# Проксирование запросов во внутренние зоны на Bind
local-zone: "corp.lan." transparent
forward-zone:
name: "corp.lan"
forward-addr: 127.0.0.1@1053
▪️ Отказоустойчивость. Устанавливаем второй DNS-сервер (с таким же конфигом Bind + Unbound).
Прописываем оба IP-адреса на клиентах или в DHCP:
DNS1: 192.168.1.10
DNS2: 192.168.1.11
Используем keepalived или VRRP для виртуального IP, если хотим активный кластер.
▪️ Безопасность и дополнения: Активируйте DNSSEC в Unbound.
1. Используйте dnsdist для фильтрации, балансировки и rate-limit.
2. Следите за логами (/var/log/syslog или systemd-journald).
#DNS #Bind9 #Unbound
🧑💻 NetworkAdmin