Jump to content
Калькуляторы

MPD5 + netflow ng_netflow

Всем доброго времени суток, значит у меня следующий вопрос.

Хотел собирать статистику с 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?

Share this post


Link to post
Share on other sites

Всем доброго времени суток, значит у меня следующий вопрос.

Хотел собирать статистику с mpd5, но при встроенных настройках:

 

Вы на каком интерфейсе хотите считать траффик?

на общем? или на каждом абонентском ng* ?

или достаточно сделать выборку на общем интерфейсе по конкретным ip из коллектора netflow ?

Share this post


Link to post
Share on other sites

Слушать на всех интерфейсах - думаю та же ошибка что и при встроенный настройках нетфлоу в mpd5.

Мне достаточно выбрать из src address 10.10.10.0/24 и 10.10.11.0/24.

Share this post


Link to post
Share on other sites

Если ната нет, то слушать и собирать статистику с внешнего интерфейса.

Если есть нат, то придется извращаться со съемом статистики со всех или не некоторых ng*

Share this post


Link to post
Share on other sites

а что за статистика вам нужна? зачем именно нетфлоу?

Share this post


Link to post
Share on other sites

а что за статистика вам нужна? зачем именно нетфлоу?

 

 

Послущал бы тех кому она не нужна.

Share this post


Link to post
Share on other sites

Да просто считаю кол-во трафика проходящего.

Есть нат - в этом вся беда. То есть со всех 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 by GrandPr1de

Share this post


Link to post
Share on other sites

Да просто считаю кол-во трафика проходящего.

количество трафика есть в атрибутах radius accounting

Плюс по запросу абонента можно включить подробное логирование всех посещений сайтов и прочего, типо кто\куда ходил.

ну если так любите абонентов, то и правда необходим нетфлоу. =)

Не проканает так?

проканает. еще можно вместо указания адресов использовать in recv 'ng*' и out xmit 'ng*'

 

а что за статистика вам нужна? зачем именно нетфлоу?

Послущал бы тех кому она не нужна.

статистика бывает разная, поэтому я уточнил. если достаточно общего объема - хватит стандартного радиус-аккаунтинга. еще бывает нужда в посервисном аккаунтинге, мпд и это умеет. ну а если нужна именно детализация, то да, приходится использовать нетфлоу. все дело в том что первые два вида статистики практически "бесплатные" с точки зрения расхода ресурсов и простоты настройки. =)

Share this post


Link to post
Share on other sites

Хм, а вот о радиус акаутинге подробнее пожалуйста! :)

У меня радиус используется (Freeradius) может чего не досмотрел в настройках.

Edited by GrandPr1de

Share this post


Link to post
Share on other sites

Хм, а вот о радиус акаутинге подробнее пожалуйста! :)

У меня радиус используется (Freeradius) может чего не досмотрел в настройках.

Если вам просто нужно считать объем трафика, то используйте атрибуты mpd-input-octets и mpd-output-octets. Добавьте эти атрибуты в радиус и поле. http://mpd.sourceforge.net/doc5/mpd37.html

Share this post


Link to post
Share on other sites

Если вам просто нужно считать объем трафика, то используйте атрибуты 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

Share this post


Link to post
Share on other sites

Если вам просто нужно считать объем трафика, то используйте атрибуты 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

Это да) Но как правило есть локальные ресурсы, которые не хотелось бы считать .

Share this post


Link to post
Share on other sites

так это как раз посервисный аккаунтинг =)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this