RH 2.4.20+roaringpenguin PPPoE сервер
Проблема следующая: когда клиент коненктится через PPPoE ему выделяется всегда один и тот-же IP, надо логить соединения с этого IP на адреса инета + порты.
Без PPPoE(просто через NAT) у меня считается все прекрасно по интерфейсу ipcad'ом. НО ipcad'у нужно указывать iface на котором считать, пробывал: устанавливаю PPPoE соединение, ipcad'у говорю считать на ppp1, всё прекрасно считается. Но PPPoE же каждый раз будет создавать новые ppp*???
(Или не будет?)
Пробую ULOG в iptables там пишется 10.0.0.1(iface PPPoE)-192.168.10.1(ip клиента)-какие-то левые порты-байты. Тут всё бы хорошо, но нужны-то инетовские адреса и их порты........
Ну вообщем как бы решить эту проблему?
Вот тут ещё заметил на сайте ipcad'а: "Dynamic interfaces (PPP, VPN) support", что имеется в виду?
Может если ipcad'у прописать:
interface ppp1;
interface ppp2;
....
interface ppp200;
он их динамически подцеплять будет?
Люди, ну что никто трафик не считает?
Даже идей ни у кого нет????
При поднятии ppp можешь передать в ipcad интерфейс?
>При поднятии ppp можешь передать в ipcad интерфейс?Могу. Идея понятна: перенастраивать ipcad "на лету", тока этот вариант крив тем, что в момент перезагрузки ipcad'a будут теряться пакеты что ессно не хорошо, ведь при хотябы 100 переконекчивающихся клиентах теряться их будет ох как много...
А в ipcad ничего не дампится?
>А в ipcad ничего не дампится?
??? Т.е. в его область памяти прям подбрсывать? Ну может у можно, но разработчиком вроде не придусмотрено.....
>Но PPPoE же каждый раз будет создавать новые ppp*???
Тока что проверил, так и есть делает новые ppp...
зараза.... :)
Написал автору ipcad, может что посоветует....
Так, вообщем осталось 2 варианта:
1) "Рефреш" конфиги ipcad "на лету". Минус - можем нехило терять пакеты.
2) rp-pppoe собстно тока "редиректор" на pppd, а pppd позволяет передавать себе адрес сервера, т.е. если заставить rp-pppoe передавать для каждого клиента свой ip-адрес сервера, то можно будет всё это считать через iptables->ulog->ipcad по ip-адресу "сервера".
Минусы:
1) Переделывать rp-pppoe
2) Нужно в два раза больше ip-адресов.
3) Не влазит в концепцию: pppoe+pppd даёт канал,а подсчёт не их дело.Мдя, не сладко... Жду любых предложений....
>Мдя, не сладко... Жду любых предложений....Гхм.. Я в свое время для учета трафика на ppp интерфейсах использовал fprobe - libpcap'ная netflow probe. Имя интерфейса для нее передавалось посредством ip-up, глушилась - посредством ip-down. Травила статистику на коллектор. Я так думаю, что посредством этих скриптов можно или rule в iptables совать, или еще чего-нибудь делать... К сожалению, не знаком с ipcad - может быть там все иначе? :)
Вот у меня вся коллекторная часть биллинга заточена под Cisco IP Accounting (для ipcad'a и собстно кисок), так может переписать всё к чёртовой матери под NetFlow и юзать NeTraMet??? Мда.... Вообщем уже крыша начинает потихоньку уезжать....
>Вот у меня вся коллекторная часть биллинга заточена под Cisco IP Accounting
>(для ipcad'a и собстно кисок), так может переписать всё к чёртовой
>матери под NetFlow и юзать NeTraMet??? Мда.... Вообщем уже крыша начинает
>потихоньку уезжать....Может быть ну его, netramet этот? Я бы flow-tools порекомендовал на тот случай, если крыша совсем уедет, и все будет таки переписано под netflow, к этой самой матери? :)
Можно и их, тока колектор под PC всё равно нужен....
>Можно и их, тока колектор под PC всё равно нужен....
Дык flow-tools - это и есть коллектор.
Точно, до конца не прочитал.....
Ща посмотрю что умеет в применении к моей ситуции.....
>Точно, до конца не прочитал.....
А вот и нет, я под "коллектор" имеел в виду "генератор" netflow потока из lipcap напрмер.
>>Точно, до конца не прочитал.....
>А вот и нет, я под "коллектор" имеел в виду "генератор" netflow
>потока из lipcap напрмер.Ну так бы сразу и сказал :) в качестве генератора можно попробовать fprobe - http://fprobe.sourceforge.net. Или, если собирать под freebsd, то там есть netflow под netgraph - http://sourceforge.net/projects/ng-netflow/. Правда, во freebsd на pppd забили, по ходу...
Именно fprobe, я просмотрел списочек вот отсюда http://www.dore.ru/perl/nntp.pl?f=1&gid=21&mid=102739&p=3 вроде самый прикольный.
_______________________
Итого резюме по моей проблеме на данный момент:
1) Весь биллинг перевожу на NetFlow
2) Кисы-кошками, PC-рутеры-fprobe
3) Собирать потоки: flow-tools
4) Для PPPoE(PPPd) в скриптах ip-up&ip-down: запуск/kill fprobe
Это заодно решит все проблемы если PPPoE будут терминировать кошки.
А под фрибсд есть такая штука?
>А под фрибсд есть такая штука?
Кокая? :) http://www.dore.ru/perl/nntp.pl?f=1&gid=21&mid=102739&p=3
Спасибо, она портирована
Я не нашел в описании, трафик любой проходящий регистрируется или как в сisco только входящий?
>Я не нашел в описании, трафик любой проходящий регистрируется или как в
>сisco только входящий?
Поидее должна весь. Щас ставлю буду смотреть.
>>Я не нашел в описании, трафик любой проходящий регистрируется или как в
>>сisco только входящий?
>Поидее должна весь. Щас ставлю буду смотреть.
Угу... Еще фильтровать можно. fprobe можно задавать фильтры, как tcpdump.
>Угу... Еще фильтровать можно. fprobe можно задавать фильтры, как
>tcpdump.Не работает, гад, запускается, висит, ресурсы хавает но ничего не шлёт, сволочь.... Но я его домучаю! :))))))
Кому интересно: ipcad заставить считать на ppp* интерфейсах элементарно: где в его конфиге,например:
interface eth0;
interface eth1;
interface eth2;
interface ppp0;
все эти строчки надо заменить на одну:
interface any;
и всё само подхватывается! :))))
Так что проверю точность подсчёта и если всё ОК, тогда переход на NetFlow откладываю! :)
А как ты видишь что не шлет. Надо коллектором попробовать собрать, тогда видно будет.
>А как ты видишь что не шлет. Надо коллектором попробовать собрать, тогда
>видно будет.
можно просто tcpdump'ом послушать
>можно просто tcpdump'ом послушать
Именно, вот tcpdump ничего и не слышит, и на локалхосте и на разных машинах.
У меня тоже ничего не видно!
все видно, но как то посылает не ругуляно, по-умолчанию написано 5 сек, а шлет то 5 то 10 то полторы минуты, ставил -s30 таже история
пробовал -r не помогает
как заставить эту штуку регулярно посылать скажем каждые 30 сек?
>RH 2.4.20+roaringpenguin PPPoE сервер
>Проблема следующая: когда клиент коненктится через PPPoE ему выделяется всегда один и
>тот-же IP, надо логить соединения с этого IP на адреса инета
>+ порты.
>Без PPPoE(просто через NAT) у меня считается все прекрасно по интерфейсу ipcad'ом.
>НО ipcad'у нужно указывать iface на котором считать, пробывал: устанавливаю PPPoE
>соединение, ipcad'у говорю считать на ppp1, всё прекрасно считается. Но PPPoE
>же каждый раз будет создавать новые ppp*???
>(Или не будет?)
>Пробую ULOG в iptables там пишется 10.0.0.1(iface PPPoE)-192.168.10.1(ip клиента)-какие-то левые порты-байты. Тут
>всё бы хорошо, но нужны-то инетовские адреса и их порты........
>Ну вообщем как бы решить эту проблему?Проблема решается в 6 секунд,
pppoe pppd+radius, и собствено все
потом в базе радиуса будут все данные о трафике за каждую сессиию
Автору надо кто, куда и когда ходил. а не только трафик
Посмотри в сторону ulog-acctd. Все коннекты валятся в лог (кто-куда-скоко), потом элементарно, перловым скриптом обрабатываешь.
все что тебе нужно я например делаю на ФРЕ ))) для PPPoE можешь использовать MPD ))) я юзаю его для создания PPTP соединений ))) Вся авторизация соединений проходит через связку MPD + FreeRADIUS + MySQL ))) Дело в том что MPD бросает в MySQL только количество байт прошедших через соединение ))) Это нам не подходит ))) я стал использовать IPACCTD ))) статистику IPACCTD заношу в MySQL perl-скриптами ))) за счет того что IPACCTD работает через IPFW я могу разделять трафик на 3 категории ))) локальний трафик ))) региональный трафик ))) интернет трафик ))) данные IPACCTD имеют формат src_ip : dst_ip : bytes : packets : time ))) можно выводить и порты ))) но на мощном канале и с пользователями которые что-то сканируют или пользуются e-donkey и т.п. софтом получается туча строк которые будут лежать в MySQL ))) Короче у меня тут и тарифные планы и карточная система и веб для этого хозяйства ))) если заинтересует кого то мыльте на pakypc@yahoo.com )))P.S. ))) это не улыбки ))) это знаки препинания ))) привычка такая )))
Ребята есть поиск, я уже писал что юзаю ppoe+ulog+свойпарсер...
Отлично все складывается и агрегируется...
Какие у вас проблемы... Недавно, благодаря изучению конфов радиусовских, сделал модуль для отключения при отрицательном балансе...
>Ребята есть поиск, я уже писал что юзаю ppoe+ulog+свойпарсер...
>Отлично все складывается и агрегируется...
>Какие у вас проблемы... Недавно, благодаря изучению конфов радиусовских, сделал модуль для
>отключения при отрицательном балансе...
а как ? При помощи sql_counter