Выпуск PowerDNS Authoritative Server 4.2

Состоялся релиз авторитетного (authoritative) DNS-сервера PowerDNS Authoritative Server 4.1, предназначенного для организации отдачи 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, возможность балансировки нагрузки с учётом географического местоположения клиента.

Основные новшества:

  • Добавлена возможность определения записей с обработчиками на языке Lua, при помощи которых можно создавать изощрённые обработчики, учитывающие при отдаче данных AS, подсети, близость к пользователю и т.п. Поддержка Lua-записей реализована для всех бэкендов хранения, включая BIND и LMDB. Например, для отдачи данных с учётом фоновой проверки доступности хостов в конфигурации зоны теперь можно указать:
         @ IN LUA A "ifportup(443, {'52.48.64.3', '45.55.10.200'})"  
  • Добавлена новая утилита ixfrdist, позволяющая передавать зоны от авторитетного сервера при помощи запросов AXFR и IXFR, учитывая актуальность передаваемых данных (для каждого домена осуществляется проверка номера SOA и загружаются только новые версии зоны). Утилита позволяет организовать синхронизацию зон на очень большом числе вторичных и рекурсивных серверов не создавая большой нагрузки на первичный сервер;
  • В рамках подготовки к инициативе DNS flag day 2020 с 1680 до 1232 уменьшено значение параметра udp-truncation-threshold, отвечающего за обрезание UDP-ответов клиенту, что должно существенно снизить вероятность потери UDP-пакетов. Значение 1232 выбрано, так как оно является максимумом, при котором размер DNS-ответа с учётом IPv6 укладывается в минимальное значение MTU (1280);
  • Добавлен новый бэкенд хранения на базе БД LMDB. Бэкенд полностью совместим с DNSSEC, может использоваться для master- и slave-зон, и обеспечивает более высокую производительность, чем большинство остальных бэкендов. Непосредственно перед релизом в код было добавлено изменение, которое нарушило работу бэкенда LMDB (работает обработка slave зон и загрузка через pdnsutil, но перестали работать такие команды, как «pdnsutil edit-zone». Проблемы планируется устранить в ближайшем корректирующем выпуске;
  • Прекращена поддержка плохо документированной функции «autoserial», которая мешала устранению некоторых проблем. В соответствии с требованиями RFC 8624 (GOST R 34.11–2012 перемещён в категорию «MUST NOT») в DNSSEC прекращена поддержка хэшей GOST DS и цифровых подписей ECC-GOST.

Напомним, что PowerDNS перешёл на шестимесячный цикл разработки, в соответствии с которым следующий значительный релиз PowerDNS Authoritative Server ожидается в феврале 2020 года. Обновления для значительных выпусков будут формироваться в течение года, после чего ещё полгода будут выпускаться исправления уязвимостей. Таким образом, поддержка ветки PowerDNS Authoritative Server 4.2 продлится до января 2021 года.

© OpenNet