22 августа 2025 года состоялся выпуск открытого проекта PowerDNS Authoritative Server 5.0. Решение предназначено для организации отдачи DNS‑зон. Ранее проект PowerDNS Authoritative Server обслуживал до 30% из общего числа доменов в Европе и до 90% доменов с DNSSEC. Исходный код решения написан на C++ и Python и опубликован на GitHub под лицензией GPLv2.
По информации OpenNET, PowerDNS Authoritative Server предоставляет возможность хранения информации о доменах в различных базах данных, включая MySQL, PostgreSQL, SQLite3, LMDB, Oracle, и Microsoft SQL Server, а также в LDAP и обычных текстовых файлах в формате BIND. Отдача ответа может быть дополнительно отфильтрована (например, для отсеивания спама) или перенаправлена в собственные обработчики на языках Lua, Java, Perl, Python, Ruby, C и C++. Из особенностей также выделяются средства для удалённого сбора статистики, среди прочего по SNMP или через Web API (для статистики и управления встроен http‑сервер), мгновенный перезапуск, встроенный движок для подключения обработчиков на языке Lua, возможность балансировки нагрузки с учётом географического местоположения клиента.
Основные изменения и доработки в PowerDNS Authoritative Server 5.0:
поддержка представлений (views) в стиле DNS‑сервера BIND, позволяющих отдавать разное содержимое DNS‑зон в зависимости от IP‑адреса, с которого поступил запрос. Например, при помощи представлений пользователям с внутренними адресами (интранет) можно отдавать один вариант DNS‑зоны для запрошенного домена, а внешним пользователям — другой. Для хранения разных представлений DNS‑зон пока может использоваться только бэкенд LMDB;
добавлена поддержка привязки к Unix‑сокету вместо сокета TCP/IP;
в утилиту sdig добавлена поддержка EDNS Cookie;
в бэкенд LMDB добавлена возможность поиска записей и поддержка RFC-2136 (DNS UPDATE);
реализован новый синтаксис запуска утилиты pdnsutil — «pdnsutil тип_объекта команда аргументы» (поддержка старого синтаксиса сохранена);
добавлена новая команда pdnsutil backend‑lookup для поиска записей в бэкенде хранения;
добавлена поддержка RFC-9615 для автоматического аутентифицированного бутстраппинга DNSSEC;
реализована поддержка ведения лога пакетов, для которых возникли ошибки парсинга;
добавлена настройка «dnsupdate‑require‑tsig», включающая обязательное использование механизма TSIG (Transaction Signature) для операций обновления записей в DNS;
добавлена настройка «direct‑dnskey‑signature», включающая прямое извлечение цифровой подписи DNSKEY из бэкенда;
добавлена настройка «resolve‑across‑zones», при выключении которой DNS‑сервер не будет разрешать CNAME‑записи, указывающие на другие зоны;
расширены возможности по созданию обработчиков на языке Lua.
Источник: habr.com