Опубликован релиз авторитетного (authoritative) DNS-сервера PowerDNS Authoritative Server 4.7, предназначенного для организации отдачи DNS-зон. По данным разработчиков проекта, PowerDNS Authoritative Server обслуживает примерно 30% из общего числа доменов в Европе (если рассматривать только домены с подписями DNSSEC, то 90%). Код проекта распространяется под лицензией GPLv2.
PowerDNS Authoritative Server предоставляет возможность хранения информации о доменах в различных базах данных, включая MySQL, PostgreSQL, SQLite3, Oracle, и Microsoft SQL Server, а также в LDAP и обычных текстовых файлах в формате BIND. Отдача ответа может быть дополнительно отфильтрована (например, для отсеивания спама) или перенаправлена при помощи подключения собственных обработчиков на языках Lua, Java, Perl, Python, Ruby, C и C++. Из особенностей также выделяются средства для удалённого сбора статистики, в том числе по SNMP или через Web API (для статистики и управления встроен http-сервер), мгновенный перезапуск, встроенный движок для подключения обработчиков на языке Lua, возможность балансировки нагрузки с учётом географического местоположения клиента.
Основные новшества:
- Добавлена поддержка каталога зон (“Catalog Zones“), упрощающего поддержание вторичных DNS-серверов за счёт того, что вместо определения на вторичном сервере отдельных записей для каждой вторичной зоны, между первичным и вторичным серверами организуется передача каталога вторичных зон. После настройки передачи каталога по аналогии с передачей отдельных зон, заводимые на первичном сервере зоны, помеченные как входящие в каталог, будут автоматически создаваться на вторичном сервере без необходимости правки файлов конфигурации. Поддерживается работа каталога с бэкендами хранения gmysql, gpgsql, gsqlite3, godbc и lmdb.
- В процессе реализации каталога зон проведена оптимизация кода для работы с большим числом доменов. При хранении зон в СУБД значительно сокращено число SQL-запросов – вместо отдельного запроса каждого домена теперь производится групповая выборка. Изменение положительно отразилось на производительности серверов, обслуживающих большое число зон, даже на системах не использующих каталог зон.
- Переработана и возвращена поддержка механизма обмена ключами GSS-TSIG, который ранее был удалён из-за уязвимости и потенциальных проблем с безопасностью.
- При запросе Lua-записей при помощи TCP обеспечено повторное использование состояния Lua, что значительно повысило производительность.
- В БД на базе lmdbbackend реализована привязка к UUID и возможность генерации случайных идентификаторов объектов.
- В pdnsutil и HTTP API добавлены средства для управления серверами autoprimary, используемыми для автоматизации развёртывания и обновления зон на вторичных DNS-серверах без ручной конфигурации вторичных зон.
- Добавлена новая Lua-функция ifurlextup.
- Добавлен экспериментальный фоновый процесс для генерации и доставки ключей (key roller).