Консорциум ISC опубликовал релиз DHCP-сервера Kea 3.0, идущего на смену классическому ISC DHCP. Kea 3.0 отмечен как первый выпуск, для которого будет обеспечен длительный цикл сопровождения (LTS) – обновления будут выпускаться в течение трёх лет. Новые значительные стабильные выпуски планируют формировать раз в полгода, а не раз в год. Исходные тексты проекта распространяются под лицензией Mozilla Public License (MPL) 2.0, вместо ранее применяемой для ISC DHCP лицензии ISC License.
DHCP-сервер Kea основан на технологиях BIND 10 и построен с использованием модульной архитектуры, подразумевающей разбиение функциональности на разные процессы-обработчики. Продукт включает в себя полнофункциональную реализацию сервера с поддержкой протоколов DHCPv4 и DHCPv6, способную заменить собой ISC DHCP. В Kea встроены средства динамического обновления DNS-зон (Dynamic DNS), поддерживаются механизмы обнаружения серверов, назначения адресов, обновления и переподключения, обслуживания информационных запросов, резервирования адресов для хостов и PXE-загрузки. В реализации DHCPv6 дополнительно предусмотрена возможность делегирования префиксов.
Информация о выделенных адресах и параметрах клиентов может храниться в разных хранилищах, например, предоставляются бэкенды для хранения в файлах CSV, СУБД MySQL, Apache Cassandra и PostgreSQL. Параметры резервирования хостов могут быть заданы в файле конфигурации в формате JSON или в виде таблицы в MySQL и PostgreSQL. В состав входит инструмент perfdhcp для измерения производительности сервера DHCP и компоненты для сбора статистики. Для взаимодействия с внешними приложениями предоставляется специальный API. Возможно обновление конфигурации на лету без перезапуска сервера.
Ключевые улучшения в Kea 3.0:
- В категорию открытых и бесплатно распространяемых переведено большинство библиотек TWELVE Kea с подключаемыми обработчиками (hook-ами), ранее доступными под коммерческой лицензией (коммерческими остались только обработчики RBAC и Configuration Backend, а остальные 12 обработчиков открыты под лицензией MPL 2.0). Изменён процесс распространения подключаемых обработчиков – для установки больше не требуется токен доступа. Открытые библиотеки включены в основной архив с исходным кодом Kea и доступны для установки из официальных репозиториев ISC.
Среди возможностей, предоставляемых открытыми обработчиками: манипуляции с классами DHCP-клиентов без перезапуска DHCP-сервера, обновление DDNS (Dynamic DNS) в привязке к клиентам, гибкое назначение идентификаторов клиентам, ведение расширенных логов, использование GSS-TSIG для аутентификации, кэширование ответов от других хостов, вынос хранилища резервирования хостов в отдельную СУБД, ограничение интенсивности запросов, ping-проверка адресов перед выдачей клиентам, интеграция с RADIUS-серверами, управление настройками подсетей без перезапуска, поддержка расширений DHCPv4/DHCPv6 Leasequery. Открытые обработчики могут использоваться для настройки подсетей и резервирования хостов через web-интерфейс Stork.
- Добавлены дополнительные проверки и меры усиления защиты, реализованные по мотивам недавно выявленных уязвимостей. После перехода на Kea 3.0 администраторам потребуется выставить новые пароли и настроить более надёжную защиту доступа к интерфейсам удалённого управления.
- Добавлена встроенная поддержка HTTP/TLS. Для организации удалённого доступа больше не требуется Kea Control Agent и удостоверяющий центр (CA), что существенно упрощает настройку. В фоновые процессы DHCPv4, DHCPv6 и DHCP-DDNS встроена поддержка обращения к API через HTTP и TLS без использования Control Agent (CA). В будущих выпусках планируют удалить Kea Control Agent.
- С целью упрощения миграции с ISC DHCP изменена классификация клиентов. Предоставлена возможность добавления опций в привязке к клиенту или подсети. Поведение при наследовании опций приближено к ISC DHCP.
- В DHCPv6 реализован механизм регистрации адресов (RFC 9686), позволяющий вместо назначения сервером адреса, генерировать адрес на стороне устройства, используя SLAAC (Stateless Address Autoconfiguration), после чего передавать сведения о сгенерированном адресе на DHCPv6-сервер.
- Модернизирована сборочная система, которая переведена с Auto Tools на инструментарий Meson.
- Код для поддержки бэкендов хранения на базе MySQL и PostgreSQL вынесен в отдельные библиотеки. Данные бэкенды теперь не являются обязательными для установки – если не требуется поддержка MySQL и PostgreSQL, при установке Kea больше не требуется установка связанных с СУБД зависимостей.