Нужно создать систему учёта трафика. Для этого я использовал ipcad, который через ULOG принимает данные с iptables. Всё хорошо. На выделенных линиях. Проблема начинается, когда появляются пользователи с сеансовым доступом (ppp). ipcad по запросу отдаёт статистику "скопом". Мне нужно, что бы при отключении пользователя снялись его данные и занеслись в pgsql.
Я написал скрипт ip-down на perl, в котором присутствует следующее:
system "rsh 127.0.0.1 clear ip accounting";
my @data = `rsh 127.0.0.1 sh ip accounting checkpoint`;
Далее идёт обработка полученных данных.
Теперь представим ситуацию: Подключены 2 пользователя, один отключается. Срабатывает скрипт ip-down, который выполняет первую команду. Данные зафиксированы и готовы к приёму второй командой. В этот момент отключается второй пользователь и его скрипт так же посылает команду clear ip accounting. Соответственно данные подготовленные первым скриптом - утрачены безвозвратно.Подскажите, правильно ли я понял логику работы ipcad и если всё понял правильно, то как мне обойти этот камень?
А зачем по сеансовому доступу снимать трафик, если бы это был доступ в инет по всяким тунелям и прочему через ppp до еще да, а если даилап то непотребно это.
А парсить лог ppp не пробовал. Там вроде и логины есть и время и трафик.
>А зачем по сеансовому доступу снимать трафик, если бы это был доступ
>в инет по всяким тунелям и прочему через ppp до еще
>да, а если даилап то непотребно это.
>А парсить лог ppp не пробовал. Там вроде и логины есть и
>время и трафик.Ты сам ответил на этот вопрос: Есть кабельная сеть Ethernet, часть юзверей которой сидят на постоянном подключении (белые IP-адреса, доступ из-вне, etc.) А есть пользователи, которые подключаются через pptp. Для них так же нужен учёт по трафику, а так как мне нужно делить по локальному/внешнему трафику, мне нужно знать - кто куда ходил. Кроме того, они (клиенты подключающиеся по pptp) часто начинают шкнить - откуда у меня такой трафик взялся?
Поставь себе nibs (www.nibs.net.ua) он умеет работать как с VPN так и с NAS
>Поставь себе nibs (www.nibs.net.ua) он умеет работать как с VPN так и
>с NASНе вариант. многое из того, что мне нужно, nibs делать не умеет. Поэтому я остановился именно на самостоятельном написании программы. Если удастся победить вышеописанную проблему, то большего мне не надо.
Видимо опять придётся обращаться к автору ipcad'а...
>>Поставь себе nibs (www.nibs.net.ua) он умеет работать как с VPN так и
>>с NAS
>
>Не вариант. многое из того, что мне нужно, nibs делать не умеет.
>Поэтому я остановился именно на самостоятельном написании программы. Если удастся победить
>вышеописанную проблему, то большего мне не надо.
>Видимо опять придётся обращаться к автору ipcad'а...а радиус не пробовал? много вкусного можно реализовать ....
>а радиус не пробовал? много вкусного можно реализовать ....Расскажи, как в радиусе разделить трафик на локальный и внешний?
Он считает скопом - принято/передано байт.
>my @data = `rsh 127.0.0.1 sh ip acco`;
>system "rsh 127.0.0.1 clear ip accounting";Думаю потерь будет намного меньше.