Перейти к содержимому
Калькуляторы

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

Кто работал (работает) с 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, средствами записи в файл?

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

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 минуты назад, pppoetest сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

5 часов назад, andryas сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

26 минут назад, andryas сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 06.05.2019 в 11:24, Heggi сказал:

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

5 часов назад, Ivan_83 сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

19 часов назад, Ivan_83 сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, max1976 сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, max1976 сказал:

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

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

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

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

6 часов назад, GrandPr1de сказал:

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

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

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

Изменено пользователем max1976

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 06.05.2019 в 10:53, Heggi сказал:

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

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@max1976 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 часа назад, max1976 сказал:

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, max1976 сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.