On 02/15/2010 01:23 AM, Artem Chuprina wrote:
Люди местные, сами мы недобрые... А расскажите, кто чем считает трафик и потом анализирует насчитанное. Интересует примерно следующая модель использования. Есть сеть, довольно развесистая, аж о двух роутерах (один роутит подсети внутренней сети и в DMZ, а другой из DMZ наружу). Внешний роутер маскарадит (и сам тоже малость генерирует трафик). Внутренняя сеть на VLAN'ах, и есть OpenVPN. Что хочется получить. В любой момент под рукой должна быть сводная информация вида "кто пожрал канал" - Top несколько пожирателей канала. Статистика (можно переключаемо вручную): за последние сутки-двое (с детализацией по часам), неделю (с детализацией приблизительно по времени дня), за пару месяцев (с детализацией по дням). Детализацию удобно было бы видеть графиками. Поскольку у внешнего роутера может быть более одного внешнего интерфейса, хорошо бы уметь увидеть статистику, касающуюся только одного из них. Заинтересовавшие вхождения нужно иметь возможность быстро и удобно (с точки зрения интерфейса) увидеть с аналогичным подходом (Top несколько, с детализацией) по: протоколам (в понимании IP, т.е. ICMP/UDP/TCP/что-там-еще-бывает), хостам (с кем в основном обменивался пакетами заинтересовавший меня наш внутренний хост), внутри протоколов TCP/UDP - по портам. Собственно, задачи, которые хочется решать: - сколько мы пожрали трафика за отчетный перед провайдером период - кто пожрал внешний канал - чем он его пожрал (трояна словил, за ненужными апдейтами ломанулся мимо родного WSUS'а, торрент торрентит, и т.п.) - где узкие места в локальной сети При этом на роутерах софта должно быть по минимуму - особенно софта, слушающего какие-то соединения. Категорически отказать апачу, а за выполнение aptitude install php<что-угодно> на роутере у нас применяется корпоративный расстрел на месте. На машине, которая показывает результаты админу или начальнику, можно и пыхпых. Поскольку внешний роутер маскарадит, то, вероятно, снимать надо ULOG'ом. pcap'ом либо его собственный внешний трафик не увидишь, либо детализацию по внутренним адресам не получишь. Насколько я понимаю, мейнстрим формата съема на одной машине с обработкой на другой - это NetFlow. Но если со снималкой для него вроде все понятно - fprobe-ulog, остальные ulog-варианты не умеют NetFlow, то вот с дальнейшей обработкой и визуализацией хотелось бы почитать мнение тех, кто этих устриц ел.
Мда, живут же люди... у меня все гораздо проще:Две внутренних сети (~100 машин), обе включены в один роутер, имеющий выход в мир и выход к сервакам на коллокейшене отдельно. Роуты разводятся iproute, стандартно. Подсчет трафика - pmacct, пищущий в мускуль (ip, mac, source ip, dest ip, протокол, порт, объем и кол-во пакетов). Данные pmacctd кеширует и сбрасывает в таблицу раз в пять минут. Авторизации, по сути, никакой - по ip, и раз в неделю я прогоняю скриптик на предмет несоответствия маков ip, дабы наказать особо умных. Есть прозрачный squid, там же. Раз в день данные за день чистятся и группируются по принципу пользун-хост-порт (перловым скриптом) и заносятся в таблицу истории. Сумма за день инкрементится в свойствах пользователя. Раз в 10 минут другой скрипт проверяет, сколько пользователь использовал, если перебор - банит его iptables, оставляя только корп. мыло и аську. Без ежедневного упрощения статистики в месяц (~15 гб трафа, мы нищеброды) текущая таблица имела 2-3 миллиона записей и объем в полтора гигабайта, что отрицательно влияло на производительность банилки, потому ввел ежедневое подведение итогов. Начальству, по сути, интересен не список портов и ip, а лог сквида с группировкой по домену (сей лог парсится раз в 30 мин, чистится и кладется в мускуль). Есть некий интерфейс ко всему этому на php. Понимаю, что местами через задницу, но оно работает, а на корню менять не хочется.
Недавно в сторонней организации, занимающейся транспортом на WiFI, увидел роутеры (специальные девайсы на ARM) под управлением Mikrotik RouterOS (урл не дам, но гуглится легко - у сволочи прова умер прокси). Сия ось - жутко погрызанный BSD, около 30 метров, есть сборка под x86, может грузиться с флешки/харда и заточена под роутерные нужды, есть отдельный удаленный гуй для настройки и снятия статистики. Сама ось дает шейпинг и маршрутизацию, возможно и кеширование HTTP. Гуй - графики и разноцветных пользователей по длине очереди (суть загрузке канала). Только вот сумму сама считать и логи вести не особо любит - во встроенной железке просто мозгов нет. Думаю попробовать заюзать, а статистику снимать по snmp и скармливать mrtg. Минус - ось платная. Впрочем, лицензия покупается единоразово, недорого. Сам Mikrotik Router - около 80-100 баксов с доставкой по почте, это три eth и два miniPci под вайфай, плюс лицензия на ось. Вот.