Jump to content
Калькуляторы

Доброе время суток.

Кто работал (работает) с KEA , поделитесь наработками по использованию mysql и option82. Пример из isc-dhcp

 

class "port-5"
{
 match if binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "5";
}

pool {
  range 192.168.1.10;
  allow members of "port-5";
}

 

Как подобное реализовывается в KEA ? Средствами mysql, средствами записи в файл?

Ссылки на документацию мне ведомы, но понять и что-то реализовать по ним не получилось. Сам сервер поднят и работает.

Спасибо!

Share this post


Link to post
Share on other sites

Можно влезть со своим мнением? У нас уже овер 5 лет в проде работает это решение. Покрывает все возможные кейсы.

Share this post


Link to post
Share on other sites
2 минуты назад, pppoetest сказал:

Можно влезть со своим мнением? У нас уже овер 5 лет в проде работает это решение. Покрывает все возможные кейсы.

Можно! И приветствуется. С чего начать? Есть примеры конфигурации?

Share this post


Link to post
Share on other sites

Перловый дхцп серв, работает только с релей-агентами, и только ипв4. Любые извращения на любой вкус, благо всё в открытом виде. Конфигурации как таковой нет. Логику обработки последовательности discover-offer-request-ack пишешь сам. Начни с изучения исходника, там все довольно тривиально. Будут вопросы - помогу.

Share this post


Link to post
Share on other sites

Ок, спасибо!

Share this post


Link to post
Share on other sites

Mikrotik + radius ещё вариант (поддержка v6).

Share this post


Link to post
Share on other sites
5 часов назад, andryas сказал:

Mikrotik + radius ещё вариант (поддержка v6).

Что вы имеете ввиду? Использовать v6 для раздачи v4? Использовать радиус в качестве dhcp? Использовать микротик, как клиент радиуса? Сложно понять, что именно.

Share this post


Link to post
Share on other sites

Микротик, как клиент радиуса, естественно.

Share this post


Link to post
Share on other sites
26 минут назад, andryas сказал:

Микротик, как клиент радиуса, естественно.

Нет, спасибо, такое решение не подходит.

Share this post


Link to post
Share on other sites

В KEA поддержка Option82 только в премиум модуле (через flex-id можно реализовать любые проверки, в том числе и option82)

Мы для себя запилили свой модуль, чисто под option82.

1.5 строчки кода, в целом ничего сложного.

 

В БД хранится в поле dhcp_identifier в бинарном виде

Share this post


Link to post
Share on other sites

Спасибо. Многое стало понятным. Напрасно потраченное время. Иду удалять.

Share this post


Link to post
Share on other sites

Зря. Так-то хороший продукт :)

Мы в продакшн ввели и радуемся, ждем новую версию, там обещают всю остальную конфигурацию в БД перенести (можно будет добавлять/удалять подсети без перезагрузок демона)

Share this post


Link to post
Share on other sites
В 06.05.2019 в 11:24, Heggi сказал:

Мы в продакшн ввели и радуемся, ждем новую версию, там обещают всю остальную конфигурацию в БД перенести (можно будет добавлять/удалять подсети без перезагрузок демона)

Чем вам перловый то не нравится?

Накорябал там любую логику под себя и радуйся.

А перезапуск дхцп - вообще не проблема ни разу, клиенты перезапросят. Не говоря о том, что в случае перлового демона с данными из базы такой необходимости просто нет.

Share this post


Link to post
Share on other sites
5 часов назад, Ivan_83 сказал:

А перезапуск дхцп - вообще не проблема ни разу

Дрочить демон? По мне, это костыль.

Share this post


Link to post
Share on other sites
19 часов назад, Ivan_83 сказал:

Не говоря о том, что в случае перлового демона с данными из базы такой необходимости просто нет. 

В домашней сети на пару клиентов сойдет, но при количестве клиентов в несколько тысяч умрут перловый скрипт и бд.

Share this post


Link to post
Share on other sites
2 часа назад, max1976 сказал:

В домашней сети на пару клиентов сойдет, но при количестве клиентов в несколько тысяч умрут перловый скрипт и бд.

звучит так, как будто ты протестировал (на самом деле нет, лишь бы сказануть)

Share this post


Link to post
Share on other sites
2 часа назад, max1976 сказал:

В домашней сети на пару клиентов сойдет, но при количестве клиентов в несколько тысяч умрут перловый скрипт и бд.

Всего несколько тыщ!? Так мало!?

Когда я его тестил он без базы переваривал где то 2-3к запросов/сек на ныне стареньком дуалкоре E5300, с базой меньше, в зависимости от базы и развесистости запросов.

Даже если он будет переваривать всего 100 запросов в секунду он сможет выдать 2000 адресов всего за 20 секунд.

Вряд ли есть хоть один дегенерат который ставит время жизни лизы меньше 10 минут.

10 минут = 600 секунд * 100 = 60к клиентов самый минимум на который можно рассчитывать.

 

Может ты DHCP с роутингом путаешь или там с записью netflow на аплинк порту?

Share this post


Link to post
Share on other sites
7 часов назад, max1976 сказал:

В домашней сети на пару клиентов сойдет, но при количестве клиентов в несколько тысяч умрут перловый скрипт и бд.

Овер 4.5к клиентов. Нагрузки нет. Никто не мрёт.

Share this post


Link to post
Share on other sites
6 часов назад, GrandPr1de сказал:

звучит так, как будто ты протестировал (на самом деле нет, лишь бы сказануть)

Я много чего тестировал, в том числе и работу dhcp с БД. БД это узкое место. Можно сколько угодно считать и делать синтетических тесты, но в реальной жизни даже при 8к клиентах конструкция не работоспособна, особенно если применять динамический пул адресов. 

Kea сервер хорошо показывает себя в работе. Дополнительный функционал легко получить, путем написания плагина. 

Edited by max1976

Share this post


Link to post
Share on other sites
В 06.05.2019 в 10:53, Heggi сказал:

В KEA поддержка Option82 только в премиум модуле (через flex-id можно реализовать любые проверки, в том числе и option82)

Мы для себя запилили свой модуль, чисто под option82.

1.5 строчки кода, в целом ничего сложного.

 

В БД хранится в поле dhcp_identifier в бинарном виде

можете поделится модулем?

Share this post


Link to post
Share on other sites

@max1976 

У меня данный скрипт работает несколько лет, лиза 5 минут(к вопросу о дегенератах), до 5к клиентов на сервер - загрузка от скрипта и БД околонулевая.

Не вижу что там вообще может тупить и ограничивать.

Share this post


Link to post
Share on other sites
3 часа назад, max1976 сказал:

БД это узкое место.

Странное утверждение.

При правильной организации базы данных весьма производительны.

В биллинговой системе AAA работает с БД, а там активность повыше будет.

Share this post


Link to post
Share on other sites

Читать из БД это не проблема. Как писал выше - работа с динамическим адресами не может быть обеспечена скриптом на перле и БД. Очень часто встречаются кривые клиенты, постоянно запрашивающие адрес, что приводит к нагрузкам на БД. 

Share this post


Link to post
Share on other sites
2 часа назад, max1976 сказал:

Очень часто встречаются кривые клиенты, постоянно запрашивающие адрес, что приводит к нагрузкам на БД. 

Это всё режется на доступе.

Share this post


Link to post
Share on other sites
16 часов назад, max1976 сказал:

Как писал выше - работа с динамическим адресами не может быть обеспечена скриптом на перле и БД.

Ну да, только скрипты на си :)

 

16 часов назад, max1976 сказал:

Очень часто встречаются кривые клиенты, постоянно запрашивающие адрес, что приводит к нагрузкам на БД.

Для этого можно добавить кеширование в сам перл демон.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now