Консорциум 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
спасибо, ребята, ненужно.те кому был нужен нормальный вменяемый dhcpd - давно пользуют виндовый. Без постгреза, апачекашмандры, и прочего высокотехнологичного мусора, арихинужнейшего для такой простой задачи. А вы за ДВАДЦАТЬ ЛЕТ ниасилили простейшей вещи - перезагрузку конфигурации на ходу. Вам ради этого пришлось переписать код с нуля на модных технологиях. Поздравляю.
P.S. кстати, в ubuntu18 isc-dhcpd сломан. (вполне вероятно что он в принципе сломан, просто мне неинтересно разбираться в причинах)
виндовый?? где таких альтернативно одаренных еще держат?
Да уж, в бытность необнократно встречался в виндовом dhcp с ситуацией потери им конфига. Т.е. просто хоп и в какой-то момент (может после пропадания питания или аварийного завершения работы сервака) dhcp становится ненастроенным. Жесть. Потеряны все прописанные статические лизы, все закреплённые адреса. А рекоммендация знаете какая? Копировать файл конфигурации, который где-то в жжжжжжжж-system32 лежит.Это конечно по взрослому. Уж лучше я сервис рестартану, после изменений в конфиге, чем без рестарта, но запросто весь конфиг потеряю.
> Да уж, в бытность необнократно встречался в виндовом dhcp с ситуацией потери
> им конфига.конфиг в виндовых сервисах это что-то новенькое. обычно там абстрактная помойка где-то в дебрях ветвий еб***того реестра ...
Там не файл конфигурации, а БД сервера. В принципе, норм решение, если не брать во внимание месторасположение файла.
Провайдеры с руками используют мой перловый, остальным хватает dnsmasq.
Пробовали твою перловку, перешли на FreeRADIUS с DHCP и СУБД.
> Пробовали твою перловку, перешли на FreeRADIUS с DHCP и СУБД.а что с ней не так? (я чисто со стороны интересуюсь, не дай Б-же снова в это нырять)
Чего не хватило для счастья в моей перловке?
При всём уважении, но приналичии модуля в CPAN, умеющего парсить и собирать DHCP пакеты, твоя "перловка" нужна только одноклеточным, не осилившим строчек 50 кода под себя написать.
Ставят винду на сервер ради одного только DHCP что ли?
Да! И после того как отработает windows удаляют с сервера. Одноразовая хрень.
Продукты ISC не лучше винды.
> Ставят винду на сервер ради одного только DHCP что ли?о, неедавшие слаще морковки еще и от этого в ужасе.
ставят винду, да, серверную, в виде инстанса виртуалки, да, ради одного dhcp, обычно, отдельную, dns у нас в ad, на контроллер ставить лишние "тяжелые" сервисы не принято (представь что в офисе на пару тыщ человек сбойнуло электричество и перезагрузились банально телефоны на всех столах - поймешь, почему он действительно "тяжелый" в сравнении с тем же DC такого же точно офиса). И еще одну для резервирования, на другом узле. С апдейтами, управлением и всем прочим, что и в линуксе придется учредить, если ты не один из тех у кого "аптайм 2000 дней, еще моррисов червяк в /tmp наследил", футпринт у нее не больше чем у любого современного линукса. Можно немного сэкономить, поставив core/как там ее сейчас - все равно локально на такую не заходит никто, никогда и низачем - ей же не нужно "рестартовать dhcp" если из динамической лизы захотелось сделать статику (не хочу видеть ваш "однострочник" на пол-экрана, "легко решающий эту и еще десять ненужных задач" для isc dhcpd).
И "lts"- мой 2008R2 все еще поддерживается, и обслуживает своих уцелевших пользователей (и, наверное, переживет их), а вы свой линукс уже пять раз успели переставить. Затобеслатно, ага. Свои 50 тыщ в месяц самоучка без мотора считает "бесплатно" (в общем да, а еще он за эти деньги картридж трясет)
И в нем вменяемо работает несколько серверов с обменом лизами? А то у нас коллега собрал кластер виндовый с словами: ну наверное если основной развалится - резервный заработает. Только изменения делайте на основном, никак не на резервном. Возможно синхронизация улетит.
> И в нем вменяемо работает несколько серверов с обменом лизами?в 16й вроде да, но у меня привычки со времен 2003 (когда из-за недостатка железа все сервисы намертво привязывали к DC) - мастер это мастер, а слейв нужен чтоб было кому подхватить, если тот перезагружается после адейта или еще какая проблема. На него и не подключаешься-то никогда, бо нафиг там ничего не надо...
но, сам понимаешь, в сравнении с "а мы научились конфиг на ходу перезагружать - через тридцать лет" - просто космические технологии, у Маска тоже тяжелая ступень что-то с первого раза не смогла нормально сесть.
О, интересные данные по поводу 16. Спасибо.
>те кому был нужен нормальный вменяемый dhcpd - давно пользуют виндовыйВо, оказывается, какие "спецы" в россиянских телекомах сидят, диву даёшься.
> перезагрузку конфигурации на ходуа этого api не достаточно
http://www.ipamworldwide.com/ipam/isc-dhcp-api.html ?я правда тоже свой писал, но мне надо было в базе хранить лизы :-)
Option 82 еще не завезли для привязки портов коммутаторов?
Тоже интересует opt82. Судя по всему что-то могёт, надо стенд собирать и смотреть..
https://kea.isc.org/wiki/Hooks
За поддержку IPv6 в opt82 точно нужно платить, плагин платный.
Используем в тесте, как раз в последнем релизе появилось присвоение в пул класса. Схема аналогична isc dhcp, создаём класс, например мак свитча и порт, и в пуле /32 назначаем этот класс
На самом деле адовая вещь, гораздо проще и удобней freeradius с СУБД плагином.
Может кто подскажет когда в freeradius-dhcp появится полноценная поддержка ipv6?
А кто-нибудь в курсе, для ldap ему back-end допилили?
> может выполнить 1000 присвоений адресов в секунду
> (около 4000 пакетов в секунду), а при использовании
> бэкенда memfile производительность достигает
> 7500 присвоений в секундуДа зачем производительность такая большая, как будто у dhcp-сервера не только тысячи клиентов, но и тысячи обращений в секунду? 😲
В основном клиентов dhcp-сервнра - это несколько компов да мобил в локальной сети фирмы. 😃