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

ipt_NETFLOW

С каталиста миррорится трафик (monitor session) На интерфейс линукс машины.

ifconfig eth0 up

ifconfig eth0 promisc

 

Какой командой iptables направить этот трафик в цепочку NETFLOW ?

 

iptables -A INPUT -i eth0 -j NETFLOW - не канает.

iptables -A FORWARD -i eth0 -j NETFLOW - тоже не канает....

 

 

 

 

Share this post


Link to post
Share on other sites
Почитайте файлик README.promisc в дистрибутиве ipt_NETFLOW.
У мненя, кстати, не получилось как там написано. Пропатчил нужное место, перекомпилил ядро, включил promisc на интерфейсе, а счетчики на правиле в raw все раано не растут. пробовал на ядрах 2.6.31 и 2.6.26.

 

Share this post


Link to post
Share on other sites
С каталиста миррорится трафик (monitor session) На интерфейс линукс машины.

ifconfig eth0 up

ifconfig eth0 promisc

 

Какой командой iptables направить этот трафик в цепочку NETFLOW ?

 

iptables -A INPUT -i eth0 -j NETFLOW - не канает.

iptables -A FORWARD -i eth0 -j NETFLOW - тоже не канает....

глупый вопрос , а зачем такой изврат ?

 

Может лучше взять правильный софт, например pmacct ? Данный продукт может слушать на интерфейсе (в промиск режиме использую libpcap)и на весть этот трафик генерить netflow

Share this post


Link to post
Share on other sites
>например pmacct

 

А от гигабита не помрет ?

fprobe например - укладывает 4 ядра под 100%%

ну у них на сайте есть рекомендации по оптимизации как ядра так и libpcap. А вообще думаю что разница будет не особо велика если вы попатаетесь через iptables делать.

Так что думаю вас спасет только тест :)

Share this post


Link to post
Share on other sites

Чтобы избежать потерь трафика и лишних копирований трафика между ядром и процессами, нужно собрать libpcap с использованием сокета PF_RING. См. http://www.ntop.org/PF_RING.html

Edited by photon

Share this post


Link to post
Share on other sites

Попробовал pmacct.

Выяснилось, что в сравнении с ipt_NETFLOW он генерит, слишком подробные flow.

Например у меня flow-capture собирает 15-минутными кусками. от ipt_NETFLOW эти куски по 50-70 Мб

А от pmacct по 100-150 Мб.

 

Как попросить pmacct суммировать flow "по плотнее" ?

 

Share this post


Link to post
Share on other sites

сами мучались с этим ipt_NETWLOW и умные люди подсказали, что работает только на 31 ядре пришлось откотиться с 32

+ там еще пару загагулинок

я админа попрошу отписаться тут с подробностями

Share this post


Link to post
Share on other sites

Если кому поможет данный пост, благодарите Романа.

 

 

На днях пришлось работать с ipt-netflow, куча граблей вот выложил описание по установке.

Советую использовать ядро 2.6.31 (на других версиях ядра у меня модуль не собрался (32 включительно) ) и ту версию модуля которая выложена по вышеприведенной ссылке.

 

До сего момента в такой сборке все работает как надо.

 

Какой командой iptables направить этот трафик в цепочку NETFLOW ?

 

iptables -A INPUT -i eth0 -j NETFLOW - не канает.

iptables -A FORWARD -i eth0 -j NETFLOW - тоже не канает....

iptables -A FORWARD -s 1.1.1.1 -j NETFLOW

iptables -A FORWARD -s 1.1.1.1 -j ACCEPT

 

iptables -L -n -v

 

519 60575 NETFLOW all -- * * 1.1.1.1 NETFLOW

519 60575 ACCEPT all -- * * 1.1.1.1

Edited by hub00

Share this post


Link to post
Share on other sites

У меня исправно работает на 2.6.30.4

 

>iptables -A FORWARD -s 1.1.1.1 -j NETFLOW

Трафик не попадает в таблицу filter если это не роутер.

"Умник" правильно написал. README.promisc ответ тут.

 

Share this post


Link to post
Share on other sites
У меня исправно работает на 2.6.30.4

 

>iptables -A FORWARD -s 1.1.1.1 -j NETFLOW

Трафик не попадает в таблицу filter если это не роутер.

"Умник" правильно написал. README.promisc ответ тут.

 

У меня на 26.х,29.х,30.х,32 не заработало (х - точно не скажу). Это мой опыт и еще одного человека.

Не ну хорошо если у тебя на 30 собралось.

 

Share this post


Link to post
Share on other sites

Я правил исходники ipt_Netflow для 2.6.30.4

 

В общем потестил pmacct:

На гигабите - Xeon "лег" намертво.

Как и c fprobe. Те же яйца - только в профиль. Слишком много "user mode"...

Та же машина но с ipt_Netflow, поток 1Г загрузка 1%

 

Share this post


Link to post
Share on other sites
Я правил исходники ipt_Netflow для 2.6.30.4

А что редактировал в ядре? Чтоб знать.

Share this post


Link to post
Share on other sites

У меня работает не жалуюсь

 

uname -r

2.6.30.5

 

Качал:

cvs -d :pserver:anonymous@ipt-netflow.cvs.sourceforge.net:/cvsroot/ipt-netflow co ipt_netflow

 

СТавил:

./configure --ipt-ver=1.4.5 --ipt-bin=/sbin/iptables --ipt-src=./iptables --ipt-lib=/lib/xtables

make all install

 

Ни чего не редактировал и не патчил.

Edited by nickD

Share this post


Link to post
Share on other sites

>А что редактировал в ядре? Чтоб знать.

 

Не в ядре. В ipt_Netflow.

Потом эти изменения внесли в CVS

 

#include <linux/sysctl.h>

#endif

 

+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)

+/*

+ * Display an IP address in readable format.

+ */

+

+#define NIPQUAD(addr) \

+ ((unsigned char *)&addr)[0], \

+ ((unsigned char *)&addr)[1], \

+ ((unsigned char *)&addr)[2], \

+ ((unsigned char *)&addr)[3]

+#define NIPQUAD_FMT "%u.%u.%u.%u"

+

+#define NIP6(addr) \

+ ntohs((addr).s6_addr16[0]), \

+ ntohs((addr).s6_addr16[1]), \

+ ntohs((addr).s6_addr16[2]), \

+ ntohs((addr).s6_addr16[3]), \

+ ntohs((addr).s6_addr16[4]), \

+ ntohs((addr).s6_addr16[5]), \

+ ntohs((addr).s6_addr16[6]), \

+ ntohs((addr).s6_addr16[7])

+#define NIP6_FMT "%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x"

+#define NIP6_SEQFMT "%04x%04x%04x%04x%04x%04x%04x%04x"

+

+#if defined(__LITTLE_ENDIAN)

+#define HIPQUAD(addr) \

+ ((unsigned char *)&addr)[3], \

+ ((unsigned char *)&addr)[2], \

+ ((unsigned char *)&addr)[1], \

+ ((unsigned char *)&addr)[0]

+#elif defined(__BIG_ENDIAN)

+#define HIPQUAD NIPQUAD

+#else

+#error "Please fix asm/byteorder.h"

+#endif /* __LITTLE_ENDIAN */

+#endif

+

#define IPT_NETFLOW_VERSION "1.6"

 

MODULE_LICENSE("GPL");

@@ -1312,7 +1349,9 @@

goto err_free_netflow_slab;

}

proc_stat->proc_fops = &nf_seq_fops;

+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)

proc_stat->owner = THIS_MODULE;

+#endif

printk(KERN_INFO "netflow: registered: /proc/net/stat/ipt_netflow\n");

#endif

Edited by Ivan Rostovikov

Share this post


Link to post
Share on other sites

может кому то готовый ебилд для сборки из цвс дать?

Share this post


Link to post
Share on other sites

Для сбора netflow под линуксом надо использовать только супер быстрый nProbe, работающий через TNAPI+PFRING.

 

Стоит порядка 450 баксов как донейт, исходники открые, но не в свободном доступе, если кто купит, готов взять на себя часть суммы,а кредитки нет у меня.

Можем скинуться группой.

Edited by TiFFolk

Share this post


Link to post
Share on other sites
Для сбора netflow под линуксом надо использовать только супер быстрый nProbe, работающий через TNAPI+PFRING.
Чем не устраивает ipt_NETFLOW? Как может решение, которое гоняет каждый пакет (пусть даже только заголовки) в юзерспейс, производительней чисто kerel-based решения?

 

P.S.: Или вы говорите о коллекторе (не об агенте) Netflow?

Edited by Умник

Share this post


Link to post
Share on other sites
Чем не устраивает ipt_NETFLOW? Как может решение, которое гоняет каждый пакет (пусть даже только заголовки) в юзерспейс, производительней чисто kerel-based решения?

 

P.S.: Или вы говорите о коллекторе (не об агенте) Netflow?

Nprobe может использоваться по-всякому: и как коллектор, и как агент. Там используется специальный сокет для чтения пакетов из ядра без копирования. Кстати, было бы интересно сравнить производительность nProbe и ipt_netflow.
Edited by photon

Share this post


Link to post
Share on other sites
http://www.nmon.net/shop/

 

nProbe 5.x [unix] 99.95 Euro

nProbe 5.x Professional [Linux] 199.95 Euro

 

Где там 450?

TNAPI 1Gbit [Linux] 199.95

nProbe 5.x Professional [Linux] 199.95 Euro

 

Обсчитался немного.

Share this post


Link to post
Share on other sites

Ядро 2.6.31, ipt_NETFLOW из svn, трафик около 600 мбит на каталисте 3750 миррорил порт, делал как написано в README.promisc. Все работает на ура, загрузка CPU 2-3%

Share this post


Link to post
Share on other sites

Народ , а такой интересный вопрос , а как ipt_netflow отнесется если замиррорить трафик с mpls метками ? Сможет ли оно пережевать это, хотя бы просто сорвав метки и обработав чистый ip пакет

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