Консорциум ISC опубликовал (https://www.isc.org/blogs/kea-1-6/) релиз DHCP-сервера Kea 1.6.0 (http://kea.isc.org), идущего на смену классическому ISC DHCP. Исходные тексты проекта распространяются (https://github.com/isc-projects/kea) под лицензией Mozilla Public License (MPL) 2.0 (https://www.opennet.me/opennews/art.shtml?num=32726), вместо ранее применяемой для ISC DHCP лицензии ISC License.DHCP-сервер Kea основан на технологиях BIND 10 и построен (https://www.opennet.me/opennews/art.shtml?num=36235) с использованием модульной архитектуры, подразумевающей разбиение функциональности на разные процессы-обработчики. Продукт включает в себя полнофункциональную реализацию сервера с поддержкой протоколов DHCPv4 и DHCPv6, способную заменить собой ISC DHCP. В Kea встроены средства динамического обновления DNS-зон (Dynamic DNS), поддерживаются механизмы обнаружения серверов, назначения адресов, обновления и переподключения, обслуживания информационных запросов, резервирования адресов для хостов и PXE-загрузки. В реализации DHCPv6 дополнительно предусмотрена возможность делегирования префиксов. Для взаимодействия с внешними приложениями предоставляется специальный API. Возможно обновление конфигурации на лету без перезапуска сервера.
Информация о выделенных адресах и параметрах клиентов может храниться в разных типах хранилищ - в настоящее время предоставляются бэкенды для хранения в файлах CSV, СУБД MySQL, Apache Cassandra и PostgreSQL. Параметры резервирования хостов могут быть заданы в файле конфигурации в формате JSON или в виде таблицы в MySQL и PostgreSQL. В состав входит инструмент perfdhcp для измерения производительности сервера DHCP и компоненты для сбора статистики. Kea демонстрирует неплохую производительность, например, при использовании бэкеда MySQL сервер может выполнить 1000 присвоений адресов в секунду (около 4000 пакетов в секунду), а при использовании бэкенда memfile производительность достигает 7500 присвоений в секунду.
Ключевые улучшения (https://ftp.isc.org/isc/kea/1.6.0/Kea160ReleaseNotes.txt) в Kea 1.6:
- Реализован бэкенд конфигурации (CB, Configuration Backend), позволяющий централизованно управлять настройками нескольких серверов DHCPv4 и DHCPv6. Бэкенд может применяться для хранения большинства настроек Kea, включая глобальные параметры, информацию об общих сетях, подсетях, опциях, пулах и определениях опций. Вместо хранения всех этих настроек в локальном файле конфигурации, они теперь могут размещаться во внешней базе данных. При этом возможно определение через CB не всех, а части настроек с наложением параметров из внешней БД и локальных файлов конфигурации (например, в локальных файлах могут быть оставлены настройки сетевых интерфейсов).
Из СУБД для хранения конфигурации пока поддерживается только MySQL (для хранения баз присвоения адресов (leases) могут использоваться MySQL, PostgreSQL и Cassandra, а для резервирования хостов MySQL и PostgreSQL). Конфигурация в БД может меняться как через прямое обращение к СУБД, так и через специально подготовленные библиотеки-прослойки, предоставляющие типовой набор команд для управления конфигурацией, такие как добавление и удаление параметров, привязок, DHCP-опций и подсетей;- Добавлен новый класс обработчиков "DROP" (все связанные с классом DROP пакеты сразу отбрасываются), который может быть использован для отбрасывания нежелательного трафика, например, определённых типов DHCP-сообщений;
- Добавлены новые параметры max-lease-time и min-lease-time, позволяющие определить время жизни привязки адреса к клиенту (lease) не в форме жёстко заданного значения, а в виде допустимого диапазона;- Улучшена совместимость с устройствами, не полностью соблюдающими стандарты для DHCP. Для обхода проблем Kea теперь отправляет информацию о типе сообщения DHCPv4 в самом начале списка опций, обрабатывает различные представления имён хостов, распознаёт передачу пустого имени хоста и позволяет определять субопции с кодами с 0 по 255;
- Для демона DDNS добавлен отдельный управляющий сокет, через который можно напрямую передавать команды и вносить изменение в конфигурацию. Поддерживаются следующие команды: build-report, config-get, config-reload, config-set, config-test, config-write, list-commands, shutdown и version-get;
- Устранены уязвимости (https://www.openwall.com/lists/oss-security/2019/08/29/) (CVE-2019-6472, CVE-2019-6473, CVE-2019-6474), которые могут быть использованы для совершения отказа в обслуживании (вызов краха серверных обработчиков DHCPv4 и DHCPv6) через отправку запросов с некорректными опциями и значениями. Наибольшую опасность представляет проблема СVE-2019-6474 (https://kb.isc.org/docs/cve-2019-6474), которая в случае использования для привязок хранилища memfile, приводит к невозможности самостоятельного перезапуска серверного процесса, поэтому для восстановления работы требуется ручное вмешательство администратора (чистка базы привязок).URL: https://www.isc.org/blogs/kea-1-6/
Новость: https://www.opennet.me/opennews/art.shtml?num=51393
Спонсор разработки -- Ikea?!
Зачем магазину DHCP-сервер?
Ну... Не просто же так говорят, что IKEA огромна
причем такой кривой и дырявый, который только и может произвести на свет сброд нанятый isc?Полагаем, они давно уже наш поставили. Вместе с нашим AD integrated dns. Которые, между нами, работают с 1997го года, в отличие от поделок isc.
(надо бы им, кстати, напомнить, что за лицензиями следует приглядывать)
Ну Rakuten же зачем-то спонсирует LeoFS...
Могли использовать православной FreeRADIUS где только нормальный ipv4 и бесплатный радиус в придачу с жхцп и всеми фичами.
Не могу понять, в чем килл-фича? Что он может такого, чего не может isc dhcpd? Может в базу в качестве ответа не предлагать
> Не могу понять, в чем килл-фича? Что он может такого, чего не может isc dhcpd?в том, что "разрабочтики" нанятые isc, ДВАДЦАТЬ ЛЕТ не могли научить старый dhcpd перечитывать настройки без перезапуска, рассказывая сказочки о невероятной сложности этой программы и нереальности поставленной им задачи.
привыкайте, теперь ВСЕ будет делаться - только так.
Перезапуск dhcpd, положим, почти никогда не проблема. В отличие от местного дизайна lease-файлов, к примеру (самораздуваемое/не очищаемое).
…И "модульной" архитектуры: в начале 200x помню как патчил тогдашнюю 2.чего-то под фрёй. Чтобы писала лизы в pgsql.
К 3.х "дизайн" проекта в целом не изменился. Стабильность. * Зато я перестал страдать фигнёй и научился доить имеющиеся интерфейсы, вместо впихивания своих в чужой код.
пока у тебя не запрос в секунду - не проблема. А вот если за время перезапуска пяток телефонов вместо адреса получают шиш - то уже проблема.Ну и лизфайлы написаны той же левой задней что и парсер конфига, разумеется.
Киллер-фича в отсутствии поддержки BOOTP )
серьезно?
А зачем он нужен современному DHCP-серверу?
> А зачем он нужен современному DHCP-серверу?современный dhcp-сервер - ненужен.
Нужны его клиенты, иногда делающие что-то полезное.