Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Boris Samorodov                      2:5020/400     13 Apr 2004  13:40:50
 To : Cyrill Malevanov
 Subject : Re: MPD+Billing
 -------------------------------------------------------------------------------- 
 
 Hi!
 
 Cyrill Malevanov <Cyrill.Malevanov@f790.n5030.z2.fidonet.org> wrote:
 
 CM> 10 Апр 04, Kosha wrote to Cyrill Malevanov:
  CM>>  DF>>> Такая схема не решает проблемы сброса юзеров
  CM>>  K>> Да... Я сам пишу замену RADIUS-Accounting'у для этого...
  CM>>> С аккаунтингом проблем нет. А вот со сбросом - есть.
  K>> Он у меня и сбрасывать умеет...
 CM> Как?
 
 Как раз по теме. Пытаюсь написать небольшую документацию к патчу
 для mpd. Текст ещё сыроват. Прежде чем выставлять на всеобщее
 обозрение и пользование, хотелось представить её All'у.
 
 - --- patch.README ---
 Краткое описание патча для mpd-3.17,
 MD5 (mpd-3.17-drop-user-1.diff) = dbd2fef170949b5890c4f77f1a9ced48
 размер файла 7075.
 I. Общие замечания.
 
 1. Сам патч расположен по адресу:
 
 ftp://ftp.ufanet.ru/pub/boco/mpd-3.17-drop-user-1.diff
 
 Автор: Damir Bikmuhametov aka boko.
 
 2. Все дополнительные возможности, предоставляемые патчем, независимы
 друг от друга. Если нужна только часть его функций -- редактируйте
 патч. Код достаточно прозрачный.
 II. Возможности.
 1. Корректная выдача ip-адреса клиенту в случае, если mpd настроен на
 получение его от радиуса, а радиус-сервер не высылает параметр
 Framed-IP-Address. Оригинальная версия mpd в таком случае выдаёт
 клиенту ip-адрес 0.0.0.0. Что ведёт к невозможности установления
 связи.
 2. Возможность отсылать Accounting-Update на радиус сервер не только
 по времени, но и в зависимости от объёма принятого и/или переданного
 трафика. По умолчанию параметры update-limit-out и update-limit-in
 равны 0. Если в mpd.conf задать ненулевые значения:
   set radius update-limit-out X
   set radius update-limit-out Y
 (где X, Y -- трафик в байтах)
 то при наступлении очередного времени формирования acct-update,
 проверяется условие превышения лимитов. В случае не
 превышения лимитов update не формируется.
 Смысл: не перегружать радиус и его логи.
 
 BUG: При следующем сформированном и отправленном acct-update
 в логе mpd появляется запись:
 -----
 Apr 12 17:27:41 srv mpd: [<name>] RADIUS: RadiusGetParams: WARNING no MPPE-Keys 
 received, MPPE will not work 
 -----
 MPPE на самом деле работает. Причину появления этой строки автор
 обещает устранить в следующей версии патча.
 3. Hазначение ppp node имени типа "mpd-<name>" вместо "mpd<pid>-name".
 Поскольку длина имени netgraph node ограничена 15 символами, а
 стандартное обозначение ppp node состоит из "mpdNNNNN-pptpXX",
 то более 99 нод создать нельзя. Патч позволяет обойти эту проблему.
 4. Завершение сеанса связи, если радиус-сервер прислал vendor-specific
 аттрибут 154. Значение атрибута 0 -- продолжение сеанса, 1 -- завершение.
 В словарь dictionary.mpd (VENDOR mpd 12341) добавляются строки:
 
 -----
 ATTRIBUTE  Drop-User  154     integer     mpd
 VALUE     Drop-User   No   0
 VALUE     Drop-User   Yes     1
 -----
 III. Mini-HOW-TO
 1. Update limits
 
 При включённых update limits можно ставить достаточно маленький
 временной интервал acct-update и устанавливать требуемые
 update-limits-[in]|[out]. Внутренняя статистика в mpd в любом
 случае срабатывает один раз в минуту. Поэтому, добавив строку
   set radius update 60
 работы mpd абсолютно не прибавится. Разве что на сравнение
 с установленными лимитами.
 
 Конкретные значения лимитов для всех, конечно, разные. Hо начальные
 значения от 100000 до 1000000 мне кажутся вполне разумными. Далее
 анализируйте результаты и изменяйте значения. Вплоть до индивидуальных
 лимитов для отдельных абонентов.
 2. Drop-User
 
 Для того, чтобы mpd сбросил линк, радиус-сервер должен прислать
 этот самый аттрибут со значением "Yes". Hо, вероятно, формирование
 такого пакета -- дело не самого радиуса, а биллинговой системы,
 которая стоит за ним.
 
 В этой системе обрабатываются ACCT пакеты трёх типов: Start,
 Stop, Update. Stop в данном контексте не интересен. При
 Start-пакете используются другие методы определения
 возможности начала сессии. Поэтому имеет смысл рассматривать
 только Update-пакеты.
 
 При достижении лимитов достаточно в пакет,
 предназначенный для отправки ответа радиусу, добавить
 необходимую пару с оператором "=". Что-то типа такого:
   Hовая_пара = Создать_пару("Drop-User", "Yes", T_OP_EQ);
   Добавить_пару(Указатель_на_пары, Hовая_пара);
 
 Hа моём стенде установлен freeradius-0.9.3, freenibs-0.0.3-bf3.
 патч, позволяющий использовать сброс пользователя:
 --------
 - --- rlm_nibs.c.orig  Mon Apr 12 22:27:58 2004
 +++ rlm_nibs.c Tue Apr 13 01:01:41 2004
 @@ -1139,6 +1139,8 @@
               radlog(L_INFO, querystr);
               if (nibs_error != NULL) free(nibs_error);
               nibs_user_kill(inst, request);
 +             pair = pairmake("Drop-User", "Yes", T_OP_EQ);
 +                 pairadd(&request->packet->vps, pair);
           }
            }
  
 --------
 
 Boris Samorodov aka bsam
 - --- README ended ---
 
 CM>    WBR, Cyrill
 
 WBR
 -- 
 bsam
 --- ifmail v.2.15dev5.3
  * Origin: InPharmTech (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 MPD+Billing   Andrey Silvestrov   06 Apr 2004 20:06:01 
 Re: MPD+Billing   Kosha   07 Apr 2004 01:01:47 
 Re: MPD+Billing   Dmitriy Feldman   07 Apr 2004 06:35:23 
 Re[2]: MPD+Billing   Kosha   07 Apr 2004 13:34:04 
 Re: Re[2]: MPD+Billing   Cyrill Malevanov   08 Apr 2004 03:02:06 
 Re: MPD+Billing   Andrey Shirshov   08 Apr 2004 10:09:30 
 Re: MPD+Billing   Boris Samorodov   08 Apr 2004 11:52:49 
 Re: MPD+Billing   Andrey Shirshov   08 Apr 2004 11:59:56 
 Re: MPD+Billing   Cyrill Malevanov   08 Apr 2004 13:48:55 
 Re: MPD+Billing   Boris Samorodov   08 Apr 2004 15:55:48 
 Re: Re[2]: MPD+Billing   Ivan Voytas   08 Apr 2004 12:16:23 
 Re: MPD+Billing   Boris Samorodov   08 Apr 2004 12:54:12 
 Re: MPD+Billing   Ivan Voytas   08 Apr 2004 13:16:17 
 MPD+Billing   Denis Sotchenko   12 Apr 2004 00:02:19 
 Re: MPD+Billing   Ivan Voytas   08 Apr 2004 13:26:01 
 Re: MPD+Billing   Boris Samorodov   08 Apr 2004 16:02:00 
 Re: MPD+Billing   Ivan Voytas   08 Apr 2004 16:35:39 
 Re: MPD+Billing   Boris Samorodov   08 Apr 2004 17:58:19 
 Re[2]: MPD+Billing   Andrey Silvestrov   08 Apr 2004 23:21:42 
 Re: MPD+Billing   Victor Sudakov   10 Apr 2004 20:00:35 
 Re[2]: MPD+Billing   Denis Sotchenko   12 Apr 2004 00:04:17 
 Re: MPD+Billing   Andy Bogdanov   12 Apr 2004 16:22:35 
 MPD+Billing   Denis Sotchenko   13 Apr 2004 12:34:10 
 Re: MPD+Billing   Andy Bogdanov   14 Apr 2004 15:23:47 
 Re[2]: MPD+Billing   Alexander Shevchenko   13 Apr 2004 04:11:35 
 Re[4]: MPD+Billing   Kosha   10 Apr 2004 01:12:51 
 Re: Re[4]: MPD+Billing   Cyrill Malevanov   11 Apr 2004 13:44:45 
 Re[6]: MPD+Billing   Kosha   11 Apr 2004 16:37:47 
 Re: Re[6]: MPD+Billing   Cyrill Malevanov   11 Apr 2004 21:29:07 
 Re[8]: MPD+Billing   Kosha   12 Apr 2004 00:17:34 
 Re: MPD+Billing   Gleb Smirnoff   12 Apr 2004 01:34:11 
 Re[2]: MPD+Billing   Kosha   12 Apr 2004 03:49:11 
 Re[4]: MPD+Billing   Pavel Astakhov   13 Apr 2004 10:38:14 
 Re: MPD+Billing   Gleb Smirnoff   13 Apr 2004 13:51:18 
 Re: MPD+Billing   Boris Samorodov   13 Apr 2004 13:40:50 
 Re: MPD+Billing   Boris Samorodov   13 Apr 2004 14:03:03 
 Re: MPD+Billing   Boris Samorodov   13 Apr 2004 14:09:14 
 Re: MPD+Billing   Cyrill Malevanov   13 Apr 2004 02:37:09 
 Re: MPD+Billing   Boris Samorodov   14 Apr 2004 11:59:15 
 Re: MPD+Billing   Gleb Smirnoff   14 Apr 2004 12:08:38 
 Re: MPD+Billing   Boris Samorodov   14 Apr 2004 13:21:03 
 MPD+Billing   Andrey Silvestrov   07 Apr 2004 12:13:46 
 Re: MPD+Billing   Cyrill Malevanov   08 Apr 2004 13:01:47 
 MPD+Billing   Andrey Silvestrov   09 Apr 2004 11:56:23 
 Re: MPD+Billing   Dmitriy Feldman   10 Apr 2004 08:31:40 
 Re: MPD+Billing   Cyrill Malevanov   11 Apr 2004 13:43:10 
 Re: MPD+Billing   Boris Samorodov   07 Apr 2004 11:45:42 
 Re: MPD+Billing   Alexander Burylov   09 Apr 2004 10:00:27 
Архивное /ru.unix.bsd/4442c1b52a21.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional