Рекурсивный DNS (resolver) — один из тех сервисов, которые «просто должны работать»: быстро, предсказуемо и безопасно. В 2026 году выбор чаще всего сводится к трём вариантам: Unbound (классика для приватного резолвинга), PowerDNS Recursor (функциональный и удобный в эксплуатации на больших инсталляциях) и CoreDNS (модульный DNS-сервер, который часто живёт внутри Kubernetes и платформенных стеков).
Ниже — практичное сравнение с точки зрения эксплуатации: как ведёт себя кэш, есть ли DNSSEC validation, работает ли QNAME minimisation, поддерживаются ли prefetch и serve-expired, что с EDNS0 и TCP fallback, ограничениями, логами и метриками Prometheus.
Короткий вывод (если нужно выбрать сегодня)
Если свести выбор к типовым сценариям:
- Unbound — лучший «базовый» рекурсор для приватности и безопасности: зрелая DNSSEC validation, QNAME minimisation, аккуратные настройки, стабильное поведение. Идеален как локальный кэширующий резолвер на сервере, в офисе и на VDS.
- PowerDNS Recursor — сильный выбор, когда нужна эксплуатация «как продукт»: удобная статистика, гибкое управление поведением, режимы для больших объёмов трафика, тонкая настройка кэша и отказоустойчивости. Часто встречается в провайдерских и корпоративных сетях.
- CoreDNS — выигрывает модульностью и интеграциями (особенно в Kubernetes), но как «универсальный» интернет-рекурсор его выбирают реже. Отличен, когда DNS — часть платформы, и важно управлять цепочками плагинов и конфигурацией как кодом.
На что реально смотреть при выборе DNS resolver
В продакшене важнее «бенчмарков» другое: предсказуемость под нагрузкой, кэш-стратегия, устойчивость к сбоям апстрима и качество диагностики.
DNSSEC validation: защита от подмены и отравления кэша
DNSSEC validation защищает от подмены ответов (например, при атаке на путь или попытках отравления кэша). Цена — немного больше CPU и чуть более сложная диагностика, когда где-то сломан чейн доверия (частый симптом: SERVFAIL только на валидирующих резолверах).
Unbound исторически один из самых популярных валидирующих резолверов. PowerDNS Recursor также умеет валидацию и регулярно используется в больших установках. CoreDNS чаще выступает как форвардер/кэширующий слой; с DNSSEC всё зависит от роли и выбранной схемы: нередко CoreDNS держат не как валидатор, а как слой маршрутизации/кэша перед «настоящим» рекурсором.
Практика: включая DNSSEC validation, сразу готовьте плейбук диагностики: время на сервере, trust anchor, тесты через
dig +dnssecи мониторинг долиSERVFAIL.
QNAME minimisation: меньше утечек, меньше сюрпризов
QNAME minimisation — важная privacy-фича: резолвер не отправляет полный домен на каждый уровень DNS-иерархии. Это снижает утечки метаданных и иногда повышает устойчивость при нестандартных авторитативных настройках.
В 2026 это уже «гигиенический минимум» для приватного резолвинга. Unbound здесь часто выбирают по принципу «поставил и забыл». PowerDNS Recursor минимизацию тоже поддерживает. Для CoreDNS снова критична роль: если он форвардит запросы на апстрим, то minimisation делает апстрим-резолвер.
Prefetch и serve-expired: скорость и стабильность на практике
Prefetch (прогрев кэша) полезен для «горячих» доменов: пока запись ещё валидна, резолвер обновляет её заранее, чтобы пользователи не ловили «первый запрос медленный». Это заметно на внешних API, платёжках и сервисах с короткоживущими записями.
Serve-expired (также встречается как serve-stale) — про отказоустойчивость: если апстрим/интернет просел, резолвер может кратковременно отдавать протухший кэш, уменьшая массовые падения приложений. Это компромисс: лучше немного устаревший ответ, чем сплошной SERVFAIL.
По сумме этих двух функций обычно проще всего настраиваются и прогнозируемо работают Unbound и PowerDNS Recursor. В мире CoreDNS многое решается плагинами и архитектурой: его часто используют как локальный edge-кэш (на нодах/рядом с приложением), а «большую» рекурсию и serve-expired делегируют на отдельный рекурсор.
EDNS0 и TCP fallback: чтобы DNS не ломался на современном интернете
EDNS0 обязателен из-за DNSSEC, крупных ответов и современных расширений. Большинство проблем вызывают не резолверы, а сеть и устройства по пути: фрагментация, MTU, фильтрация UDP, некорректный NAT или «помогающие» фаерволы.
С точки зрения админа важны две вещи:
- Умеет ли резолвер корректно откатываться на TCP и управлять размером UDP-ответа.
- Есть ли понятные метрики/логи, чтобы быстро увидеть: это DNS медленный или проблема в сети.

Сравнение CoreDNS, Unbound и PowerDNS Recursor по ключевым критериям
1) Роль в инфраструктуре: платформенный DNS vs рекурсор для интернета
CoreDNS — это конструктор из плагинов. В Kubernetes он стал стандартом де-факто для сервисного DNS, потому что органично встроен в платформу. Но когда задача — сделать «главный рекурсор для компании», CoreDNS часто используют как фронт (маршрутизация, split-horizon, локальные зоны, stub/forward), а полноценную рекурсию отдают Unbound или PowerDNS Recursor.
Unbound — «чистый» рекурсор с фокусом на безопасность и корректность. Он хорош там, где нужна минимальная сущность: один демон, понятный конфиг, стабильное поведение годами.
PowerDNS Recursor — рекурсор, который любят за эксплуатационные возможности: богатая телеметрия, гибкие режимы работы, понятная масштабируемость и сценарии для провайдеров и корпсетей.
2) Кэш и TTL: когда «быстро» превращается в «правильно»
Кэш — это не просто «склад ответов». Это политика: как долго держать записи, как себя вести при ошибках, как защищаться от всплесков и как сглаживать деградации апстрима.
- Unbound: предсказуемое кэширование, параметры для отрицательного кэша (NXDOMAIN), prefetch и serve-expired в разных режимах. Подходит и как локальный кэш на каждом сервере, и как центральный резолвер.
- PowerDNS Recursor: гибкость кэша и поведения при сбоях — часто ключевое преимущество, когда нужно балансировать между свежестью и стабильностью приложений.
- CoreDNS: кэш реализуется через плагин. Это рабочая схема для edge-кэша, но как единый «центр политики» по кэшу и отказоустойчивости обычно требует больше дисциплины, тестов и единых стандартов конфигурации.
3) Защита от злоупотреблений: open resolver, флуды и random-subdomain
Важно: RRL чаще обсуждают в контексте авторитативных DNS, но рекурсоры тоже страдают от злоупотреблений: флуды, атаки через случайные поддомены (заставить рекурсор ходить в сеть за каждым запросом), перегруз очередей рекурсии.
Для рекурсора практичнее думать не про «классический RRL», а про набор контрмер:
- ACL и ограничение клиентов/подсетей (не поднимать open resolver);
- лимиты параллельных рекурсий, очередей и исходящих запросов;
- защита от мусорных/уникальных имён (random subdomain);
- адекватные таймауты и лимиты на апстрим;
- логирование отказов так, чтобы не «утопить» диск под атакой.
Unbound и PowerDNS Recursor обычно проще «зажать» в безопасный режим для полупубличных сценариев. CoreDNS тоже можно ограничивать, но его чаще держат внутри периметра (кластер/внутренняя сеть), а не выставляют наружу.
4) Prometheus metrics: наблюдаемость важнее «чистой скорости»
Без метрик вы не управляете резолвером, вы «надеетесь». Минимальный набор для мониторинга:
- QPS и распределение по кодам (
NOERROR,NXDOMAIN,SERVFAIL); - latency p50/p95/p99 отдельно для cache hit и cache miss;
- cache hit ratio;
- доля TCP fallback;
- DNSSEC-related ошибки (bogus, validation failures);
- очереди/лимиты/пулы (если есть в вашем решении);
- доля ответов из serve-expired, если включено.
CoreDNS силён тем, что в cloud-native стеке метрики — «родной язык», и Prometheus обычно уже рядом. PowerDNS Recursor традиционно удобен по статистике и эксплуатационным данным. Unbound тоже хорошо мониторится, но иногда требует чуть больше внимания к экспортеру и нормализации метрик под ваши SLO.
Практические сценарии: что выбрать под конкретную задачу
Сценарий A: один сервер или несколько VDS, нужен быстрый и безопасный резолвинг
Задача: ускорить резолвинг для приложений, убрать зависимость от «резолвера провайдера», включить DNSSEC validation, получить стабильность при просадках апстрима через serve-expired.
Самый прямой выбор — Unbound. Если нужна более «операторская» эксплуатация и богатая телеметрия — смотрите в PowerDNS Recursor. Для небольших проектов с сайтами и почтой это отлично сочетается с надёжным виртуальным хостингом или отдельным резолвером на VDS, чтобы DNS-зависимости приложений были под вашим контролем.
Сценарий B: Kubernetes/микросервисы, нужен управляемый DNS-слой внутри платформы
Здесь CoreDNS часто уже присутствует как кластерный DNS. Практический паттерн: оставить CoreDNS для сервисных имён и маршрутизации, а внешнюю рекурсию вынести в отдельный резолвер (Unbound/PowerDNS Recursor) или хотя бы в выделенный upstream, который умеет DNSSEC, QNAME minimisation, prefetch и serve-expired.
Ключевая мысль: CoreDNS в кластере — это «DNS для платформы», а не обязательно «лучший рекурсор для интернета». Разделение ролей обычно уменьшает инциденты.
Сценарий C: корпоративная сеть, филиалы и туннели, нужен контроль и масштаб
Когда появляются филиалы, разные каналы, сложные политики и необходимость быстро объяснять «почему DNS тормозит только в этом сегменте», часто выигрывает PowerDNS Recursor за счёт эксплуатационных возможностей. Unbound тоже подходит, но в крупных развёртываниях может потребоваться больше «обвязки» своими руками.

Проверочный чек-лист для пилота (2026)
Перед тем как окончательно выбрать рекурсор, сделайте пилот и прогоните чек-лист:
- Приватность: включены ли QNAME minimisation, адекватны ли настройки EDNS0, нет ли лишней утечки информации в логах.
- DNSSEC: включили validation, собрали базовые тесты, убедились, что доля
SERVFAILне растёт «на ровном месте». - Отказоустойчивость: протестировали поведение при недоступности апстрима, включили serve-expired (если приемлемо по политике), оценили риски устаревших ответов.
- Производительность: замерили p95/p99, отдельно cache hit и cache miss, оценили влияние prefetch.
- Наблюдаемость: собрали метрики, настроили алерты на рост
SERVFAIL, рост TCP fallback, падение cache hit ratio. - Безопасность доступа: резолвер доступен только доверенным подсетям; проверили, что не подняли open resolver.
Частые ошибки при сравнении
Ошибка 1: сравнивать «как есть», не определив роль
CoreDNS, Unbound и PowerDNS Recursor пересекаются по возможностям, но философия разная. CoreDNS чаще раскрывается как маршрутизатор/платформенный DNS-слой. Unbound и PowerDNS Recursor — как «главный рекурсор» с политиками безопасности и кэша.
Ошибка 2: включить DNSSEC и не мониторить последствия
DNSSEC не «ломает интернет», но проявляет чужие ошибки. Без метрик и плейбука диагностики вы получите загадочные SERVFAIL и начнёте подозревать не то место.
Ошибка 3: игнорировать сеть (MTU, UDP, TCP fallback)
Проблемы с EDNS0 и крупными ответами часто оказываются проблемами сети: MTU, фрагментация, фильтрация UDP, странный NAT. Поэтому важны метрики TCP fallback, timeouts и распределение latency.
Мини-плейбук диагностики: что проверить при росте SERVFAIL
Если в мониторинге пошёл рост SERVFAIL, начните с простого и измеримого:
- Проверьте системное время и синхронизацию (DNSSEC крайне чувствителен к времени).
- Сравните поведение с DNSSEC и без него (на тестовом резолвере), чтобы понять, это валидация или сеть/апстрим.
- Посмотрите долю TCP fallback и timeouts: резкий рост часто указывает на сетевые проблемы по пути.
- Выполните точечные проверки доменов, которые «сыпятся», и сохраните вывод для постмортема:
dig example.com A +dnssec
dig example.com DNSKEY +dnssec
dig example.com A +dnssec +tcp
Итог: кто победил в 2026
Если нужен универсальный, аккуратный и максимально понятный рекурсор — Unbound остаётся «золотым стандартом» для большинства админских задач: кэш, приватность, DNSSEC validation, QNAME minimisation, prefetch и сценарии serve-expired.
Если у вас крупная установка, много сегментов сети, важна эксплуатация и наблюдаемость — PowerDNS Recursor часто оказывается удобнее как «продуктовый» рекурсор.
CoreDNS — отличный выбор, когда DNS является частью платформы (особенно Kubernetes), и вам важны модульность и интеграции. Но для роли «главного интернет-резолвера» его чаще используют в связке с Unbound/PowerDNS Recursor, чем вместо них.
Финальный выбор упирается не в один бенчмарк, а в то, насколько легко вы сможете включить DNSSEC, контролировать EDNS0 и TCP fallback, поддерживать высокий cache hit ratio и быстро расследовать инциденты по метрикам.
Если DNS у вас завязан на домены и сертификаты, держите под контролем и «обвязку»: полезно иметь понятные процессы по доменам и их жизненному циклу, например отдельный гайд по периодам продления и redemption домена, а также удобную покупку и ротацию SSL-сертификаты под ваши сервисы.


