LINUX.ORG.RU
ФорумAdmin

ipt_netflow + nfdump вижу не весь трафик

 , , , ,


0

1

Добрый день!

Стоит Debain 6.0 с iptables используется сугубо как роутер. Собрал ipt_netflow, добавил правила, все добавилось:

iptables -L -v -n

Chain INPUT (policy ACCEPT 13538 packets, 1315K bytes) pkts bytes target prot opt in out source destination

23907 2309K NETFLOW all — * * 0.0.0.0/0 0.0.0.0/0 NETFLOW

Chain FORWARD (policy ACCEPT 397 packets, 16820 bytes) pkts bytes target prot opt in out source destination

8042M 4070G ACCEPT all — * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED

522M 41G ACCEPT all — eth0 * <скрыто>/24 0.0.0.0/0 ctstate NEW

849 35748 NETFLOW all — * * 0.0.0.0/0 0.0.0.0/0 NETFLOW

Chain OUTPUT (policy ACCEPT 11575 packets, 1323K bytes) pkts bytes target prot opt in out source destination

20263 2346K NETFLOW all — * * 0.0.0.0/0 0.0.0.0/0 NETFLOW

Создал файл в modprobe.d, указал destination 127.0.0.1 9996 порт, tcpdump все видит:

tcpdump -i lo port 9996

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes

12:12:22.015238 IP localhost.37715 > localhost.9996: UDP, length 1464

12:12:22.615364 IP localhost.37715 > localhost.9996: UDP, length 1464

12:12:23.115116 IP localhost.37715 > localhost.9996: UDP, length 1464

12:12:23.715096 IP localhost.37715 > localhost.9996: UDP, length 1464

12:12:24.119151 IP localhost.37715 > localhost.9996: UDP, length 1464

12:12:24.819199 IP localhost.37715 > localhost.9996: UDP, length 1464

12:12:25.419114 IP localhost.37715 > localhost.9996: UDP, length 1464

12:12:26.219163 IP localhost.37715 > localhost.9996: UDP, length 1464

Собираю на той же ос с ncapd и читаю с nfdump.

Может у меня руки кривые, но я пробовал:

nfdump -R /var/netflow/ -s record -n 10

nfdump -R /var/netflow/$TODAY -s record -n 10

nfdump -R /var/netflow/$YESTURDAY -s record -n 10

Результаты одни и те же. При этом nfdump показывает максимальный трафик с одного хоста 12000 байт, а snmp показывает, скачки в ночное время суток за час 30гб передается, в чем блин косяк?:(


Во-первых, по netflow собирается только IP трафик. Весь прочий не ловится. Может там arp штормит ? Или, вдруг, ipx есть какой ?

Во-вторых, исходя из разных ситуаций, и ipt_netflow может что-то не допослать, и flow-коллектор что-то не дополучить.

Ну и в Chain FORWARD оно не на первом месте почему ? Особенно, с учётом
8042M 4070G ACCEPT all — * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
522M 41G ACCEPT all — eth0 * <скрыто>/24 0.0.0.0/0 ctstate NEW

Это вот всё, что не попало.

AS ★★★★★ ()
Ответ на: комментарий от AS

Во-первых, по netflow собирается только IP трафик. Весь прочий не ловится. Может там arp штормит ? Или, вдруг, ipx есть какой ?

Во-вторых, исходя из разных ситуаций, и ipt_netflow может что-то не допослать, и flow-коллектор что-то не дополучить.

подскажите пожалуйста, есть какие-либо альтернативы?

ipx - трафика нет. на L2 трафик не в приоритете, но тоже было бы неплохо смотреть сколько широковещалок и флуда прошло по мультикасту в сети.

Ну и в Chain FORWARD оно не на первом месте почему ? Особенно, с учётом 8042M 4070G ACCEPT all — * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 522M 41G ACCEPT all — eth0 * <скрыто>/24 0.0.0.0/0 ctstate NEW

Это вот всё, что не попало.

точно, подскажите, а в чем разница между тем что я создам свою цепочку netflow и туда добавлю правило для всех netflow и потом для всех accept и в том что я подниму в цепочке FORWARD правило netflow наверх?

r1sh ()
Ответ на: комментарий от blind_oracle

Да хрен с ними с бродкастами, мне сейчас нужно хотя бы ip трафик посмотреть.

В чем разница: создать свою цепочку или добавить правило в FORWARD?

Правильно ли я понимаю, что пользовательскую цепочку в любом случае нужно добавить в одну из дефолтных цепочек, сама по-себе она применяться не будет?

r1sh ()
Ответ на: комментарий от r1sh

Судя по приведенному куску tcpdump у вас netflow нормально экспортируется. А что в /var/netflow/ ? Файлы создаются, размер нормальный? Нормальный, это приблизительно на 2 порядка меньше трафика. Просвистело 30Г, нетфловов около 0.3Г (очень грубо, конечно, и зависит от кучи факторов)

есть какие-либо альтернативы?

Если у вас трафик не очень большой, можете попробовать вместо ipt_netflow softflowd. Он довольно своеобразный и работает в юзерспейсе (pcap-based), то есть на большом трафике будет терять пакеты, но можно посмотреть и сравнить

Deleted ()
Ответ на: комментарий от r1sh

Нет разницы никакой. И да, в пользовательскую цепочку должен быть выход из основных.

blind_oracle ★★★★★ ()
Ответ на: комментарий от r1sh

и в том что я подниму в цепочке FORWARD правило netflow наверх?

В том, что по действию ACCEPT обработка пакета заканчивается и пакет пропускается. Соответственно, если какое-то правило с ACCEPT попадает до правила с NETFLOW, пакеты, удовлетворяющие правилу с ACCEPT до NETFLOW не доберутся. А где оно там попалось, в пользовательских цепочках, или нет - не важно. ACCEPT - конец обработки. Как, впрочем, и DROP с REJECT.

AS ★★★★★ ()

вобщем, сначала добавь правило с -j NETFLOW, а потом все свои --state ESTABLISHED,RELATED

у тебя же ясно видно, что по первым правилам 5 тера прошло, а до NETFLOW всего-то на 50 кб. Не скажу точно, но кажется, когда на пакет попадает действие ACCEPT, он вылетает с текущей таблицы, и проходит, игнорируя обработку другими правилами.

или можешь добавить в конце всего рутсэта -I {INPUT,OUTPUT,FORWARD} -j NETFLOW

leader32 ()
Ответ на: комментарий от leader32

точно, добавил правило netflow на 1е место в цепочке и все заработало:)

Супер, спасибо!)

r1sh ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.