Страница 1 из 1

ng_netflow

СообщениеДобавлено: 26 мар 2009, 09:49
orachimary
Господа поделитесь конфигом или подскажите как написать. Мне нужно собирать статистику в формате netflow с FreeBSD роутера. С правилами никак определиться не могу. Нужно чтобы считалось и входящий. и исходящий трафик. На сервере 2-е сетевые карты, одна на провайдера смотрит, другая в сеть. И еще нужно чтобы нетфлоу экспортировался на два сервера. Заранее большое спасибо

Re: ng_netflow

СообщениеДобавлено: 26 мар 2009, 10:50
root
а почему именно в этом формате ?

Re: ng_netflow

СообщениеДобавлено: 26 мар 2009, 10:56
orachimary
биллинг только его понимает

Re: ng_netflow

СообщениеДобавлено: 26 мар 2009, 17:01
root

Re: ng_netflow

СообщениеДобавлено: 11 сен 2009, 14:00
orachimary
В общем написал такие правила.

/usr/sbin/ngctl mkpeer dc0: tee lower left
/usr/sbin/ngctl connect dc0: dc0:lower upper right
/usr/sbin/ngctl mkpeer dc0:lower one2many left2right many0
/usr/sbin/ngctl connect dc0:lower.left2right dc0:lower many1 right2left
/usr/sbin/ngctl name dc0:lower.right2left o2m
/usr/sbin/ngctl mkpeer o2m: netflow one iface0
/usr/sbin/ngctl name o2m:one netflow
/usr/sbin/ngctl mkpeer netflow: hub export one
/usr/sbin/ngctl name netflow:export netflow0
/usr/sbin/ngctl mkpeer netflow0: ksocket two inet/dgram/udp
/usr/sbin/ngctl msg netflow0:two connect inet/ipbillinga:9996
/usr/sbin/ngctl mkpeer netflow0: ksocket three inet/dgram/udp
/usr/sbin/ngctl msg netflow0:three connect inet/ipbillinga:9996

Сервер на котором находятся эти правила, работает как бордер. Т.е. один интерфейс подключен к провайдеру, а второй dc0 смотрит в локалку. Хотел вам уважаемые спросить, а все ли у меня верно написано? и не будет ли трафик дублироваться?

Re: ng_netflow

СообщениеДобавлено: 11 сен 2009, 14:55
folio
Если только 2 интерфейса, то по-моему попроще можно слепить:
Код: Выделить всё
ngctl mkpeer dc0: tee lower left
ngctl connect dc0: dc0:lower upper right
ngctl mkpeer dc0:lower netflow left2right iface0
ngctl name dc0:lower.left2right netflow
ngctl msg netflow: setifindex { iface=0 index=4 }
ngctl mkpeer netflow: ksocket export inet/dgram/udp
ngctl msg netflow:export connect inet/ipbillinga:9996


{ iface=0 index=4 }- индекс интерфейса (http://www.opennet.ru/base/cisco/ng_netflow4.txt.html)

вроде так должно работать, зачем разбивать на 2 потока?
Код: Выделить всё
/usr/sbin/ngctl mkpeer netflow0: ksocket two inet/dgram/udp
/usr/sbin/ngctl msg netflow0:two connect inet/ipbillinga:9996
/usr/sbin/ngctl mkpeer netflow0: ksocket three inet/dgram/udp
/usr/sbin/ngctl msg netflow0:three connect inet/ipbillinga:9996

Re: ng_netflow

СообщениеДобавлено: 11 сен 2009, 15:04
folio
Код: Выделить всё
/usr/sbin/ngctl mkpeer netflow0: ksocket two inet/dgram/udp
/usr/sbin/ngctl msg netflow0:two connect inet/ipbillinga:9996
/usr/sbin/ngctl mkpeer netflow0: ksocket three inet/dgram/udp
/usr/sbin/ngctl msg netflow0:three connect inet/ipbillinga:9996


Если на разные сервера нужна статистика, то может тогда попробовать слать одно и тоже на разные сервера:
Код: Выделить всё
ngctl mkpeer netflow: ksocket export inet/dgram/udp
ngctl msg netflow:export connect inet/ipbillingAAAA:9996
ngctl msg netflow:export connect inet/ipbillingBBBB:9996


Есть подозрения что в твоем случае статистика будет немного отличаться...

Re: ng_netflow

СообщениеДобавлено: 12 сен 2009, 11:23
orachimary
ЭЭЭ.... прошу прощения, а как статистика будет различаться??? А на два потока почему разбил, потому что да, действительно нужно было на 2-а сервера отправлять статистику. И еще - это правильно что у меня статистика собирается только с одного интерфейса? (dc0 - который смотрит в локалку)

Re: ng_netflow

СообщениеДобавлено: 14 сен 2009, 13:52
folio
ЭЭЭ.... прошу прощения, а как статистика будет различаться???

Я лишь предположил, что будет различаться. Т.к. скрипт последовательно выполняется, то сообщение mkpeer netflow0 будет генерироваться 2 раза в разное время (хотя разница будет несущественной).
По поводу второго вопроса:
с появлением хука out стало возможно брать статистику с одного интерфейса. К сожалению, затестить эту схему не могу, но думаю работать она должна. Затестите и отпишитесь, вот еще 1 пример под вашу схему:
Код: Выделить всё
mkpeer  dc0:  netflow  lower  iface0
name  dc0:lower  netflow
connect  netflow:  dc0:  iface1  upper
connect  netflow:  netflow:  out0  out1
mkpeer  netflow:  ksocket  export  inet/dgram/udp
name  netflow:export  ksocket
msg  ksocket:  connect  inet/ipbillinga:9996

http://www.opennet.ru/base/cisco/ng_netflow4.txt.html

Re: ng_netflow

СообщениеДобавлено: 14 сен 2009, 18:13
orachimary
Дело в том, что такая схема у меня уже работает. Успешно скармливаю статистику биллингу NetUp. Просто думал может какие то подводные камни имеются. В любом случае спасибо за ответы. Да кстати, еще пробывал ndsad. Вроде тоже пашет. Правда не знаю на сколько эффективно на больших нагрузках.