GrandPr1de Posted July 10, 2014 · Report post Всем доброго времени суток, значит у меня следующий вопрос. Хотел собирать статистику с mpd5, но при встроенных настройках: set netflow peer localhost 42111 set netflow timeouts 15 1800 set netflow version 5 mpd создает (вроде бы) по две ноды на каждое соединение, что в последствии сказалось очень негативно на системе. А точнее зависания в ноль, даже на консоль не реагирует. Так вот, накопал я значит такой скрипт, что б сделать одну ноду для всего этого дела, только вот не очень всё это понимаю. #!/bin/sh . /etc/rc.subr name="ngnetflow" rcvar=`set_rcvar` load_rc_config $name : ${ngnetflow_enable="NO"} : ${ngnetflow_src="0.0.0.0:5525"} : ${ngnetflow_dst="x.x.x.x:5525"} start_cmd="ngnetflow_start" stop_cmd="ngnetflow_stop" ngnetflow_start() { /usr/sbin/ngctl -f- <<-SEQ mkpeer ipfw: netflow 65534 iface0 name ipfw:65534 netflow connect ipfw: netflow: 65533 out0 msg netflow: setdlt { iface=0 dlt=12 } msg netflow: settimeouts { inactive=30 active=600 } mkpeer netflow: ksocket export inet/dgram/udp name netflow:export flow-sensor msg flow-sensor: bind inet/${ngnetflow_src} msg flow-sensor: connect inet/${ngnetflow_dst} SEQ } ngnetflow_stop() { /usr/sbin/ngctl -f- <<-SEQ shutdown netflow: SEQ } run_rc_command "$1" Сбор netflow у меня крутится на 127.0.0.1 42111. Фаер ipfw - закрытый и one_pass=1. 12002 3781569113 4420058264690 pipe tablearg ip from any to table(4) out xmit ng* 12003 2808798647 559876657184 pipe tablearg ip from table(3) to any in recv ng* В инет абоненты выпускаются после прохода по этим правилам. Правильно ли я понимаю, что мне нужно завернуть их в нетграф ноду непосредственно перед прохождением этих правил? И поправить ngnetflow_dst - на 127.0.0.1:42111? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted July 10, 2014 · Report post Всем доброго времени суток, значит у меня следующий вопрос. Хотел собирать статистику с mpd5, но при встроенных настройках: Вы на каком интерфейсе хотите считать траффик? на общем? или на каждом абонентском ng* ? или достаточно сделать выборку на общем интерфейсе по конкретным ip из коллектора netflow ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted July 10, 2014 · Report post Слушать на всех интерфейсах - думаю та же ошибка что и при встроенный настройках нетфлоу в mpd5. Мне достаточно выбрать из src address 10.10.10.0/24 и 10.10.11.0/24. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted July 10, 2014 · Report post Если ната нет, то слушать и собирать статистику с внешнего интерфейса. Если есть нат, то придется извращаться со съемом статистики со всех или не некоторых ng* Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
boco Posted July 10, 2014 · Report post а что за статистика вам нужна? зачем именно нетфлоу? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
apm Posted July 10, 2014 · Report post а что за статистика вам нужна? зачем именно нетфлоу? Послущал бы тех кому она не нужна. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted July 10, 2014 (edited) · Report post Да просто считаю кол-во трафика проходящего. Есть нат - в этом вся беда. То есть со всех ng* нельзя просто по срц\дст айпи собрать статистику? Плюс по запросу абонента можно включить подробное логирование всех посещений сайтов и прочего, типо кто\куда ходил. Ну в скрипте не вижу привязку к интерфейсу. Если указать просто неявно в ipfw: ipfw add netgraph\ngtee ip from 10.10.10.0/24 to any in ipfw add netgraph\ngtee ip from any to 10.10.10.0/24 out Не проканает так? Edited July 10, 2014 by GrandPr1de Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
boco Posted July 10, 2014 · Report post Да просто считаю кол-во трафика проходящего. количество трафика есть в атрибутах radius accounting Плюс по запросу абонента можно включить подробное логирование всех посещений сайтов и прочего, типо кто\куда ходил. ну если так любите абонентов, то и правда необходим нетфлоу. =) Не проканает так? проканает. еще можно вместо указания адресов использовать in recv 'ng*' и out xmit 'ng*' а что за статистика вам нужна? зачем именно нетфлоу? Послущал бы тех кому она не нужна. статистика бывает разная, поэтому я уточнил. если достаточно общего объема - хватит стандартного радиус-аккаунтинга. еще бывает нужда в посервисном аккаунтинге, мпд и это умеет. ну а если нужна именно детализация, то да, приходится использовать нетфлоу. все дело в том что первые два вида статистики практически "бесплатные" с точки зрения расхода ресурсов и простоты настройки. =) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted July 10, 2014 (edited) · Report post Хм, а вот о радиус акаутинге подробнее пожалуйста! :) У меня радиус используется (Freeradius) может чего не досмотрел в настройках. Edited July 10, 2014 by GrandPr1de Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
roysbike Posted July 12, 2014 · Report post Хм, а вот о радиус акаутинге подробнее пожалуйста! :) У меня радиус используется (Freeradius) может чего не досмотрел в настройках. Если вам просто нужно считать объем трафика, то используйте атрибуты mpd-input-octets и mpd-output-octets. Добавьте эти атрибуты в радиус и поле. http://mpd.sourceforge.net/doc5/mpd37.html Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
boco Posted July 12, 2014 · Report post Если вам просто нужно считать объем трафика, то используйте атрибуты mpd-input-octets и mpd-output-octets. Добавьте эти атрибуты в радиус и поле. http://mpd.sourceforge.net/doc5/mpd37.html не, ну это перебор для просто "считать объем". =) есть же стандартные Acct-Input-Octets/Acct-Output-Octets, Acct-Input-Gigawords/Acct-Output-Gigawords Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
roysbike Posted July 12, 2014 · Report post Если вам просто нужно считать объем трафика, то используйте атрибуты mpd-input-octets и mpd-output-octets. Добавьте эти атрибуты в радиус и поле. http://mpd.sourceforge.net/doc5/mpd37.html не, ну это перебор для просто "считать объем". =) есть же стандартные Acct-Input-Octets/Acct-Output-Octets, Acct-Input-Gigawords/Acct-Output-Gigawords Это да) Но как правило есть локальные ресурсы, которые не хотелось бы считать . Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
boco Posted July 12, 2014 · Report post так это как раз посервисный аккаунтинг =) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted July 13, 2014 · Report post Спасибо за ответы, будем экспериментировать :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...