Ivan Rostovikov Posted January 14, 2010 С каталиста миррорится трафик (monitor session) На интерфейс линукс машины. ifconfig eth0 up ifconfig eth0 promisc Какой командой iptables направить этот трафик в цепочку NETFLOW ? iptables -A INPUT -i eth0 -j NETFLOW - не канает. iptables -A FORWARD -i eth0 -j NETFLOW - тоже не канает.... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Умник Posted January 14, 2010 Почитайте файлик README.promisc в дистрибутиве ipt_NETFLOW. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Алексей Андриянов Posted January 14, 2010 Почитайте файлик README.promisc в дистрибутиве ipt_NETFLOW.У мненя, кстати, не получилось как там написано. Пропатчил нужное место, перекомпилил ядро, включил promisc на интерфейсе, а счетчики на правиле в raw все раано не растут. пробовал на ядрах 2.6.31 и 2.6.26. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
orlik Posted January 14, 2010 С каталиста миррорится трафик (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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan Rostovikov Posted January 14, 2010 >например pmacct А от гигабита не помрет ? fprobe например - укладывает 4 ядра под 100%% Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
orlik Posted January 15, 2010 >например pmacct А от гигабита не помрет ? fprobe например - укладывает 4 ядра под 100%% ну у них на сайте есть рекомендации по оптимизации как ядра так и libpcap. А вообще думаю что разница будет не особо велика если вы попатаетесь через iptables делать. Так что думаю вас спасет только тест :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
photon Posted January 15, 2010 (edited) Чтобы избежать потерь трафика и лишних копирований трафика между ядром и процессами, нужно собрать libpcap с использованием сокета PF_RING. См. http://www.ntop.org/PF_RING.html Edited January 15, 2010 by photon Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan Rostovikov Posted January 15, 2010 Попробовал pmacct. Выяснилось, что в сравнении с ipt_NETFLOW он генерит, слишком подробные flow. Например у меня flow-capture собирает 15-минутными кусками. от ipt_NETFLOW эти куски по 50-70 Мб А от pmacct по 100-150 Мб. Как попросить pmacct суммировать flow "по плотнее" ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mishasat Posted January 15, 2010 сами мучались с этим ipt_NETWLOW и умные люди подсказали, что работает только на 31 ядре пришлось откотиться с 32 + там еще пару загагулинок я админа попрошу отписаться тут с подробностями Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
hub00 Posted January 15, 2010 (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 January 15, 2010 by hub00 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan Rostovikov Posted January 15, 2010 У меня исправно работает на 2.6.30.4 >iptables -A FORWARD -s 1.1.1.1 -j NETFLOW Трафик не попадает в таблицу filter если это не роутер. "Умник" правильно написал. README.promisc ответ тут. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
hub00 Posted January 15, 2010 У меня исправно работает на 2.6.30.4 >iptables -A FORWARD -s 1.1.1.1 -j NETFLOW Трафик не попадает в таблицу filter если это не роутер. "Умник" правильно написал. README.promisc ответ тут. У меня на 26.х,29.х,30.х,32 не заработало (х - точно не скажу). Это мой опыт и еще одного человека. Не ну хорошо если у тебя на 30 собралось. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan Rostovikov Posted January 15, 2010 Я правил исходники ipt_Netflow для 2.6.30.4 В общем потестил pmacct: На гигабите - Xeon "лег" намертво. Как и c fprobe. Те же яйца - только в профиль. Слишком много "user mode"... Та же машина но с ipt_Netflow, поток 1Г загрузка 1% Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
hub00 Posted January 15, 2010 Я правил исходники ipt_Netflow для 2.6.30.4 А что редактировал в ядре? Чтоб знать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nickD Posted January 15, 2010 (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 January 15, 2010 by nickD Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan Rostovikov Posted January 15, 2010 (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 January 15, 2010 by Ivan Rostovikov Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Max P Posted January 15, 2010 может кому то готовый ебилд для сборки из цвс дать? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
TiFFolk Posted January 16, 2010 (edited) Для сбора netflow под линуксом надо использовать только супер быстрый nProbe, работающий через TNAPI+PFRING. Стоит порядка 450 баксов как донейт, исходники открые, но не в свободном доступе, если кто купит, готов взять на себя часть суммы,а кредитки нет у меня. Можем скинуться группой. Edited January 16, 2010 by TiFFolk Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Wingman Posted January 16, 2010 http://www.nmon.net/shop/ nProbe 5.x [unix] 99.95 Euro nProbe 5.x Professional [Linux] 199.95 Euro Где там 450? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Умник Posted January 16, 2010 (edited) Для сбора netflow под линуксом надо использовать только супер быстрый nProbe, работающий через TNAPI+PFRING.Чем не устраивает ipt_NETFLOW? Как может решение, которое гоняет каждый пакет (пусть даже только заголовки) в юзерспейс, производительней чисто kerel-based решения? P.S.: Или вы говорите о коллекторе (не об агенте) Netflow? Edited January 16, 2010 by Умник Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
photon Posted January 16, 2010 (edited) Чем не устраивает ipt_NETFLOW? Как может решение, которое гоняет каждый пакет (пусть даже только заголовки) в юзерспейс, производительней чисто kerel-based решения? P.S.: Или вы говорите о коллекторе (не об агенте) Netflow? Nprobe может использоваться по-всякому: и как коллектор, и как агент. Там используется специальный сокет для чтения пакетов из ядра без копирования. Кстати, было бы интересно сравнить производительность nProbe и ipt_netflow. Edited January 16, 2010 by photon Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
TiFFolk Posted January 16, 2010 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.95nProbe 5.x Professional [Linux] 199.95 Euro Обсчитался немного. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vadislaus Posted January 17, 2010 Ядро 2.6.31, ipt_NETFLOW из svn, трафик около 600 мбит на каталисте 3750 миррорил порт, делал как написано в README.promisc. Все работает на ура, загрузка CPU 2-3% Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
orlik Posted January 19, 2010 Народ , а такой интересный вопрос , а как ipt_netflow отнесется если замиррорить трафик с mpls метками ? Сможет ли оно пережевать это, хотя бы просто сорвав метки и обработав чистый ip пакет Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vazir Posted February 9, 2010 патч для 32 ядра http://forum.nag.ru/forum/index.php?s=&...st&p=458686 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...