CoreDNS

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: coredns.io

CoreDNS — гибкий DNS-сервер и форвардер с поддержкой плагинов, разработанный для обеспечения разрешения имён и сопутствующих сетевых сервисов в современных распределённых средах. Проект сохраняет модульную архитектуру: основная функциональность расширяется набором плагинов, каждый из которых реализует конкретные возможности — от кэширования и переадресации до интеграции с бэкендами и поддержкой разнообразных транспортов. Благодаря такому подходу CoreDNS используется как в небольших инфраструктурах, так и в крупных оркестрационных системах, где требуется гибкое управление DNS-поведение и интеграция с другими компонентами.

Сервер поддерживает стандартные протоколы DNS поверх UDP и TCP, а также реализует современные защищённые транзиты и интерфейсы, включая DNS over TLS (DoT), DNS over HTTPS (DoH) и DNS over QUIC (DoQ). CoreDNS может работать как автономный рекурсивный резолвер, как кэширующий форвардер или как авторитетный сервер с автозагрузкой зон из различных источников. Его конфигурация обычно задаётся простым декларативным файлом, в котором перечислены включённые плагины и правила их применения, что упрощает адаптацию под конкретные требования эксплуатации.

  • Модульная архитектура: расширение возможностей через плагины, позволяющие выбирать только необходимые функции.
  • Поддержка протоколов: DNS по UDP/TCP, DoT, DoH и DoQ для защищённого и совместимого разрешения имён.
  • Кэширование и форвардинг: локальное кэширование ответов и переадресация запросов к внешним резолверам.
  • Интеграция с бэкендами: возможность автозагрузки зон и данных из etcd, Kubernetes и других источников.
  • Авторитетный и рекурсивный режимы: может выполнять функции авторитетного сервера и/или рекурсивного резолвера.
  • Гибкая конфигурация: декларативный файл конфигурации для управления порядком и параметрами плагинов.
  • Масштабируемость: подходит для использования в контейнерных и оркестрационных средах благодаря лёгкой интеграции и небольшому footprint.
  • Логирование и наблюдаемость: поддержка различных режимов логирования и метрик для мониторинга состояния и производительности.
  • Расширяемость: разработка собственных плагинов для специфичных задач и политик разрешения имён.
  • Безопасность и контроль доступа: механизмы ограничения исходящих и входящих запросов, фильтрации и политик обработки.
Подробнее