UTM5 + полноценный RADIUS

Технические вопросы по UTM 5.0
serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

ds писал(а):А у нас даже о баге не скажешь, если хотлайна нет в подписке
Сейчас багрепорт доступен для всех клиентов.

Arti
Сообщения: 266
Зарегистрирован: Пн окт 01, 2007 02:44

Сообщение Arti »

ds писал(а): Атрибутами, например вот так

Cisco-AVPair := "ip:addr-pool=1",
Назначем пул
Session-Timeout := 180,
Время сессии
Cisco-AVPair := "lcp:interface-config=ip policy route-map net172-proxy"
Заворачиваем на прокси, с переадресацией на ошибку по условию
Не имел дело с котами...

Насколько я понял имеется ввиду, что пул задан на маршрутизаторе, а в атрибутах мы просто передаем ID пула? Если это так, то такое "решение" мало кому нужно.

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

Arti писал(а):
ds писал(а): Атрибутами, например вот так

Cisco-AVPair := "ip:addr-pool=1",
Назначем пул
Session-Timeout := 180,
Время сессии
Cisco-AVPair := "lcp:interface-config=ip policy route-map net172-proxy"
Заворачиваем на прокси, с переадресацией на ошибку по условию
Не имел дело с котами...

Насколько я понял имеется ввиду, что пул задан на маршрутизаторе, а в атрибутах мы просто передаем ID пула? Если это так, то такое "решение" мало кому нужно.
Может быть, удобно в такие пулы отправлять заблокированных по балансу, или за вирусы например. Только для удобства, не более.

Можно и из пула биллинга выдавать, пошаманить только немного нужно. Будет время, попробую.

Аватара пользователя
opalao
Сообщения: 27
Зарегистрирован: Вт май 05, 2009 11:03

Сообщение opalao »

Arti писал(а):
ds писал(а): Атрибутами, например вот так

Cisco-AVPair := "ip:addr-pool=1",
Назначем пул
Session-Timeout := 180,
Время сессии
Cisco-AVPair := "lcp:interface-config=ip policy route-map net172-proxy"
Заворачиваем на прокси, с переадресацией на ошибку по условию
Не имел дело с котами...

Насколько я понял имеется ввиду, что пул задан на маршрутизаторе, а в атрибутах мы просто передаем ID пула? Если это так, то такое "решение" мало кому нужно.
Нет пул задается в утмке. Если я использую обычный радиус то все работает нормально айпи выдаются динамически. Когда прикрутил фрирадиус подключение не происходит пишет что не может получить айпи адресс.(фрирадиус использлвал для того чтоб осуществлялась аутинтификация с AD)

Аватара пользователя
opalao
Сообщения: 27
Зарегистрирован: Вт май 05, 2009 11:03

Сообщение opalao »

У кого ниб есть какие -нибудь идеи????

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »


Аватара пользователя
opalao
Сообщения: 27
Зарегистрирован: Вт май 05, 2009 11:03

Сообщение opalao »

если я правильно понел , то с помощью sqlippool я смогу вытащить и приципить айпи из базы к впн подключению, а как сама утм поймет что этот айпи относится к этому пользователю????

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

opalao писал(а):если я правильно понел , то с помощью sqlippool я смогу вытащить и приципить айпи из базы к впн подключению, а как сама утм поймет что этот айпи относится к этому пользователю????
В таком виде никак. Есть идея как сделать, но на реализацию нужно время.

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

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

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

mikkey finn писал(а):выдавать пользователю адрес с помощью урфа-клиента, потом получать его радиусом из базы.
Примерно так и хотел сделать :) , только сделать урфаклиента модулем для фрирадиуса.

Arti
Сообщения: 266
Зарегистрирован: Пн окт 01, 2007 02:44

Сообщение Arti »

Получилось прикрутить динамические адреса к UTM?

Я вобще хотел считать трафик через радиус, но конешно netflow было бы более удобно.

maxxxx
Сообщения: 59
Зарегистрирован: Вт ноя 07, 2006 18:26

Сообщение maxxxx »

у кого-то получилось подружить фрирадиус, utm5 и динамические адреса?

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

как вариант - можно считать радиусом, по концу сессии, просто генерировать нужный пакет flowgen-ом. он в поставке утма есть

Arti
Сообщения: 266
Зарегистрирован: Пн окт 01, 2007 02:44

Сообщение Arti »

есть такая мысль...

На самом деле если вчитаться как работает "штатное" динамическое распределение адресов - то возникает множество вопросов, о том на сколько ЭТО оптимально.

Зато относительно легко можно повторить своими силами.

Идея вот в чём:

Нужно написать свой модуль для фри радиуса или использовать например rlm_perl.

Логика банальна:
Все тоже что и в rlm_sql. Нужно только дополнительно делать вот что:

Если у данного Л/С есть привязанная ip-группа из пула/пулов - выдать этот ip-адрес.

Если нет - найти свободную группу и дернуть урфа-функцию на привязку IP-группы. Выдать клиенту привязанный адрес.

Для минимизации вероятности вызова урфа-функци - нужно стараться удалять группы только когда действительно это необходимо.

Т.е. дергать урфа-функцию на удаление группы по стоп-пакету - не самая хорошая идея - т.к. придется гарантированно дёргать функцию на привязку при повторном логине. Как при этом осуществляется взаимодействие с "тарификатором" - остается только гадать, но лучше не напрягать систему лишний раз.

Как вариант использовать специальную таблицу, содержащую все ip адреса пула. После завершения урфа на привязку адреса - метить соответствующий ip как занятый. По крону или при привязке группы, или старте сессии искать не используемые группы - вызывать скрипт удаления группы и метить их как свободные.

Для отдельной таблицы с адресами можно использовать блокировки для предупреждения возникновения условий гонок.

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Arti писал(а):есть такая мысль...

На самом деле если вчитаться как работает "штатное" динамическое распределение адресов - то возникает множество вопросов, о том на сколько ЭТО оптимально.

Зато относительно легко можно повторить своими силами.

Идея вот в чём:

Нужно написать свой модуль для фри радиуса или использовать например rlm_perl.

Логика банальна:
Все тоже что и в rlm_sql. Нужно только дополнительно делать вот что:

Если у данного Л/С есть привязанная ip-группа из пула/пулов - выдать этот ip-адрес.

Если нет - найти свободную группу и дернуть урфа-функцию на привязку IP-группы. Выдать клиенту привязанный адрес.

Для минимизации вероятности вызова урфа-функци - нужно стараться удалять группы только когда действительно это необходимо.

Т.е. дергать урфа-функцию на удаление группы по стоп-пакету - не самая хорошая идея - т.к. придется гарантированно дёргать функцию на привязку при повторном логине. Как при этом осуществляется взаимодействие с "тарификатором" - остается только гадать, но лучше не напрягать систему лишний раз.

Как вариант использовать специальную таблицу, содержащую все ip адреса пула. После завершения урфа на привязку адреса - метить соответствующий ip как занятый. По крону или при привязке группы, или старте сессии искать не используемые группы - вызывать скрипт удаления группы и метить их как свободные.

Для отдельной таблицы с адресами можно использовать блокировки для предупреждения возникновения условий гонок.
В принципе все правильно, есть пара уточнений, фрирадиус умеет хранить выданные ip, таблица по дефолту называется у него radutmp.
Выдавать динамические IP следует если от радиуса не пришел ip, из пула прописанного на самой циске, а после этого радиус дергает скрипт который вызывает урфу, помоему это можно натравить штатными средствами радиуса на старт аккаунтинг пакет.

Ответить