Jump to content

Recommended Posts

Posted (edited)

Простите уважаемые, что подниму тему.

 

Встала задача писать весь транзитный трафик с Cisco 6504, меня интересуют 2 гигабитных канала на интерфейсах Gi2/1 , Gi2/2. Можно было бы писать NetFlow напрямую с Cisco 6504, но на ней осуществляется нарезка полос (User Based Rate Limit microflow policy) совместно с которым экспорт в NetFlow не работает, поэтому будем извращаться :).

 

Для начала выгоним SPAN (копию интересующего меня трафика с Gi2/1 , Gi2/2 ) в два гигабитных порта Gi2/4 и Gi2/5.

 

<code>

!

vlan 100

!

!

interface Port-channel100

switchport

switchport access vlan 100

switchport mode access

!

interface GigabitEthernet2/4

switchport

switchport access vlan 100

switchport mode access

channel-group 100 mode on

!

interface GigabitEthernet2/5

switchport

switchport access vlan 100

switchport mode access

channel-group 100 mode on

!

monitor session 1 source interface Gi2/1 , Gi2/2

monitor session 1 destination interface Po100

!

</code>

 

Теперь необходимо определиться с инструментарием которым мы собираемся "ловить" поток и отдавать его в формате NetFlow.

 

На самом деле выбор не велик fprobe, ipcad, softflowd т. е. те вещи которые работают через pcap "умерли" сразу, попутно убив CPU сервера :)

 

Через ULOG iptables писать нельзя т. к. трафик не попадает ни в одну цепочку (ибо он не транзитный).

 

Нашелся один инструмент ipt_netflow, но для его работоспособности в схеме со Span портом пришлось пропатчить штатное ядро CentOS 5 здесь патченное ядро и пропатчить сам модуль ipt_netflow устанавливать надо ipt_netflow (модуль iptables) и kmod-netflow-promisc (модуль ядра).

 

SPAN потоки приходят в сетевые адаптеры eth2 и eth3 сервера соответственно.

 

После установки этого чуда пишем в iptables

 

<code>

*raw

-A PREROUTING -i eth2 -j NETFLOW

-A PREROUTING -i eth3 -j NETFLOW

COMMIT

</code>

 

в /etc/modprobe.conf добавляем

 

<code>

options ipt_NETFLOW hashsize=160000 destination="127.0.0.1:2055"

</code>

 

результаты таковы, что при 1-1,5 gbit/sec трафика мы получаем следующую нагрузку на CPU

 

top

<code>

Tasks: 117 total, 1 running, 116 sleeping, 0 stopped, 0 zombie

Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu2 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu3 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu4 : 0.0%us, 0.0%sy, 0.0%ni, 71.3%id, 0.3%wa, 0.0%hi, 28.3%si, 0.0%st

Cpu5 : 0.0%us, 0.0%sy, 0.0%ni, 69.5%id, 0.0%wa, 0.7%hi, 29.8%si, 0.0%st

Cpu6 : 0.0%us, 0.0%sy, 0.0%ni, 71.2%id, 0.0%wa, 0.3%hi, 28.4%si, 0.0%st

Cpu7 : 0.0%us, 1.0%sy, 0.0%ni, 68.2%id, 0.0%wa, 0.3%hi, 30.4%si, 0.0%st

Mem: 4044184k total, 2566136k used, 1478048k free, 485276k buffers

Swap: 2031608k total, 132k used, 2031476k free, 1622060k cached

 

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

33 root 10 -5 0 0 0 S 2.7 0.0 32:41.04 events/7

1 root 15 0 10348 632 540 S 0.0 0.0 0:02.31 init

2 root RT -5 0 0 0 S 0.0 0.0 0:00.02 migration/0

3 root 34 19 0 0 0 S 0.0 0.0 0:03.06 ksoftirqd/0

4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0

5 root RT -5 0 0 0 S 0.0 0.0 0:00.07 migration/1

6 root 34 19 0 0 0 S 0.0 0.0 0:00.04 ksoftirqd/1

7 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/1

8 root RT -5 0 0 0 S 0.0 0.0 0:00.01 migration/2

9 root 34 19 0 0 0 S 0.0 0.0 0:00.03 ksoftirqd/2

</code>

 

cat /proc/net/stat/ipt_netflow

<code>

Flows: active 354747 (peak 540458 reached 0d16h37m ago), mem 30486K

Hash: size 160000 (mem 1250K), metric 2.7, 2.2, 1.0, 1.0. MemTraf: 121088697 pkt, 75450911 K (pdu 5, 276).

Timeout: active 1800, inactive 15. Maxflows 2000000

Rate: 1382824352 bits/sec, 298823 packets/sec; Avg 1 min: 1367908158 bps, 296724 pps; 5 min: 1361329134 bps, 296061 pps

cpu# stat: <search found new, trunc frag alloc maxflows>, sock: <ok fail cberr, bytes>, traffic: <pkt, bytes>, drop: <pkt, bytes>

Total stat: 38000468809 22085636328 1231067128, 0 0 0 0, sock: 41023746 0 0, 58651136 K, traffic: 23316703456, 13030478 MB, drop: 0, 0 K

cpu0 stat: 0 0 0, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 0, 0 MB, drop: 0, 0 K

cpu1 stat: 0 0 0, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 0, 0 MB, drop: 0, 0 K

cpu2 stat: 0 0 0, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 0, 0 MB, drop: 0, 0 K

cpu3 stat: 0 0 0, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 0, 0 MB, drop: 0, 0 K

cpu4 stat: 9502008868 5521585976 307793882, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 5829379858, 3259408 MB, drop: 0, 0 K

cpu5 stat: 9495159604 5519723902 307727275, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 5827451177, 3255443 MB, drop: 0, 0 K

cpu6 stat: 9500201467 5522411578 307754983, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 5830166561, 3258689 MB, drop: 0, 0 K

cpu7 stat: 9503098870 5521914872 307790988, 0 0 0 0, sock: 41023746 0 0, 58651136 K, traffic: 5829705860, 3256938 MB, drop: 0, 0 K

sock0: 127.0.0.1:2055, sndbuf 33554432, filled 0, peak 140936; err: sndbuf reached 0, other 0

</code>

 

Как видим трафик порядка 1.3 гбит/сек 300 kpps :)

 

Железо простое: сетевая Intel ServerAdapter 1000 ET Quad Port на 82576 чипсете, два четырехядерника Xeon E5405 2.00GHz, OS CentOS 5

Edited by _INF_
  • Replies 545
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Posted (edited)

_INF_

Hash: size 160000 (mem 1250K), metric 2.7, 2.2, 1.0, 1.0.
Это плохо, ipt_netflow перенапрягается у вас. Выставьте hashsize в максимальное количество flows*2. В вашем случае, например, 1572864.

 

Поменяйте и посмотрите на загрузку, наверняка будет гораздо меньше.

Edited by shoorickello
Posted
Это плохо, ipt_netflow перенапрягается у вас. Выставьте hashsize в максимальное количество flows*2. В вашем случае, например, 1572864.

 

Поменяйте и посмотрите на загрузку, наверняка будет гораздо меньше.

Спасибо, последовал совету

стало metric 1.3, 1.0, 1.0, 1.0

но нагрузка на CPU не уменьшилась :(

 

 

 

Posted

Простите за флуд но хочу выразить благодарность уважаемому _INF_ за его энтузиазм и редкий для наших дней альтруизм.

Воспользовавшись его замечательным реапозиторием (centos.alt.ru ) и с любовью сделанной инструкцией по замиррориванию траффика в netflow

завернул поток во flow-capture c

 

OPTIONS="-w /var/flow/ -n 96 -N -3 127.0.0.1/127.0.0.1/555"

 

(ЕВПОЧА),

 

по хрону скармливая всё это скрипту:

 

#!/bin/sh
flist0=/tmp/flist0
flist=/tmp/flist
find /var/flow/ -type f -name "ft-v05.*" > $flist0
cat $flist0|sort > $flist
while read line
do
fname=`basename $line`
fctime=`echo ${fname:7:17}`
flow-print  < `echo "$line"` > /var/flow/$fname.log
done < $flist
while read line
do
rm -f $line
done < $flist

 

получал на выходе файлики:

 

srcIP            dstIP            prot  srcPort  dstPort  octets      packets
192.168.136.243  192.168.136.255  17    631      631      186         1
192.168.136.243  192.168.136.255  17    631      631      186         1
192.168.136.50   83.149.52.45     17    52616    61402    61          1
192.168.136.50   188.168.22.149   6     65258    56789    280         5
188.168.22.149   192.168.136.50   6     56789    65258    132         3
192.168.136.50   78.29.72.11      6     65259    28931    280         5
78.29.72.11      192.168.136.50   6     28931    65259    132         3
192.168.136.50   78.26.128.252    6     65263    35691    152         3
192.168.136.50   78.109.180.14    6     65262    22387    152         3
...........

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

и учитывать что ipt_netflow не хочит жевать поток байтов если в нём присутствуют vlan tagи

Ещё раз прошу извинить за много букв.

Posted
Простите за флуд но хочу выразить благодарность уважаемому _INF_ за его энтузиазм и редкий для наших дней альтруизм.

Воспользовавшись его замечательным реапозиторием (centos.alt.ru ) и с любовью сделанной инструкцией по замиррориванию траффика в netflow

завернул поток во flow-capture c

OPTIONS="-w /var/flow/ -n 96 -N -3 127.0.0.1/127.0.0.1/555"

(ЕВПОЧА),

по хрону скармливая всё это скрипту:

Если в OPTIONS="-w /var/flow/ -n 96 -N -3 127.0.0.1/127.0.0.1/555" добавить -R <ваш скрипт> , то и крон нах не нать. :)

 

 

получал на выходе файлики:

srcIP            dstIP            prot  srcPort  dstPort  octets      packets
192.168.136.243  192.168.136.255  17    631      631      186         1
192.168.136.243  192.168.136.255  17    631      631      186         1
192.168.136.50   83.149.52.45     17    52616    61402    61          1
192.168.136.50   188.168.22.149   6     65258    56789    280         5
188.168.22.149   192.168.136.50   6     56789    65258    132         3
192.168.136.50   78.29.72.11      6     65259    28931    280         5
78.29.72.11      192.168.136.50   6     28931    65259    132         3
192.168.136.50   78.26.128.252    6     65263    35691    152         3
192.168.136.50   78.109.180.14    6     65262    22387    152         3
...........

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

и учитывать что ipt_netflow не хочит жевать поток байтов если в нём присутствуют vlan tagи

Ещё раз прошу извинить за много букв.

flow-stat рулит, попробуйте - проникнитесь. :)
  • 3 weeks later...
Posted

Добрый день. Хотел бы поинтересаваться, не вешается ли машина при использовании ipt_NETFLOW. Вчера это произошло 3 -й раз за 3 месяца. Перед тем как сервер вешается пишет следующиее сообщения:

kernel: netflow_send_pdu[1]: sendmsg error -11: data loss 9867 pkt, 6761061 bytes: increase sndbuf!

Как я понимаю что нужно увеличить sndbuf, но не понятно почему машина просто вешается, кто-нибудь встечался с такими проблемами?

Proliant dl360 G6.

Posted

>monitor session 1 destination interface Po100

 

Тоже так хотел, но человек из "Специальных технологий" сказал - "нормально это не работает". Теряется часть трафика.

Почему - никто не знает.

Posted (edited)
Добрый день. Хотел бы поинтересаваться, не вешается ли машина при использовании ipt_NETFLOW. Вчера это произошло 3 -й раз за 3 месяца. Перед тем как сервер вешается пишет следующиее сообщения:

kernel: netflow_send_pdu[1]: sendmsg error -11: data loss 9867 pkt, 6761061 bytes: increase sndbuf!

Похожим образом оно орет если у выбить из под ног маршрут на коллектор - например положить интерфейс в который суется поток на коллектор.

Так, что похоже у Вас не ipt_NETFLOW сервер валит.

Edited by Jugernault
Posted

Так, что похоже у Вас не ipt_NETFLOW сервер валит.

Странно, у меня поток идет через интерфейс управления и он как раз положен не был, я смог попасть на сервер, когда все остальные интерфейсы упали (9 интерфейсов: 1управления и 8 для тарфика, все 8 для тарфика лежали в down). Те получается после того как все интерфейсы лежали netflow писал что ему не хватает буферов? Нестыковка.

  • 4 months later...
Posted

Всем привет. А кто нить собирал ipt_NETFLOW на более старых ядрах (2.6.17)?

 

Compiling for kernel 2.6.17-5mdv

make -C /lib/modules/2.6.17-5mdv/build M=/home/inst/1/ipt_netflow modules

make[1]: Entering directory `/usr/src/linux-2.6.17-5mdv'

 

WARNING: Symbol version dump /usr/src/linux-2.6.17-5mdv/Module.symvers

is missing; modules will have no dependencies and modversions.

 

CC [M] /home/inst/1/ipt_netflow/ipt_NETFLOW.o

Building modules, stage 2.

MODPOST

WARNING: /home/inst/1/ipt_netflow/ipt_NETFLOW.o - Section mismatch: reference to .init.text: from .smp_locks after '' (at offset 0x34)

WARNING: /home/inst/1/ipt_netflow/ipt_NETFLOW.o - Section mismatch: reference to .exit.text: from .smp_locks after '' (at offset 0x18)

CC /home/inst/1/ipt_netflow/ipt_NETFLOW.mod.o

LD [M] /home/inst/1/ipt_netflow/ipt_NETFLOW.ko

make[1]: Leaving directory `/usr/src/linux-2.6.17-5mdv'

gcc -O2 -Wall -Wunused -I/lib/modules/2.6.17-5mdv/build/include -I./iptables-1.3.5/include -DIPTABLES_VERSION=\"1.3.5\" -fPIC -o libipt_NETFLOW_sh.o -c libipt_NETFLOW.c

gcc -shared -o libipt_NETFLOW.so libipt_NETFLOW_sh.o

libipt_NETFLOW_sh.o: In function `_init':

libipt_NETFLOW.c:(.text+0x30): multiple definition of `_init'

/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.1/../../../crti.o:/home/gb/rpm/BUILD/glibc-2.4.90/build-i586-linux/csu/crti.S:36: first defined here

collect2: ld returned 1 exit status

make: *** [libipt_NETFLOW.so] Ошибка 1

  • 1 month later...
Posted

Сегодня попытался включить ipt_NETFLOW на одном из роутеров, получил такую красоту, выпадающую с периодичностью в минуту.

Есть рецепт по лечению?

 

Oct  8 17:16:59 rt kernel: [ 5506.150007] BUG: soft lockup - CPU#0 stuck for 61s! [events/0:9]
Oct  8 17:16:59 rt kernel: [ 5506.150013] Modules linked in: ipt_REJECT ts_kmp xt_tcpudp xt_limit xt_state xt_string iptable_filter ip_tables cls_u32 cls_tcindex sch_sfq sch_htb sch_dsmark nf_nat_pptp nf_conntrack_pptp nf_conntrack_proto_gre nf_nat_proto_gre nf_nat_sip nf_conntrack_sip nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_ftp nf_conntrack bridge ipt_NETFLOW 8021q garp stp snd_hda_codec_atihdmi ipt_ULOG x_tables fbcon tileblit font bitblit softcursor vga16fb vgastate snd_hda_intel snd_hda_codec snd_hwdep radeon ttm snd_pcm snd_timer drm_kms_helper snd soundcore ppdev snd_page_alloc drm i2c_algo_bit parport_pc psmouse serio_raw edac_core k8temp shpchp edac_mce_amd lp parport i2c_piix4 raid10 raid456 async_pq async_xor xor async_memcpy async_raid6_recov raid6_pq async_tx raid1 raid0 multipath 8139too linear r8169 8139cp mii ahci pata_atiixp
Oct  8 17:16:59 rt kernel: [ 5506.150013] CPU 0:
Oct  8 17:16:59 rt kernel: [ 5506.150013] Modules linked in: ipt_REJECT ts_kmp xt_tcpudp xt_limit xt_state xt_string iptable_filter ip_tables cls_u32 cls_tcindex sch_sfq sch_htb sch_dsmark nf_nat_pptp nf_conntrack_pptp nf_conntrack_proto_gre nf_nat_proto_gre nf_nat_sip nf_conntrack_sip nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_ftp nf_conntrack bridge ipt_NETFLOW 8021q garp stp snd_hda_codec_atihdmi ipt_ULOG x_tables fbcon tileblit font bitblit softcursor vga16fb vgastate snd_hda_intel snd_hda_codec snd_hwdep radeon ttm snd_pcm snd_timer drm_kms_helper snd soundcore ppdev snd_page_alloc drm i2c_algo_bit parport_pc psmouse serio_raw edac_core k8temp shpchp edac_mce_amd lp parport i2c_piix4 raid10 raid456 async_pq async_xor xor async_memcpy async_raid6_recov raid6_pq async_tx raid1 raid0 multipath 8139too linear r8169 8139cp mii ahci pata_atiixp
Oct  8 17:16:59 rt kernel: [ 5506.150013] Pid: 9, comm: events/0 Not tainted 2.6.32-25-server #44-Ubuntu GA-MA69GM-S2H
Oct  8 17:16:59 rt kernel: [ 5506.150013] RIP: 0010:[<ffffffffa019f080>]  [<ffffffffa019f080>] netflow_target+0x2e0/0x984 [ipt_NETFLOW]
Oct  8 17:16:59 rt kernel: [ 5506.150013] RSP: 0018:ffff880001c03928  EFLAGS: 00000282
Oct  8 17:16:59 rt kernel: [ 5506.150013] RAX: ffff880067b03f20 RBX: ffff880001c03a18 RCX: ffff88005da03b58
Oct  8 17:16:59 rt kernel: [ 5506.150013] RDX: 0000000000016760 RSI: ffff880001c039b8 RDI: ffff880067b03f40
Oct  8 17:16:59 rt kernel: [ 5506.150013] RBP: ffffffff81012cb3 R08: ffff880001c039b8 R09: 0000000000000010
Oct  8 17:16:59 rt kernel: [ 5506.150013] R10: ffffc90012cce530 R11: 0000000000000000 R12: ffff880001c038a0
Oct  8 17:16:59 rt kernel: [ 5506.150013] R13: ffff8800560d3c30 R14: ffff880067b03f20 R15: ffffffff8155f31c
Oct  8 17:16:59 rt kernel: [ 5506.150013] FS:  00007ff523c29720(0000) GS:ffff880001c00000(0000) knlGS:0000000000000000
Oct  8 17:16:59 rt kernel: [ 5506.150013] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
Oct  8 17:16:59 rt kernel: [ 5506.150013] CR2: 00007ff523c30000 CR3: 0000000001001000 CR4: 00000000000006f0
Oct  8 17:16:59 rt kernel: [ 5506.150013] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Oct  8 17:16:59 rt kernel: [ 5506.150013] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Oct  8 17:16:59 rt kernel: [ 5506.150013] Call Trace:
Oct  8 17:16:59 rt kernel: [ 5506.150013]  <IRQ>  [<ffffffffa019ef55>] ? netflow_target+0x1b5/0x984 [ipt_NETFLOW]
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffffa002ef0a>] ? rtl8169_start_xmit+0x30a/0x530 [r8169]
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffffa03a02bb>] ? ipt_do_table+0x3cb/0x678 [ip_tables]
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff8155a1c9>] ? _spin_unlock_bh+0x19/0x20
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffffa034ebc1>] ? __nf_ct_refresh_acct+0xa1/0xf0 [nf_conntrack]
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffffa03a80f3>] ? ipt_hook+0x23/0x30 [iptable_filter]
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff8149997c>] ? nf_iterate+0x6c/0xb0
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff814a33b0>] ? ip_forward_finish+0x0/0x70
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff81499a34>] ? nf_hook_slow+0x74/0x100
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff814a33b0>] ? ip_forward_finish+0x0/0x70
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff814a35ff>] ? ip_forward+0x1df/0x420
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff814a179d>] ? ip_rcv_finish+0x12d/0x440
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff814a1d25>] ? ip_rcv+0x275/0x360
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff81534bb8>] ? vlan_hwaccel_do_receive+0x38/0xf0
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff814724ca>] ? netif_receive_skb+0x38a/0x5d0
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff81534db0>] ? __vlan_hwaccel_rx+0x140/0x230
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffffa002f596>] ? rtl8169_rx_interrupt+0x216/0x5b0 [r8169]
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffffa002faad>] ? rtl8169_poll+0x3d/0x270 [r8169]
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff81559ffe>] ? _spin_lock+0xe/0x20
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff81472fcf>] ? net_rx_action+0x10f/0x250
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff8106d487>] ? __do_softirq+0xb7/0x1e0
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff810132ec>] ? call_softirq+0x1c/0x30
Oct  8 17:16:59 rt kernel: [ 5506.150013]  <EOI>  [<ffffffff81014cb5>] ? do_softirq+0x65/0xa0
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff8106cf48>] ? local_bh_enable_ip+0x98/0xa0
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff8155a1c9>] ? _spin_unlock_bh+0x19/0x20
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffffa019e993>] ? netflow_scan_inactive_timeout+0x1a3/0x340 [ipt_NETFLOW]
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffffa019eb30>] ? netflow_work_fn+0x0/0x30 [ipt_NETFLOW]
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffffa019eb45>] ? netflow_work_fn+0x15/0x30 [ipt_NETFLOW]
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff8107f6b7>] ? run_workqueue+0xc7/0x1a0
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff8107f833>] ? worker_thread+0xa3/0x110
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff81084250>] ? autoremove_wake_function+0x0/0x40
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff8107f790>] ? worker_thread+0x0/0x110
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff81083ed6>] ? kthread+0x96/0xa0
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff810131ea>] ? child_rip+0xa/0x20
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff81083e40>] ? kthread+0x0/0xa0
Oct  8 17:16:59 rt kernel: [ 5506.150013]  [<ffffffff810131e0>] ? child_rip+0x0/0x20

Posted

В итоге, даже после того, как убрали правила -j NETFLOW оно сегодня повисло.

За полчаса до падения написало

Oct  9 15:33:38 rt kernel: [85705.271388] ------------[ cut here ]------------
Oct  9 15:33:38 rt kernel: [85705.271401] WARNING: at /build/buildd/linux-2.6.32/net/core/dst.c:272 dst_release+0x33/0x40()
Oct  9 15:33:38 rt kernel: [85705.271405] Hardware name: GA-MA69GM-S2H
Oct  9 15:33:38 rt kernel: [85705.271407] Modules linked in: ipt_REJECT ts_kmp xt_tcpudp xt_limit xt_state xt_string iptable_filter ip_tables cls_u32 cls_tcindex sch_sfq sch_htb sch_dsmark nf_nat_pptp nf_conntrack_pptp nf_conntrack_proto_gre nf_nat_proto_gre nf_nat_sip nf_conntrack_sip nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_ftp nf_conntrack bridge ipt_NETFLOW 8021q garp stp snd_hda_codec_atihdmi ipt_ULOG x_tables fbcon tileblit font bitblit softcursor vga16fb vgastate snd_hda_intel snd_hda_codec snd_hwdep radeon ttm snd_pcm snd_timer drm_kms_helper snd soundcore ppdev snd_page_alloc drm i2c_algo_bit parport_pc psmouse serio_raw edac_core k8temp shpchp edac_mce_amd lp parport i2c_piix4 raid10 raid456 async_pq async_xor xor async_memcpy async_raid6_recov raid6_pq async_tx raid1 raid0 multipath 8139too linear r8169 8139cp mii ahci pata_atiixp
Oct  9 15:33:38 rt kernel: [85705.271476] Pid: 4, comm: ksoftirqd/0 Not tainted 2.6.32-25-server #44-Ubuntu
Oct  9 15:33:38 rt kernel: [85705.271479] Call Trace:
Oct  9 15:33:38 rt kernel: [85705.271482]  <IRQ>  [<ffffffff81065f4b>] warn_slowpath_common+0x7b/0xc0
Oct  9 15:33:38 rt kernel: [85705.271493]  [<ffffffff81065fa4>] warn_slowpath_null+0x14/0x20
Oct  9 15:33:38 rt kernel: [85705.271496]  [<ffffffff814793f3>] dst_release+0x33/0x40
Oct  9 15:33:38 rt kernel: [85705.271500]  [<ffffffff81473755>] dev_hard_start_xmit+0x1a5/0x1e0
Oct  9 15:33:38 rt kernel: [85705.271506]  [<ffffffff8148bd8f>] sch_direct_xmit+0x15f/0x1d0
Oct  9 15:33:38 rt kernel: [85705.271510]  [<ffffffff8148be6b>] __qdisc_run+0x6b/0xe0
Oct  9 15:33:38 rt kernel: [85705.271514]  [<ffffffff81470d30>] net_tx_action+0x120/0x180
Oct  9 15:33:38 rt kernel: [85705.271519]  [<ffffffff8106d487>] __do_softirq+0xb7/0x1e0
Oct  9 15:33:38 rt kernel: [85705.271523]  [<ffffffff810132ec>] call_softirq+0x1c/0x30
Oct  9 15:33:38 rt kernel: [85705.271525]  <EOI>  [<ffffffff81014cb5>] do_softirq+0x65/0xa0
Oct  9 15:33:38 rt kernel: [85705.271531]  [<ffffffff8106cfd0>] ksoftirqd+0x80/0x110
Oct  9 15:33:38 rt kernel: [85705.271535]  [<ffffffff8106cf50>] ? ksoftirqd+0x0/0x110
Oct  9 15:33:38 rt kernel: [85705.271539]  [<ffffffff81083ed6>] kthread+0x96/0xa0
Oct  9 15:33:38 rt kernel: [85705.271543]  [<ffffffff810131ea>] child_rip+0xa/0x20
Oct  9 15:33:38 rt kernel: [85705.271546]  [<ffffffff81083e40>] ? kthread+0x0/0xa0
Oct  9 15:33:38 rt kernel: [85705.271549]  [<ffffffff810131e0>] ? child_rip+0x0/0x20
Oct  9 15:33:38 rt kernel: [85705.271552] ---[ end trace 0761136eabad1b57 ]---

  • 1 month later...
Posted

День добрый. Собрал rpm ipt_NETFLOW 1.6 под 2.6.36, и 1.4.10 таблесы.

Как только добавляю -A INPUT -i eth0 -j NETFLOW - кернел паник... В FORWARD - не падает. Куда копать?

Posted

To marikoda

Сейчас логи ничего не скажут, но по-моему похожее вылезало и у меня. Проблема софтово-аппаратная, тк на 1-х серваках ничего не падает, на других все перестает работать(сервер виснет, помогает ребут). Мне помогло следующее:

 

cat /proc/net/stat/ipt_netflow

Внизу есть:

sock0: 172.17.27.75:30009, sndbuf 250000, filled 1, peak 109617; err: sndbuf reached 0, other 0

sock1: 192.168.133.16:30009, sndbuf 250000, filled 1, peak 107849; err: sndbuf reached 0, other 0

 

Нужно что бы peak не превышал sndbuf.

 

Если когда то произошло превышение, то вы кроме peak увидите drop в строчках выше.

sndbuf можно изменить в /etc/sysctl.conf

net.netflow.sndbuf=250000

Если поможет, дайте знать.

 

Posted

здарова уважаемые)).

у меня такая трабла.

собирал ipt_netflow 1.6 в ubuntu server 10.10 ( ядро 2.6.35)

iptables 1.4.4 просто скомплил в /usr/src/

первый раз он у меня собрался и все ок.

а вот на другом сервер с теми же пакетами выдает ощибку подобную

make

Compiling for kernel 2.6.35-22-generic-pae

make -C /lib/modules/2.6.35-22-generic-pae/build M=/usr/src/ipt_netflow-1.6 modules

make[1]: Entering directory `/usr/src/linux-headers-2.6.35-22-generic-pae'

CC [M] /usr/src/ipt_netflow-1.6/ipt_NETFLOW.o

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c: In function ‘nf_seq_show’:

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:263: error: implicit declaration of function ‘HIPQUAD’

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:265: warning: too few arguments for format

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c: In function ‘hsize_procctl’:

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:305: warning: passing argument 5 of ‘proc_dointvec’ from incompatible pointer type

include/linux/sysctl.h:969: note: expected ‘loff_t *’ but argument is of type ‘size_t *’

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:305: error: too many arguments to function ‘proc_dointvec’

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c: In function ‘sndbuf_procctl’:

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:331: warning: passing argument 5 of ‘proc_dointvec’ from incompatible pointer type

include/linux/sysctl.h:969: note: expected ‘loff_t *’ but argument is of type ‘size_t *’

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:331: error: too many arguments to function ‘proc_dointvec’

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c: In function ‘destination_procctl’:

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:349: warning: passing argument 5 of ‘proc_dostring’ from incompatible pointer type

include/linux/sysctl.h:967: note: expected ‘loff_t *’ but argument is of type ‘size_t *’

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:349: error: too many arguments to function ‘proc_dostring’

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c: In function ‘aggregation_procctl’:

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:364: warning: passing argument 5 of ‘proc_dostring’ from incompatible pointer type

include/linux/sysctl.h:967: note: expected ‘loff_t *’ but argument is of type ‘size_t *’

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:364: error: too many arguments to function ‘proc_dostring’

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c: At top level:

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:409: warning: initialization from incompatible pointer type

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:416: warning: initialization from incompatible pointer type

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:424: warning: initialization from incompatible pointer type

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:432: warning: initialization from incompatible pointer type

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:442: error: unknown field ‘ctl_name’ specified in initializer

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:467: error: unknown field ‘ctl_name’ specified in initializer

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:467: warning: excess elements in struct initializer

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:467: warning: (near initialization for ‘netflow_sysctl_path[0]’)

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c: In function ‘usock_free’:

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:535: warning: format ‘%u’ expects type ‘unsigned int’, but argument 4 has type ‘struct socket *’

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:535: warning: too few arguments for format

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c: In function ‘add_usock’:

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:580: warning: too few arguments for format

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c: In function ‘add_aggregation’:

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:693: warning: too few arguments for format

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c: At top level:

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:1245: warning: initialization from incompatible pointer type

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c: In function ‘ipt_netflow_init’:

/usr/src/ipt_netflow-1.6/ipt_NETFLOW.c:1315: error: ‘struct proc_dir_entry’ has no member named ‘owner’

make[2]: *** [/usr/src/ipt_netflow-1.6/ipt_NETFLOW.o] Error 1

make[1]: *** [_module_/usr/src/ipt_netflow-1.6] Error 2

make[1]: Leaving directory `/usr/src/linux-headers-2.6.35-22-generic-pae'

make: *** [ipt_NETFLOW.ko] Error 2

 

 

большого опыта у меня нет. потому спрашиваю совет.

на сервере где работает сейчас ipt_netflow остались собраные модули.

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

помогите понять где я ощибся или что упустил.

  • 3 weeks later...
Posted (edited)

Всем привет.

Подскажите, есть Centos 5.5

uname -a

Linux ppp-server 2.6.18-194.26.1.el5PAE #1 SMP Tue Nov 9 13:34:42 EST 2010 i686 i686 i386 GNU/Linux

пересобрал iptables собрал ipt_NETFLOW

модуль загрузил через insmod ipt_NETFLOW.ko destination=.....

]# cat /proc/net/stat/ipt_netflow

Flows: active 4163 (peak 4891 reached 0d0h1m ago), mem 227K

Hash: size 8192 (mem 32K), metric 1.5, 1.0, 1.0, 1.0. MemTraf: 1975606 pkt, 1128669 K (pdu 19, 1943).

Timeout: active 1800, inactive 15. Maxflows 2000000

Rate: 59321094 bits/sec, 12837 packets/sec; Avg 1 min: 59801595 bps, 12947 pps; 5 min: 38098640 bps, 8297 pps

cpu# stat: <search found new, trunc frag alloc maxflows>, sock: <ok fail cberr, bytes>, traffic: <pkt, bytes>, drop: <pkt, bytes>

Total stat: 1887203 4401031 80944, 0 0 0 0, sock: 2560 0 0, 3658 K, traffic: 4481975, 2548 MB, drop: 0, 0 K

cpu0 stat: 829113 2070737 61865, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 2132602, 1431 MB, drop: 0, 0 K

cpu1 stat: 587 397 977, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 1374, 0 MB, drop: 0, 0 K

cpu2 stat: 1052950 2325364 13108, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 2338472, 1112 MB, drop: 0, 0 K

cpu3 stat: 1037 810 1626, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 2436, 0 MB, drop: 0, 0 K

cpu4 stat: 233 178 438, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 616, 0 MB, drop: 0, 0 K

cpu5 stat: 1965 2723 770, 0 0 0 0, sock: 2560 0 0, 3658 K, traffic: 3493, 3 MB, drop: 0, 0 K

cpu6 stat: 671 395 1092, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 1487, 0 MB, drop: 0, 0 K

cpu7 stat: 647 427 1068, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 1495, 0 MB, drop: 0, 0 K

sock0: 10.10.10.6:9996, sndbuf 110592, filled 0, peak 5136; err: sndbuf reached 0, other 0

статистика вроде как идет,но UTM трафик не считает (до этого все работало на 1пк, и нетфлов слался через ndsad на lo) хотя счетчик нетфлов бежит

 

добавил правила

iptables -A FORWARD -j NETFLOW

iptables -A INPUT -j NETFLOW

iptables -A OUTPUT -j NETFLOW

 

судя по УТМ, по отчету, трафик попадает только исходящий от абонента и то в сторону бродкаста или мультикаста, не считает то что идет в ппп интерфейсах (через форвардинг)

Edited by Cramac
Posted

Может кто подскажет как скомпилить под ядро 2.6.37-rc5. А то вот такая пакость выходит:

Compiling for kernel 2.6.37-rc5-build-0001
make -C /home/madvamp/globalos/tmp/modules/lib/modules/2.6.37-rc5-build-0001/build M=/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow modules
make[1]: Вход в каталог `/home/madvamp/globalos/tmp/kernel/linux-2.6.37-rc5'
  CC [M]  /home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.o
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c: In function ‘netflow_target’:
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1126: error: ‘IPT_CONTINUE’ undeclared (first use in this function)
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1126: error: (Each undeclared identifier is reported only once
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1126: error: for each function it appears in.)
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1251: error: implicit declaration of function ‘NIPQUAD’
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1252: warning: too few arguments for format
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c: At top level:
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1285: error: variable ‘ipt_netflow_reg’ has initializer but incomplete type
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1286: error: unknown field ‘name’ specified in initializer
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1286: warning: excess elements in struct initializer
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1286: warning: (near initialization for ‘ipt_netflow_reg’)
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1287: error: unknown field ‘target’ specified in initializer
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1287: warning: excess elements in struct initializer
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1287: warning: (near initialization for ‘ipt_netflow_reg’)
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1288: error: unknown field ‘family’ specified in initializer
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1288: warning: excess elements in struct initializer
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1288: warning: (near initialization for ‘ipt_netflow_reg’)
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1290: error: unknown field ‘table’ specified in initializer
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1290: warning: excess elements in struct initializer
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1290: warning: (near initialization for ‘ipt_netflow_reg’)
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1292: error: unknown field ‘hooks’ specified in initializer
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1293: warning: excess elements in struct initializer
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1293: warning: (near initialization for ‘ipt_netflow_reg’)
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1308: error: unknown field ‘me’ specified in initializer
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1309: warning: excess elements in struct initializer
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1309: warning: (near initialization for ‘ipt_netflow_reg’)
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c: In function ‘ipt_netflow_init’:
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1401: warning: passing argument 1 of ‘xt_register_target’ from incompatible pointer type
include/linux/netfilter/x_tables.h:414: note: expected ‘struct xt_target *’ but argument is of type ‘struct ipt_target *’
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c: In function ‘ipt_netflow_fini’:
/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.c:1438: warning: passing argument 1 of ‘xt_unregister_target’ from incompatible pointer type
include/linux/netfilter/x_tables.h:415: note: expected ‘struct xt_target *’ but argument is of type ‘struct ipt_target *’
make[2]: *** [/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow/ipt_NETFLOW.o] Ошибка 1
make[1]: *** [_module_/home/madvamp/globalos/tmp/ipt-netflow/ipt_netflow] Ошибка 2
make[1]: Выход из каталога `/home/madvamp/globalos/tmp/kernel/linux-2.6.37-rc5'
make: *** [ipt_NETFLOW.ko] Ошибка 2

  • 1 month later...
Posted (edited)

под 2.6.36 ктонить собирал? поделитесь патчиком, а то наваял свое (заменил NIPQUAD и HIPQUAD на %pI4 как рекомендуют в мейлистах кернела), дык теперь в dmesg айпишники задом наперед выводятся 0_о

 

netflow: registered: /proc/net/stat/ipt_netflow
netflow: registered: sysctl net.netflow
netflow: added destination 1.0.0.127:2055
ipt_netflow loaded.

Edited by Max P

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