URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 52717
[ Назад ]

Исходное сообщение
"freeradius и radutmp"

Отправлено harlan , 25-Янв-05 09:52 
У меня для аутентификации клиентов используется FreeRadius.
При аутентификации я использую атрибут Simultaneous-Use:=1, для того, что бы более один клиент не открывал кучу сессий. Если я правильно понял, то freeradius "смотрит" информацию об активных аккаунтах из файла radutmp. К сожалению, иногда не проходят стоп-пакеты и аккаунт "подвисает" - юзер отключился но в radutmp он присутствует и при следующей аутентификации клиента отшивает с диагностикой "Вы уже зарегистрированы".
Клиенты и аккаунтинг у меня ведётся в базе postgresql.
Вопрос: Возможно ли избавиться от radutmp, чтобы учёт активных аккаунтов вёлся в таблице postgresql?

Содержание

Сообщения в этом обсуждении
"freeradius и radutmp"
Отправлено DrDiesel , 25-Янв-05 10:37 
Можно, в конфиге все прозрачно в коментах расписано.
Но смысл?
Если не пришел стоп-пакет, то подвисшая сессия точно так же останется и в базе.
Тут надо либо Alive пакеты от NAS'а обрабатывать, но я не в курсе как с этим делом у freeradius, либо скриптом опрашивать NAS (например посредством snmp) и проверять какие пользователи действительно на нем сидят.



"freeradius и radutmp"
Отправлено harlan , 25-Янв-05 10:54 
>Можно, в конфиге все прозрачно в коментах расписано.
>Но смысл?
Смысл такой, что NAS и FreeRadius работают на разных машинах, и базу я могу подправить ручками с NAS, а доступа к radutmp с машины NAS я не имею. В результате придётся городить всё, что ты описал (aliv-пакеты, snmp, etc.).


"freeradius и radutmp"
Отправлено DrDiesel , 25-Янв-05 11:04 
>>Можно, в конфиге все прозрачно в коментах расписано.
>>Но смысл?
>Смысл такой, что NAS и FreeRadius работают на разных машинах, и базу
>я могу подправить ручками с NAS, а доступа к radutmp с
>машины NAS я не имею. В результате придётся городить всё, что
>ты описал (aliv-пакеты, snmp, etc.).

Ну если проблема только в том как отключить radutmp и держать активные сессии только в базе, то тут все просто. В секции accounting комментируем все, что относится к radutmp и дописываем sql.

Оно?

accounting {
#       radutmp
#       sradutmp
        sql
}


"freeradius и radutmp"
Отправлено harlan , 25-Янв-05 11:22 
>accounting {
>#       radutmp
>#       sradutmp
>        sql
>}

А в какой таблице оно это хранит?


"freeradius и radutmp"
Отправлено DrDiesel , 25-Янв-05 11:25 
>А в какой таблице оно это хранит?

radacct

Ссессии с нулевым AcctStopTime и есть активные юзеры.



"freeradius и radutmp"
Отправлено Beginner , 25-Янв-05 13:07 
>У меня для аутентификации клиентов используется FreeRadius.
>При аутентификации я использую атрибут Simultaneous-Use:=1, для того, что бы более один
>клиент не открывал кучу сессий. Если я правильно понял, то freeradius
>"смотрит" информацию об активных аккаунтах из файла radutmp. К сожалению, иногда
>не проходят стоп-пакеты и аккаунт "подвисает" - юзер отключился но в
>radutmp он присутствует и при следующей аутентификации клиента отшивает с диагностикой
>"Вы уже зарегистрированы".
>Клиенты и аккаунтинг у меня ведётся в базе postgresql.
>Вопрос: Возможно ли избавиться от radutmp, чтобы учёт активных аккаунтов вёлся в
>таблице postgresql?


А как ты используешь Simultaneous-Use:=1? Я как ни бился, не могу подтянуть из базы этот параметр.


"freeradius и radutmp"
Отправлено DrDiesel , 25-Янв-05 13:24 
>А как ты используешь Simultaneous-Use:=1? Я как ни бился, не могу подтянуть
>из базы этот параметр.

А никак не использую, нет такой необходимости.
Но видимо стоит посмотреть вот сюда

session {
        radutmp
        sql
#       nibs
}

плюс поковырять checkrad.pl, ну и зачитать внимательно файлец Simultaneous-Use из доки


"freeradius и radutmp"
Отправлено harlan , 25-Янв-05 13:52 
>А как ты используешь Simultaneous-Use:=1? Я как ни бился, не могу подтянуть из базы этот параметр.
Просто в дефолтовых параметрах у меня стоит одна из пар Simultaneous-Use:=1
FreeRadius 0.9.3 из поставки Alt Linux Master 2.2 Ничего напильником не обрабатывал. Работает.


"freeradius и radutmp"
Отправлено bakichi , 27-Янв-05 09:32 
>У меня для аутентификации клиентов используется FreeRadius.
>При аутентификации я использую атрибут Simultaneous-Use:=1, для того, что бы более один
>клиент не открывал кучу сессий.

А как добиться того же эффекта, если аутентификация не использует базу, а берет имя/пароль из etc/passwd?