Организация ISC объявила о начале тестирования DNS-сервера BIND 10. Первым шагом стал выпуск части BIND 10, ответственной за обслуживание DNS-зон и обеспечение работы авторитетного DNS-сервера. Тестирование кода подсистемы для обслуживания рекурсивных запросов (резолвинга обращений клиентов) и утилит для конвертации файлов конфигурации Bind 9 будет начато позднее. В будущем новые тестовые версии BIND 10 будут выпускаться раз в 6 недель.

Исходные тексты распространяются в рамках лицензии BSD. В поставку представленной тестовой версии входит:

  • Управляющий master-процесс;
  • Процесс b10-msgq для организации обмена сообщениями между модулями BIND 10 (все взаимодействие компонентов bind 10 построено вокруг b10-msgq);
  • Процесс b10-auth для обеспечения функций авторитетного сервера (для увеличения масштабируемости и балансировки нагрузки запросы с одного 53 порта могут обрабатываться несколькими процессами b10-auth, например, для каждого CPU на сервере может быть запущена отдельная копия b10-auth);
  • Бэкенд для хранения зон в БД SQLite3 (передаются данные в JSON-формате);
  • Демон b10-cmdctl для организации удаленного управления DNS-сервером (непосредственная передача команд осуществляется администратором через утилиту bindctl, а в будущем через web-интерфейс WebTool, GUI-интерфейс GuiTool или через написанное своими силами дополнение);
  • Менеджер конфигурации b10-cfgmgr (выступает промежуточным звеном для разбора и хранения конфигурации);
  • Сервисы b10-xfrin и b10-xfrout для обслуживания входящих и исходящих AXFR-запросов (трансфер зон целиком);
  • C++ библиотека libdns++ и Python-биндинг для разработки дополнений и новых модулей, а также примеры кода.

Напомню, что в рамках проекта BIND 10, при поддержке крупнейших мировых регистраторов доменов, с нуля создается принципиально новая реализация DNS-сервера Bind, имеющая модульную структуру, с выносом резолвера, подсистем для хранения данных и кода для обслуживания DNS-зон в независимые модули. Другим важным отличием Bind 10 является значительное улучшение масштабируемости, за счет поддержки организации DNS-кластеров.

Некоторые идеи, которые будут реализованы в BIND 10:

  • Увеличение надежности, повышение стойкости к DoS атакам и способность работать до последнего, игнорируя возникающие ошибки (например, некорректные записи в DNS зонах);
  • Реализация возможности акселерации через схему бэкенд-фронтенд;
  • Не привязанность к конкретной модели хранения данных, подключение обработчиков хранилищ через модули. Включение в комплект модулей для хранения зоны в SQL базе, кеширования в памяти из файлов или использования встраиваемых БД;
  • Возможность определять в процессе сборки, на основе каких частей будет сформирована бинарная сборка. Например, может быть собран только кеширующий или только авторитативный сервер, что позволит создавать компактные версии bind, подходящие для использования во встраиваемых устройствах с ограниченными ресурсами;
  • Поддержка кластеризации: интеграция технологий, позволяющих организовать работу как единого целого нескольких копий BIND, размещенных на разных серверах;
  • Средства для интеграции BIND в программную инфраструктуру пользователя. Если сейчас базовая конфигурация оформляется в текстовых файлах, то появятся специальные программные интерфейсы для управления конфигурацией и мониторинга BIND из сторонних приложений. Например, можно будет более гибко организовать синхронизацию данных между DNS и DHCP серверами;
  • Контроль в процессе выполнения. Реконфигурация BIND 9 производилась исключительно через чтение файлов и примитивные rndc команды. В BIND 10 планируется реализовать более изящную и интерактивную схему контроля и мониторинга.
  • Специальный API и набор библиотек для интеграции функций для работы с DNS и средств для взаимодействия с DNS-сервером в сторонние приложения.



Источник: http://www.opennet.ru/opennews/art.shtml?num=27509