Выпуск PowerDNS Authoritative Server 5.0

Опубликован релиз авторитетного (authoritative) DNS-сервера PowerDNS Authoritative Server 5.0, предназначенного для организации отдачи DNS-зон. В лучшие времена PowerDNS Authoritative Server обслуживал до 30% из общего числа доменов в Европе и до 90% доменов с DNSSEC. Код проекта распространяется под лицензией GPLv2.

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.
Release. Ссылка here.