Выпущена версия BIND 9.20 с поддержкой DNSSEC

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.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (0)