Jump to content

Recommended Posts

Posted

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

ifconfig eth0 up

ifconfig eth0 promisc

 

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

 

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

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

 

 

 

 

  • Replies 545
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

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

 

Posted
С каталиста миррорится трафик (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

Posted
>например pmacct

 

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

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

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

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

Posted

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

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

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

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

 

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

 

Posted

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

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

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

Posted (edited)

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

 

 

На днях пришлось работать с 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
Posted
У меня исправно работает на 2.6.30.4

 

>iptables -A FORWARD -s 1.1.1.1 -j NETFLOW

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

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

 

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

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

 

Posted

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

 

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

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

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

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

 

Posted (edited)

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

 

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
Posted (edited)

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

 

Не в ядре. В 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
Posted (edited)

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

 

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

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

Edited by TiFFolk
Posted (edited)
Для сбора netflow под линуксом надо использовать только супер быстрый nProbe, работающий через TNAPI+PFRING.
Чем не устраивает ipt_NETFLOW? Как может решение, которое гоняет каждый пакет (пусть даже только заголовки) в юзерспейс, производительней чисто kerel-based решения?

 

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

Edited by Умник
Posted (edited)
Чем не устраивает ipt_NETFLOW? Как может решение, которое гоняет каждый пакет (пусть даже только заголовки) в юзерспейс, производительней чисто kerel-based решения?

 

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

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

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

Posted

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

  • 3 weeks later...

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 и с Политикой конфиденциальности.