BIND (Berkeley Internet Name Domain) – это DNS-сервер с открытым исходным кодом, включающая в себя авторитетный сервер рекурсивный резолвер и связанные с ним утилиты Выпущена стабильная ветвь BIND 9.20, пригодная для использования в производстве. Согласно текущему плану выпуска программного обеспечения, эта ветка будет поддерживаться в течение четырех лет – до первого квартала 2028 года.
Кто использует BIND?
- Крупные финансовые учреждения
- Национальные и международные операторы связи
- Региональные и муниципальные интернет-провайдеры
- Розничные торговцы, производители
- Университеты и образовательные сети
- Правительственные организации
Улучшения инфраструктуры приложений в BIND 9.20
Ядро приложения (инфраструктура, которая держит все вместе) было переписано для использования исключительно асинхронных циклов событий libuv. В BIND 9.16 разработчики представили новый сетевой менеджер, использующий libuv в качестве асинхронного обработчика событий поверх существующей инфраструктуры приложений. В BIND 9.20 переход на асинхронные циклы libuv завершен, и BIND 9 работает на базе libuv с нуля. Это упрощает и оптимизирует внутреннюю инфраструктуру и позволяет нам привязать обработку данных к потокам и уменьшить переключение контекста, что повышает общее потребление ресурсов.
В то же время разработчики используют специализированные пулы потоков, предоставляемые libuv, для разгрузки длительных задач и, вместо того чтобы самостоятельно распределять работу, полагаются на планировщик операционной системы для обеспечения справедливого планирования между сетевыми и разгруженными потоками. Это упрощает код, который обеспечивает работу зон политики ответов, зон каталогов, передачи зон, проверки DNSSEC и некоторых других длительных задач, а также улучшает задержку, когда длительные задачи смешиваются с обычными DNS-запросами.
В BIND 9 была добавлена новая база данных под названием QP trie, которая стала базой данных кэша и зон по умолчанию, заменив устаревшую базу данных RBTDB (Red-Black Tree Database). База данных QP trie использует библиотеку Userspace RCU (Read-Copy-Update), которая теперь является обязательной для компиляции и запуска BIND 9. Использование Userspace RCU позволит разработчикам отказаться от POSIX-блокировки в качестве механизма синхронизации и заменить ее на Quiescent-State-Based Reclamation (QSBR) в качестве механизма рекультивации памяти. Многое еще предстоит сделать, но в будущем стоит ожидать, что BIND 9 будет более масштабируемым на системах с большим количеством процессоров.
Алгоритм сжатия имен DNS используемый в BIND 9, был пересмотрен: теперь он сжимается более тщательно, чем раньше, поэтому ответы, содержащие имена с большим количеством меток, могут иметь более компактную кодировку, чем раньше.
BIND 9.20: Улучшения в поддержке DNSSEC
- Политика DNSSEC теперь является единственной опцией для управления подписанными зонами. Опция auto-dnssec была удалена.
- Добавлена поддержка DNSSEC multi-signer model 2 (IETF RFC 8901) при использовании inline-подписания.
- Восстановлена поддержка PKCS#11 за счет использования нового API OpenSSL 3.0.0 Engine.
- В dnssec-policy добавлена поддержка HSM. Ключи теперь можно настраивать с помощью хранилища ключей, которое позволяет пользователям задавать директорию, где хранятся файлы ключей, и задавать строку URI PKCS#11. Для последнего требуется OpenSSL 3 и действительный провайдер PKCS#11, настроенный для OpenSSL.
Обновления функций
- Схема Catalog Zones версии 2 (как описано в документе «DNS Catalog Zones» IETF draft version 5), теперь поддерживается BIND 9.
- Теперь поддерживается больше расширенных ошибок DNS.
- Реализации DNS over TCP и DNS over TLS были переработаны для использования единого транспорта. Это, в свою очередь, позволило разработчикам добавить новый транспорт PROXYv2.
- Поддержка PROXYv2 доступна для всех транспортов DNS, поддерживаемых BIND в настоящее время.
- Добавлена поддержка пользовательских зондов Statically Defined Tracing (USDT). Эти зонды позволяют осуществлять тонкую трассировку приложений с помощью команды perf и не создают накладных расходов, если они не включены.
- Канал статистики теперь включает информацию о входящих передачах зон, находящихся в процессе выполнения.
Скачать BIND 9.20
BIND 9 имеет открытый исходный код и лицензируется по лицензии MPL 2.0. Пользователи могут свободно добавлять функциональность и вносить свой вклад в сообщество через открытую GitLab.
Загрузить BIND 9.20 можно здесь. Также вы можете установить обновленные пакеты ISC для Ubuntu, CentOS/Fedora или стандартный пакет Debian. Также доступен официальный образ Docker.
Комментарии (0)