Стоит бридж между роутером раздающим инет и свичом(коммутатором). В идеале планируется:
1. Лог трафика идущего в инет и из инета.
2. Ежедневный(ежеминутный) учет трафика по внутренним айпишникам с возможностью предупреждения и отключения в случае перерасхода дневной квоты.
3. Полная прозрачность, т.е. сетевые адаптеры без IP адресов, я так предполагаю это максимально затруднит взлом бриджа.Выбор пал на ulogd с расширением mysql. К сожалению у меня не получилось заставить работать его на ebtables, данные снимаются с iptables. Ebtables ругался на отсутствие модуля ulog, подгрузить его не удалось, вываливается с ошибкой -1(не достаточно памяти). Я так понимаю надо пересобирать ядро(ebtables) с поддержкой, пока не хочу с этим ковыряться, так как не уверен что ulog решит мои проблемы. Даже если удастся связать ulogd с ebtables, объем логов получается довольно большой и для ежеминутного подсчета расхода дневной нормы железо нужно помощнее.
Натолкнулся на ipt-account, он вроде как создает файл в который сбрасывает статистику по расходу трафика, этот файл можно потом анализировать с помощью скриптов. Но проблема в том, что для работы ipt-account тоже нужно патчить ядро, а в этом я не особо силен. В итоге, конечно, если других вариантов не будет, я разберусь, но пока пытаюсь идти по пути наименьшего сопротивления.
В данный момент изучаю debian wiki раздел network monitoring, но чувствую что зарываюсь, теряю нить рассуждения. Слишком много информации приходится вкуривать.
В связи с этим вопрос - Может ктонибудь подскажет есть готовое решение под ebtables, которое скидывает данные по трафику в отдельный файл, который можно парсить. Например как ipt-account http://code.google.com/p/ipt-account/wiki/Usage
> Выбор пал на ulogd с расширением mysql. К сожалению у меня не
> получилось заставить работать его на ebtables, данные снимаются с iptables. EbtablesКак это не покажется странным, данные, проходящие через мост, попадают и в iptables^W netfilter.
Пиши что-нибудь вроде "-i br0 -o br0" и/или какие-нибудь из опций --physdev-***.
> Как это не покажется странным, данные, проходящие через мост, попадают и в
> iptables^W netfilter.+= ", если ядро не старше 2.6.24-rc$чего-то или типа того"
был похожий опыт - я сделал так:
правда была freebsd но не суть1) 2 интерфейса объединяются в bridge(т.е. это будет прозрачный L2-линк)
у нас была куча виланов - поэтому подинтерфейсы делились по виланам2) статичтика снималается на одном из 2х интерфейсов(на любом) утилитой умеющей слушать интерфейс и экспортить трафик в netflow-поток(например softflowd) - который уже отправляется на биллинг
3) по команде билинга файлвол на данной машине начинает фигурное вырезать трафик если трафик начинает кончаться у клиента
всё писал и настраивал самостоятельно(включая биллинг:) )