Jump to content

Recommended Posts

Posted

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

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

Posted

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

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

 

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

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

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

Posted

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

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

Posted (edited)

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

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

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

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

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

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

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

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

 

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

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

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

Posted

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

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

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

Posted

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

Posted

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

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

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.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.