Выпуск DNS-сервера Knot DNS 2.0

Представлен значительный релиз авторитативного DNS-сервера Knot DNS 2.0, разработанного организацией CZ.NIC и используемого для обслуживания доменов первого уровня Чехии. Код сервера распространяется под лицензией GPL. Поддерживается работа на большинстве Unix-подобных систем. Из особенностей Knot DNS можно выделить поддержку добавления и удаления зон на лету, возможность полной или инкрементальной передачи зон между серверами, поддержку DDNS (динамические обновления), NSID (RFC 5001), расширений EDNS0 и DNSSEC (включая NSEC3), ограничения интенсивности ответов (RRL).

Сервер отличается ориентацией на высокую производительность обработки запросов, для чего применяется многопоточная, и по большей части неблокирующая реализация, хорошо масштабируемая на SMP-системах. Для обеспечения высокой производительности также применяются такие технологии, как Read-copy-update (RCU), Copy-on-write (COW) и Cuckoo-хэширования. В условиях использования на корневом сервере Knot DNS демонстрирует заметно более высокую производительность, чем DNS-серверы NSD, YADIFA, BIND и PowerDNS.

Ключевые новшества Knot DNS 2.0:

  • Новый формат конфигурации, основанный на YAML. В новом формате реализована возможность использования шаблонов DNS-зон, расширены средства настройки удалённых хостов и ACL (возможность указания нескольких хостов и ключей), улучшена читаемость конфигурации. Для преобразования в новый формат старых настроек подготовлена утилитаknot1to2. Конфигурация транслируется в эффективный бинарный формат, хранимый в базе LMDB.
  • Новый бэкенд для поддержки DNSSEC, вынесенный в отдельную библиотеку и переведённый на использование GnuTLS вместо OpenSSL. Поддерживается КASP (Key And Signature Policy), в том числе генерация начальных ключей для проверки DNS-зон по цифровой подписи и пролонгация ZSK (Zone Signing Keys).
  • Базовая поддержка использования масок для обращения к файлам зон из файлов конфигурации (%s вместо имени файла);
  • Возможность запрета синхронизации файла зоны (zonefile_sync = -1);
  • В утилите knsupdate реализовано приглашение интерактивного ввода, команда quit и указание параметров алгоритма TSIG.

© OpenNet