Эта копия темы, которая вчера была начата на другом канале, но я решил перенести ее сюда, может здеь люлди более активно прореагируют...
Может быть, все это - не скромная затея, но тем не менее...
Вот тут выскальзывали темы про подсчет трафика (зачастую вопрос стоял конкретно про выбор по), которые скорее ставили вопросы, чем давали определенность.
Так вот, предлагаю всем жедающим скооперироваться над неспешным некомерческим проектом системы подсчета трафика (вот так я развлекаюсь). В первую очередь нужны идеи по функциональности. Кодить и я смогу, но, конечно и тут пригодилось бы.Первый вопрос, САМЫЙ ГЛАВНЫЙ: откуда брать данные? Варианты: 1) ставить соответствующие правила iptables и оттуда снимать показания (самый простой и точный - iptables. Если ему не верить, тогда кому вообще можно?!) и 2) писать свой брандмауэр или NAT - что-то не хочется. Какие еще предложения?
Второй: где хранить результаты? Но, это потом, и не так уж важно.
Это копия нити, которая была вчера начата на другом канале, но я решил ее перенисти сюда, может здесь люди более активно прореагируют...Я как-то спрашивал про аутентификацию компов, самый дельный ответ был про сквид. Я так и делаю, но параллельно пишу свою прогу - клиентская часть висит во всех компах и отсылает соотв пароли серверу, который ставит\запрещает нужные правила iptables. Почти доделал. Можно и это увязать в один проект. Будет такой здоровый комбайн.
Еще вариант (самый извращенный): добавить туда вэб сервер (миниатюрный), чтобы клиенты могли видеть статистику. Аллюзия на Webmin.Я представляю, как все это писать, не переживайте. Дело только во времени (хе-хе, в длинном предлинном времени).
Жду не дождусь ответов.
А почему свой firewall писать или nat?
Как по мне, так firewall нужен для ограничения полномочий, обеспечения безопасности, но никак не для подсчета траффика, хотя часто и это он умеет.Ну а как же BPF??? Или более продвинутый проект - PCAP ? :)
Что касается PCAP, так это очень дельная штука, есть для никсов и для окон.Ну и так далее... :)
Вот уже писал про рсар: да, очень мощная штука, только нет уверености, что ВСЕ пакеты передадутся ядром к нам.
Хочу тест-драйв провести: n процессов ловят пакеты какое-то кол-во времени. Потом сравниваются результаты.
Дойдут руки - сделаю.
>Вот уже писал про рсар: да, очень мощная штука, только нет уверености,
>что ВСЕ пакеты передадутся ядром к нам.
>Хочу тест-драйв провести: n процессов ловят пакеты какое-то кол-во времени. Потом сравниваются
>результаты.
>Дойдут руки - сделаю.
Умозрительно я не разделяю подобных опасений, особенно по части Linux.
Но допустим не все пакеты передаются процессу. А сколько не передаётся?
Из 1000 один? два? десять? Откуда возьмётся большее число? Но это 1%
пакетов. Из своего опыта я знаю, что средний размер пакета остаётся
весьма постоянным (и он очень маленький, несколько десятков байт).
Значит, с рубля будем терять 1 копейку, причём, всегда в меньшую сторону.
Тогда, нужно мерить трафик не в мегабайтах, а в пойманных мегабайтах.
Это будет просто означать, что в периоды времени, когда мы теряем много
пакетов, у нас подскакивают цены на 1%.
>Эта копия темы, которая вчера была начата на другом канале, но я
>решил перенести ее сюда, может здеь люлди более активно прореагируют...
>Может быть, все это - не скромная затея, но тем не менее...
>
> Вот тут выскальзывали темы про подсчет трафика (зачастую
>вопрос стоял конкретно про выбор по), которые скорее ставили вопросы, чем
>давали определенность.
> Так вот, предлагаю всем жедающим скооперироваться над неспешным
>некомерческим проектом системы подсчета трафика (вот так я развлекаюсь). В первую
>очередь нужны идеи по функциональности. Кодить и я смогу, но, конечно
>и тут пригодилось бы.
>
> Первый вопрос, САМЫЙ ГЛАВНЫЙ: откуда брать данные? Варианты:
>1) ставить соответствующие правила iptables и оттуда снимать показания (самый простой
>и точный - iptables. Если ему не верить, тогда кому вообще
>можно?!) и 2) писать свой брандмауэр или NAT - что-то не
>хочется. Какие еще предложения?
> Второй: где хранить результаты? Но, это потом, и
>не так уж важно.
>Это копия нити, которая была вчера начата на другом канале, но я
>решил ее перенисти сюда, может здесь люди более активно прореагируют...
>
> Я как-то спрашивал про аутентификацию компов, самый дельный
>ответ был про сквид. Я так и делаю, но параллельно пишу
>свою прогу - клиентская часть висит во всех компах и отсылает
>соотв пароли серверу, который ставит\запрещает нужные правила iptables. Почти доделал. Можно
>и это увязать в один проект. Будет такой здоровый комбайн.
> Еще вариант (самый извращенный): добавить туда вэб сервер
>(миниатюрный), чтобы клиенты могли видеть статистику. Аллюзия на Webmin.
>
> Я представляю, как все это писать, не переживайте.
>Дело только во времени (хе-хе, в длинном предлинном времени).
>
> Жду не дождусь ответов.все зависит от того какие обьемы траффика будет прокачиваться
в большинстве случаев хватит настроеного VPNиногда бывают задачи в которых нужен full-time коннект для leased line
тогда настраиваеться iptables or ipfw и с них снимаеться статистика
как раз недавно пересекался с этой проблемой.
для себя (оффис ~30 компьютеров) выбрал связку netacct-mysql + mysql с нативным веб интерфейсом NetStat (это смежный с первым проект, а не встроенная утилита ;)). очень и очень хорошия впечатления. получаем сводную таблицу локальный, городской, внутри страны, международный. почасовая-поIPшная статистика. простое конфигурирование, доступный веб-интерфейс (для админа и пользователя).
конечно, необходимо учитывать, что логирование идет по IP и если используются динамические адреса, то такой вариант не пойдет. тогда можно предложить еще два варианта, в зависимости от разновидностей траффика. если идет только веб (http,https,ftp,icq), то можно использовать squid с забросом логов в ту же mysql для их последубщего отображения пользователям. если же траффик разнообазный, то, по-моему, ответ однозначный VPN (FreeBSD - mpd, Linux - pptpd).
удачи.
>как раз недавно пересекался с этой проблемой.
>для себя (оффис ~30 компьютеров) выбрал связку netacct-mysql + mysql с нативным
>веб интерфейсом NetStat (это смежный с первым проект, а не встроенная
>утилита ;)). очень и очень хорошия впечатления. получаем сводную таблицу локальный,
>городской, внутри страны, международный. почасовая-поIPшная статистика. простое конфигурирование, доступный веб-интерфейс (для
>админа и пользователя).
>конечно, необходимо учитывать, что логирование идет по IP и если используются динамические
>адреса, то такой вариант не пойдет. тогда можно предложить еще два
>варианта, в зависимости от разновидностей траффика. если идет только веб (http,https,ftp,icq),
>то можно использовать squid с забросом логов в ту же mysql
>для их последубщего отображения пользователям. если же траффик разнообазный, то, по-моему,
>ответ однозначный VPN (FreeBSD - mpd, Linux - pptpd).
>удачи.Прикол в том, что человек хочет свое ))) хы
Привет,Мне тоже как-то захотелось что-то свое... результат:
1. База данных MySQL, таблица с записью IP каждого юзера. На старте инициализируем по одному правилу подсчета для каждого юзера.
2. Раз в 5 минут читаем счетчики, обнуляем, пишем в другой таблице MySQL, реферирую первую таблицу по id юзера.
3. Раз в некоторое время Х (у меня - сутки) обобщаем резултаты первой таблицы трафика и агрегируем во второю, затем стираем данные из первой, чтоб не выросла до огромных размеров.
4. Затем развиваем успех до космических масштабов:
- ставим отдельные счетчики по международному и peer трафику
- ставим tc+htb и делаем каждому юзеру свою shaper.
- пишем уеб интерфейс для администрации
- рисуем графики трафика
- ставим MAC+IP авторизацию юзеров...Вам скучно не будет :)
WWell,