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

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

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.