Опубликован релиз KnotDNS 2.9.0, высокопроизводительного авторитативного DNS сервера (рекурсор выполнен в виде отдельного приложения), поддерживающего все современные возможности DNS. Проект разрабатывается чешским реестром имен CZ.NIC, написан на языке Си и распространяется под лицензией GPLv3.
KnotDNS отличается ориентацией на высокую производительность обработки запросов, для чего применяется многопоточная, и по большей части неблокирующая реализация, хорошо масштабируемая на SMP-системах. Предоставляются такие возможности, как добавление и удаление зон на лету, передача зон между серверами, DDNS (динамические обновления), NSID (RFC 5001), расширения EDNS0 и DNSSEC (включая NSEC3), ограничения интенсивности ответов (RRL).
В новом выпуске:
- Реализована полная поддержка различного вычисления серийных номеров (SOA) для зоны на master- и slave-серверах, при применении на slave-сервере заверения зоны цифровой подписью;
- В модуль geoip добавлена поддержка записей с шаблонами подстановки (wildcard);
- Для DNSSEC добавлена новая настройка 'rrsig-pre-refresh' для сокращения частоты событий заверения зоны цифровой подписью;
- Добавлена настройка "tcp-reuseport" для установки режима SO_REUSEPORT(_LB) для TCP-сокетов;
- Добавлена настройка "tcp-io-timeout" для ограничения времени входящих операций ввода вывода поверх TCP;
- Существенно увеличена производительность операций изменения содержимого зоны;
- Прекращена поддержка переконфигурации сетевых интерфейсов и обработчиков, так как она не может быть произведена после сброса процессом привилегий;
- Переработана реализация DNS Cookies для полного соответствия черновой спецификации draft-ietf-dnsop-server-cookies;
- По умолчанию ограничение числа TCP-соединений теперь ограничено половиной системного лимита на число файловых дескрипторов, а число открытых файлов значением 1048576;
- При выборе числа запускаемых обработчиков теперь используется число CPU, но не меньше 10;
- Переименованы многие опции, например 'server.tcp-reply-timeout' в 'server.tcp-remote-io-timeout', 'server.max-tcp-clients' в 'server.tcp-max-clients', 'template.journal-db' в 'database.journal-db' и т.п. Поддержка старых имён будет сохранена как минимум до следующего значительного выпуска.
|