TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #463 2.94K
🛡 Отказоустойчивый DNS

Надежный 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
  • 👍 9
More from @networkadminru
  1. Oct 1, 2026✨ Systemd-команды, которые быстро дают информацию о системе У systemd есть несколько коман…
  2. Sep 30, 2026🖥 Get-ADUser: полезные примеры для работы с пользователями Active Directory Get-ADUser -…
  3. Sep 29, 2026🥱 Как быстро разобраться с дисками и маунтами Когда на сервере несколько дисков, LVM, отд…
  4. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  5. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  6. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →