|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Lev Walkin 2:5020/400 24 Jan 2002 06:02:39 To : Alexander Kolesnikoff Subject : Re: RADIUS + [ hardware NAS | software NAS] -------------------------------------------------------------------------------- Полагаю, тут множество народу этим занималось (занимается), но просто отвечать всем лень. Потому что статистика показывает, что все равно все всё сами пишут. Так как ТЗ у всех хоть немного, но различается, а попытка сделать универсальность проваливается в дыры, называемые "коммерческая реализация". То есть, за деньги. Alexander Kolesnikoff wrote: > Кому как, а мне система с отслеживанием в реальном времени > активности клиентов и связанного с этим вычисления остатка денег > на счету, сбрасыванием линии, если баланс = 0, не нравится в принципе. > Моё решение: вычислять значение аттрибута Session-Timeout один > раз, при входе клиента в систему, с учётом смены тарифных планов > во время сеанса связи. Вычислять остаток на счету клиента один раз, > по окончанию сеанса связи. Всё это должен делать радиус. А вот теперь посмотри на эту схему и подумай: что будет, если в систему войдет _два_ или больше клиентов? Если они войдут примерно одновременно, то они могут уйти в минус достаточно далеко. > Какие будут мнения ? 1. Стадия авторизации. Есть скрипт или более навернутое решение (как вариант, _модуль_ в AAA демоне), который смотрит на остаток на счете. Если остаток отрицателен, не дает клиенту авторизоваться. Иначе, далее. 2. Стадия разбора аккаунтинга. Делается программа, которая сидит постоянно в памяти (daemon, типа), и принимает информацию от внешних агентов, кто к системе подключился, на какой линии, etc. Агенты - это такие "tail -f"'образные программы, которые парсят файлы аккаунтинга (radius, tacacs). При приходе пользователя они сообщают демону об этом эвенте. Демон лезет в базу и смотрит на остаток на счете. Вычисляет, сколько пользователю еще можно работать, и запоминает статус в памяти. Если пришел пользователь, уже сидящий в памяти, то остаток перераспределяется между существующими пользователями, и каждый пользователь получает скорректированное время. По истечение этого времени демон запускает сшибалку пользователя. Эта схема имеет одно большое преимущество перед теми, которые основаны на кормлении железок байками о том, когда надо скидывать пользователя. Преимущество такое, что можно одновременно обслуживать неограниченное число (или ограничивать произвольной величиной) пользователей, заходящих в систему под одним логином. P.S. Посмотри libcost на http://www.spelio.net.ru/soft/#LIBCOST - это для посекундной тарификации с учетом различных тарифных планов. -- Lev Walkin vlm@netli.com --- ifmail v.2.15dev5 * Origin: Netli, Inc. (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/3550fcf7a82a.html, оценка из 5, голосов 10
|