Консорциум ISC представил (https://www.isc.org/blogs/kea-1-4-adds-high-availability-mode/) релиз DHCP-сервера Kea 1.4.0 (http://kea.isc.org),  идущего на смену классическому ISC DHCP. Исходные тексты проекта распространяются (https://github.com/isc-projects/kea) под лицензией Mozilla Public License (MPL) 2.0 (https://www.opennet.dev/opennews/art.shtml?num=32726), вместо ранее применяемой для ISC DHCP лицензии ISC License. 
DHCP-сервер Kea основан на технологиях BIND 10 и построен (https://www.opennet.dev/opennews/art.shtml?num=36235) с использованием модульной архитектуры, подразумевающей разбиение функциональности на разные процессы-обработчики. Продукт включает в себя полнофункциональную реализацию сервера с поддержкой протоколов DHCPv4 и DHCPv6, способную заменить собой ISC DHCP. В Kea встроены средства динамического обновления DNS-зон (Dynamic DNS), поддерживаются механизмы обнаружения серверов, назначения адресов, обновления и переподключения, обслуживания информационных запросов, резервирования адресов для хостов и PXE-загрузки. В реализации DHCPv6  дополнительно предусмотрена возможность делегирования префиксов. Для взаимодействия с внешними приложениями предоставляется специальный API. Возможно обновление конфигурации на лету без перезапуска сервера.
Информация о выделенных адресах и параметрах клиентов может храниться в разных типах хранилищ - в настоящее время предоставляются бэкенды для хранения в файлах CSV, СУБД MySQL,  Apache Cassandra и PostgreSQL. Параметры резервирования хостов могут быть заданы в файле конфигурации в формате JSON или в виде таблицы в MySQL. В состав входит инструмент perfdhcp для измерения производительности сервера DHCP и компоненты для сбора статистики. Kea демонстрирует неплохую производительность, например, при использовании бэкеда MySQL сервер может выполнить 1000 присвоений адресов в секунду (около 4000 пакетов в секунду), а при использовании бэкенда memfile производительность достигает 7500 присвоений в секунду.
Новые возможности Kea 1.4:
-  Добавлены средства для создания отказоустойчивых конфигураций. Реализовано два режима  обеспечения отказоустойчивости: балансировка запросов на несколько активных серверов (в случае сбоя оставшиеся серверы берут на себя нагрузку сбойных) и поддержание в синхронизированном виде запасного сервера (hot standby, в случае сбоя запасной сервер заменяет основной). Кроме того, предоставлена возможность создания дополнительных резервных серверов с реплицированной БД, которые могут в любой момент заменить первичные или вторичные серверы. Отказоустойчивые конфигурации могут применяться  для IPv4 и IPv6, и поддерживают все доступные бэкенды хранения, включая  memfile;
-  Стабилизирован бэкенд для хранения данных в СУБД Apache Cassandra, который существует уже долгое время, но до сих пор отставал по функциональности и не был полностью протестирован. В новой версии проведена работа по доработке бэкенда, в том числе добавлена возможность хранения параметров резервирования хостов, расширена документация и упрощена установка;
-  Появилась возможность ведения точной раздельной статистики для конфигураций, в которых несколько серверов Kea используют одно совместное хранилище. Ведение статистики обеспечено для бэкендов на базе MySQL и PostgreSQL при помощи нового обработчика stat_cmds  и изменения схемы БД;
-  Для бэкендов MySQL и PostgreSQL  добавлена возможность восстановления соединения с СУБД в случае обрыва связи;
 
-  Добавлена возможность определения классов клиентов на уровне настройки пула, что позволяет группировать сходные типы клиентов и определять какие клиенты могут использовать определённый пул адресов, а какие нет. Расширены выражения для определения классов, добавлен оператор для определения принадлежности пакета определённому классу и предложены логические операторы;
-  Добавлен платный модуль для интеграции с серверами RADIUS, позволяющий запрашивать через RADIUS права доступа клиента (Access-Request, Access-Reject), назначать IP-адреса (Framed-IP-Address, Framed-IPv6-Address), определять принадлежность к пулу адресов (Framed-Pool, Framed-IPv6-Pool)  и отправлять сведения для аккаунтинга.
 
URL: https://www.isc.org/blogs/kea-1-4-adds-high-availability-mode/
Новость: https://www.opennet.dev/opennews/art.shtml?num=48785