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

Исходное сообщение
"учёт трафика"

Отправлено bash , 07-Ноя-05 18:16 
вобщем ситуация:
есть циса 17-ая, на ней поднят сервер pppoe c аутентификацией на внешнем радиус-сервере... alive пакеты отсылает на радиус с периодичность 1 раз в минуту...
на сервере используеться freeradius, всё лежит в базе mysql...
люди аутентифицируются без проблем, качают потом что надо и не надо...
статистика по трафику в базу слаживаеться...

вопрос: как использовать эту статистику ? т.е. выставить пользователям лимиты по трафику, при превышении сбрасывать сессию (пока могу скидывать тока вручную по snmp). и еще: даже если юзер ничего не качает - циса обмениваеться с ним пакетами (вроде lcp), этот трафик тоже попадает в базу (т.е. если юзер просто провисит на соединении и ничего не будет качать - у него просто может кончиться лимит))), как сделать, чтоб эти пакеты не считались ?

надеюсь на помощь ! запарился доки рыть...

P.S. готовые решения ввиде бесплатных билингов не предлагать )
P.P.S. надеюсь разберете, что я тут понаписал )


Содержание

Сообщения в этом обсуждении
"учёт трафика"
Отправлено Beginner , 08-Ноя-05 23:07 
>вобщем ситуация:
>есть циса 17-ая, на ней поднят сервер pppoe c аутентификацией на внешнем
>радиус-сервере... alive пакеты отсылает на радиус с периодичность 1 раз в
>минуту...
>на сервере используеться freeradius, всё лежит в базе mysql...
>люди аутентифицируются без проблем, качают потом что надо и не надо...
>статистика по трафику в базу слаживаеться...
>
>вопрос: как использовать эту статистику ? т.е. выставить пользователям лимиты по трафику,
>при превышении сбрасывать сессию (пока могу скидывать тока вручную по snmp).
>и еще: даже если юзер ничего не качает - циса обмениваеться
>с ним пакетами (вроде lcp), этот трафик тоже попадает в базу
>(т.е. если юзер просто провисит на соединении и ничего не будет
>качать - у него просто может кончиться лимит))), как сделать, чтоб
>эти пакеты не считались ?
>
>надеюсь на помощь ! запарился доки рыть...
>
>P.S. готовые решения ввиде бесплатных билингов не предлагать )
>P.P.S. надеюсь разберете, что я тут понаписал )

Насчет lcp точно не помню, но по-моему они к конечный биллинг не попадают (по крайней мере у меня на линуксовом рррое сервере).
Лимиты выставлять можно при установлении сессии. В радиусе существуют соответствующие атрибуты. Под линуксом они описаны следующим образом:

# Limit session traffic
ATTRIBUTE       Session-Octets-Limit    227     integer
# What to assume as limit - 0 in+out, 1 in, 2 out, 3 max(in,out)
ATTRIBUTE       Octets-Direction        228     integer



"учёт трафика"
Отправлено leon , 13-Дек-05 17:05 
А как срубаете пользователя по SNMP вручную?

"учёт трафика"
Отправлено bash , 14-Дек-05 12:08 
>А как срубаете пользователя по SNMP вручную?


#!/usr/bin/perl

$ip = 1.1.1.1 #например
$ifnumber=`snmpget -v1 -Ov 172.26.87.4 -c public2 .1.3.6.1.2.1.4.21.1.2.$ip`;
$ifnumber=~ m/\d+/;
$ifnumber="$&";
`snmpset -v1 -c public2 172.26.87.4 1.3.6.1.2.1.2.2.1.7.$ifnumber i 2 > /dev/null 2>&1`;