Перейти к содержимому
Калькуляторы

обновил на свою голову до Debian jessie, ядро тоже обновилось, теперь не могу собрать ip_netflow:

 

make all install

Compiling for kernel 3.10-2-686-pae

make -C /lib/modules/3.10-2-686-pae/build M=/tmp/ipt_netflow-1.8 modules

make[1]: Entering directory `/usr/src/linux-headers-3.10-2-686-pae'

CC [M] /tmp/ipt_netflow-1.8/ipt_NETFLOW.o

/tmp/ipt_netflow-1.8/ipt_NETFLOW.c: In function ‘ipt_netflow_find’:

/tmp/ipt_netflow-1.8/ipt_NETFLOW.c:859:62: error: macro "hlist_for_each_entry" passed 4 arguments, but takes just 3

/tmp/ipt_netflow-1.8/ipt_NETFLOW.c:859:2: error: ‘hlist_for_each_entry’ undeclared (first use in this function)

/tmp/ipt_netflow-1.8/ipt_NETFLOW.c:859:2: note: each undeclared identifier is reported only once for each function it appears in

/tmp/ipt_netflow-1.8/ipt_NETFLOW.c:859:64: error: expected ‘;’ before ‘{’ token

/tmp/ipt_netflow-1.8/ipt_NETFLOW.c:857:21: warning: unused variable ‘pos’ [-Wunused-variable]

/tmp/ipt_netflow-1.8/ipt_NETFLOW.c:856:22: warning: unused variable ‘nf’ [-Wunused-variable]

/tmp/ipt_netflow-1.8/ipt_NETFLOW.c: In function ‘ipt_netflow_init’:

/tmp/ipt_netflow-1.8/ipt_NETFLOW.c:1437:2: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]

/tmp/ipt_netflow-1.8/ipt_NETFLOW.c:1437:12: warning: assignment makes pointer from integer without a cast [enabled by default]

/tmp/ipt_netflow-1.8/ipt_NETFLOW.c:1442:11: error: dereferencing pointer to incomplete type

cc1: some warnings being treated as errors

make[4]: *** [/tmp/ipt_netflow-1.8/ipt_NETFLOW.o] Error 1

make[3]: *** [_module_/tmp/ipt_netflow-1.8] Error 2

make[2]: *** [sub-make] Error 2

make[1]: *** [all] Error 2

make[1]: Leaving directory `/usr/src/linux-headers-3.10-2-686-pae'

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Безотносительно nfdump это означает, что программа не может выделить память в куче, а значит либо исчерпалась свободная память на машине, либо программа уперлась в лимиты(что более вероятно, см. ulimit и cgroups).

 

Посмотрел top, действительно при запуске nfdump заканчивалась вся память коей было как раз 4 Гбайта.

nfdump видимо весь файл полностью держит в памяти, и записывает его только в конеце, поэтому 3,3 Гига еще проскакивало.

 

Пришлось сделать почасовую агрегацию. Надеюсь, что когда мой трафик вырастет в 24 раза, будут деньги на отдельный сервер для логов :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Посмотрел top, действительно при запуске nfdump заканчивалась вся память коей было как раз 4 Гбайта.

4Gb - это вся виртуальная память или только RAM?

Можно попробовать увеличить объем swap. Т.к. прикладная программа не знает откуда ОС ей выделяет память, то возможно это поможет, но только тормозить будет. Если не поможет, то дело в лимитах или в каких-то других механизмах планировщика памяти.

 

/tmp/ipt_netflow-1.8/ipt_NETFLOW.c:859:62: error: macro "hlist_for_each_entry" passed 4 arguments, but takes just 3

разработчики ядра время от времени ломают API в разных подсистемах. К сожалению в этом случае выход только один - менять код модуля. Можете загуглить новую имплементацию указанного макроса и рецепт перехода со старого, а потом попробовать изменить его вызов в указанном месте исходного кода.

 

/tmp/ipt_netflow-1.8/ipt_NETFLOW.c:1437:2: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]

эта ошибка скорее всего возникла из-за обновления gcc, теперь он по умолчанию с другими ключами стал запускаться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в модуль добавлены netflow v9 и ipfix, нужны тесты и feedback.

 

https://github.com/aabc/ipt-netflow или на sourceforge

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Под 3.9 и выше не собирается.

Надо таки использовать

#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
#define BEFORE390(x,y) x,y
   struct hlist_node *pos;
#else /* since 3.9.0 */
#define BEFORE390(x,y)
#endif

и

BEFORE390(pos,)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Под 3.9 и выше не собирается. Надо таки использовать

 

#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)

#define BEFORE390(x,y) x,y

 

Спасибо, но ваше решение не работает на ядрах меньше 3.9, так как (например, в centos 6 на gcc 4.4.7) нельзя передать несколько аргументов в макро через другое макро, а hlist_for_each_entry это макро, а не функция (в отличии от proc_dointvec, где трюк с BEFORE2632 работает). Так вот, я там закоммитил нормальный фикс в гит, посмотрите.

 

Возможное TODO проекта:

 

* поддержка BGP (заполнение полей src/dst AS),

* или заполнение AS из routing realm/tclassid,

* поддержка IPv6,сделано

* поддержка NAT (natEvent в стиле NEL для v9/ipfix или что-то совместимое с v5),сделано

* какая-нибудь дополнительная статистика для v9/ipfix. (сделано: ip options, tcp options.)

* nexthop,сделано

* arptables?

 

Люди, предлагайте, что вас больше и меньше интересует из перечисленного. А чтобы поддержать проект жмите кнопку donate на sourceforge.

Изменено пользователем aabc

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А вот по вот этому реквесту какие-нибудь подвижки будут?

 

http://sourceforge.net/p/ipt-netflow/bugs-requests-patches/63/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

taf_321

Возможно.

 

ps. Сделано, см. git.

Изменено пользователем aabc

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

под 3.9.11 и 3.11 не компилится

 

BGP-Border:/install/ipt-netflow-master # make all install
Compiling for kernel 3.9.11-0.27-pae
make -C /lib/modules/3.9.11-0.27-pae/build M=/install/ipt-netflow-master modules
make[1]: Entering directory `/usr/src/linux-3.9.11'
 CC [M]  /install/ipt-netflow-master/ipt_NETFLOW.o
/install/ipt-netflow-master/ipt_NETFLOW.c:1003:73: error: macro "hlist_for_each_entry" passed 4 arguments, but takes just 3
/install/ipt-netflow-master/ipt_NETFLOW.c: In function ‘ipt_netflow_find’:
/install/ipt-netflow-master/ipt_NETFLOW.c:1003: error: ‘hlist_for_each_entry’ undeclared (first use in this function)
/install/ipt-netflow-master/ipt_NETFLOW.c:1003: error: (Each undeclared identifier is reported only once
/install/ipt-netflow-master/ipt_NETFLOW.c:1003: error: for each function it appears in.)
/install/ipt-netflow-master/ipt_NETFLOW.c:1003: error: expected ‘;’ before ‘{’ token
/install/ipt-netflow-master/ipt_NETFLOW.c:995: warning: unused variable ‘nf’
/install/ipt-netflow-master/ipt_NETFLOW.c:1402:67: error: macro "hlist_for_each_entry_safe" passed 5 arguments, but takes just 4
/install/ipt-netflow-master/ipt_NETFLOW.c: In function ‘free_templates’:
/install/ipt-netflow-master/ipt_NETFLOW.c:1402: error: ‘hlist_for_each_entry_safe’ undeclared (first use in this function)
/install/ipt-netflow-master/ipt_NETFLOW.c:1403: error: expected ‘;’ before ‘vfree’
/install/ipt-netflow-master/ipt_NETFLOW.c:1400: warning: unused variable ‘tpl’
/install/ipt-netflow-master/ipt_NETFLOW.c:1396: warning: unused variable ‘tmp’
/install/ipt-netflow-master/ipt_NETFLOW.c:1422:72: error: macro "hlist_for_each_entry" passed 4 arguments, but takes just 3
/install/ipt-netflow-master/ipt_NETFLOW.c: In function ‘get_template’:
/install/ipt-netflow-master/ipt_NETFLOW.c:1422: error: ‘hlist_for_each_entry’ undeclared (first use in this function)
/install/ipt-netflow-master/ipt_NETFLOW.c:1423: error: expected ‘;’ before ‘if’
make[2]: *** [/install/ipt-netflow-master/ipt_NETFLOW.o] Error 1
make[1]: *** [_module_/install/ipt-netflow-master] Error 2
make[1]: Leaving directory `/usr/src/linux-3.9.11'
make: *** [ipt_NETFLOW.ko] Error 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Antares

Дело в том что вы не скачали последнюю версию модуля из git. Сделайте clone репозитория заново.

 

ps. Сделал там (на github) изменения для совместимости с 3.11, не забудьте сделать git pull.

Изменено пользователем aabc

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Antares

Дело в том что вы не скачали последнюю версию модуля из git. Сделайте clone репозитория заново.

 

ps. Сделал там (на github) изменения для совместимости с 3.11, не забудьте сделать git pull.

 

ошибочка

 

# make all install
Compiling for kernel 3.9.6-pae
make -C /lib/modules/3.9.6-pae/build M=/install/ipt-netflow modules
make[1]: Entering directory `/usr/src/linux-3.9.6'
 CC [M]  /install/ipt-netflow/ipt_NETFLOW.o
 Building modules, stage 2.
 MODPOST 1 modules
WARNING: "__udivdi3" [/install/ipt-netflow/ipt_NETFLOW.ko] undefined!
 CC      /install/ipt-netflow/ipt_NETFLOW.mod.o
 LD [M]  /install/ipt-netflow/ipt_NETFLOW.ko
make[1]: Leaving directory `/usr/src/linux-3.9.6'
gcc -O2 -Wall -Wunused -DXTABLES -I/usr/local/include   -fPIC -o libipt_NETFLOW_sh.o -c libipt_NETFLOW.c
gcc -shared  -o libipt_NETFLOW.so libipt_NETFLOW_sh.o
make -C /lib/modules/3.9.6-pae/build M=/install/ipt-netflow modules_install INSTALL_MOD_PATH=
make[1]: Entering directory `/usr/src/linux-3.9.6'
 INSTALL /install/ipt-netflow/ipt_NETFLOW.ko
 DEPMOD  3.9.6-pae
WARNING: /lib/modules/3.9.6-pae/extra/ipt_NETFLOW.ko needs unknown symbol __udivdi3
make[1]: Leaving directory `/usr/src/linux-3.9.6'
install -D libipt_NETFLOW.so /usr/local/libexec/xtables/libipt_NETFLOW.so

 

 

На 3.11

 

# make all install
Compiling for kernel 3.11.0-0.27-pae
make -C /lib/modules/3.11.0-0.27-pae/build M=/install/ipt-netflow modules
make[1]: Entering directory `/usr/src/linux-3.11'
 CC [M]  /install/ipt-netflow/ipt_NETFLOW.o
/install/ipt-netflow/ipt_NETFLOW.c: In function ‘ipt_netflow_init’:
/install/ipt-netflow/ipt_NETFLOW.c:2028: error: ‘num_physpages’ undeclared (first use in this function)
/install/ipt-netflow/ipt_NETFLOW.c:2028: error: (Each undeclared identifier is reported only once
/install/ipt-netflow/ipt_NETFLOW.c:2028: error: for each function it appears in.)
make[2]: *** [/install/ipt-netflow/ipt_NETFLOW.o] Error 1
make[1]: *** [_module_/install/ipt-netflow] Error 2
make[1]: Leaving directory `/usr/src/linux-3.11'
make: *** [ipt_NETFLOW.ko] Error 2

Изменено пользователем Antares

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Antares

Исправил. Пожалуйста, не забудьте сделать git pull из github.

Изменено пользователем aabc

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

/tmp/1/ipt-netflow# lsb_release -d

Description: Debian GNU/Linux testing (jessie)

 

uname -a

Linux gw 3.10-2-686-pae #1 SMP Debian 3.10.7-1 (2013-08-17) i686 GNU/Linux

 

/tmp/1/ipt-netflow# git status

# On branch master

nothing to commit, working directory clean

 

/tmp/1/ipt-netflow# git pull

Already up-to-date.

 

/tmp/1/ipt-netflow# ./configure

Kernel version: 3.10-2-686-pae

Kernel sources: /lib/modules/3.10-2-686-pae/build

Iptables binary version: 1.4.20 (detected from /sbin/iptables)

pkg-config for version 1.4.20 exists: Yes

Iptables include flags: (pkg-config)

Iptables module path: /lib/xtables (pkg-config)

Creating Makefile.. done.

 

Now run: make all install

 

/tmp/1/ipt-netflow# make all install

Compiling for kernel 3.10-2-686-pae

make -C /lib/modules/3.10-2-686-pae/build M=/tmp/1/ipt-netflow modules

make[1]: Entering directory `/usr/src/linux-headers-3.10-2-686-pae'

Building modules, stage 2.

MODPOST 1 modules

WARNING: "__udivdi3" [/tmp/1/ipt-netflow/ipt_NETFLOW.ko] undefined!

make[1]: Leaving directory `/usr/src/linux-headers-3.10-2-686-pae'

gcc -O2 -Wall -Wunused -DXTABLES -fPIC -o libipt_NETFLOW_sh.o -c libipt_NETFLOW.c

gcc -shared -o libipt_NETFLOW.so libipt_NETFLOW_sh.o

make -C /lib/modules/3.10-2-686-pae/build M=/tmp/1/ipt-netflow modules_install INSTALL_MOD_PATH=

make[1]: Entering directory `/usr/src/linux-headers-3.10-2-686-pae'

INSTALL /tmp/1/ipt-netflow/ipt_NETFLOW.ko

DEPMOD 3.10-2-686-pae

make[1]: Leaving directory `/usr/src/linux-headers-3.10-2-686-pae'

install -D libipt_NETFLOW.so /lib/xtables/libipt_NETFLOW.so

 

/tmp/1/ipt-netflow# depmod

 

/tmp/1/ipt-netflow# modprobe ipt_NETFLOW destination=192.168.48.6:9996

ERROR: could not insert 'ipt_NETFLOW': Unknown symbol in module, or unknown parameter (see dmesg)

 

/tmp/1/ipt-netflow# iptables -I FORWARD 1 -j NETFLOW

iptables: No chain/target/match by that name.

Изменено пользователем r1sh

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

r1sh

Я сейчас сделал push на sorceforge, попробуйте сделать git pull ещё раз. Эти изменения надо было брать с github (а не с sourceforge). Рекомендую сделать чистовой clone с github всем у кого возникли проблемы с pull (например если pull даёт какую-либо ошибку):

 

# git clone https://github.com/aabc/ipt-netflow.git

 

В багрепорте весьма пригодится вывод git branch -v

 

~/ipt-netflow# git branch -v
* master 79642dd do_div() for gcc below 4.0.

 

В этом примере число 79642dd точно идентифицирует версию ваших исходников. Откуда у вас загружен репозиторий можно проверить командой: git remote show -n origin

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

r1sh

Я сейчас сделал push на sorceforge, попробуйте сделать git pull ещё раз. Эти изменения надо было брать с github (а не с sourceforge). Рекомендую сделать чистовой clone с github всем у кого возникли проблемы с pull (например если pull даёт какую-либо ошибку):

 

# git clone https://github.com/aabc/ipt-netflow.git

 

В багрепорте весьма пригодится вывод git branch -v

 

~/ipt-netflow# git branch -v
* master 79642dd do_div() for gcc below 4.0.

 

В этом примере число 79642dd точно идентифицирует версию ваших исходников. Откуда у вас загружен репозиторий можно проверить командой: git remote show -n origin

 

сейчас скомпилилось, вообще огонь!!! спасибо огромное!

 

только не могу параметры обновить, он берет настройки из /etc/modprobe.d/netflow.conf или из sysctl.conf ?

Изменено пользователем r1sh

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

только не могу параметры обновить, он берет настройки из /etc/modprobe.d/netflow.conf или из sysctl.conf ?

Модули, как правило, не читают настроек из файлов, по настройкам см. README. Можно передавать параметры при загрузке модуля (как у любого другого модуля в linux) или после загрузки модуля через команду sysctl net.netflow. В каком порядке организована загрузка после ребута в вашем дистрибутиве я не знаю.

Изменено пользователем aabc

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

только не могу параметры обновить, он берет настройки из /etc/modprobe.d/netflow.conf или из sysctl.conf ?

Модули, как правило, не читают настроек из файлов, по настройкам см. README. Можно передавать параметры при загрузке модуля (как у любого другого модуля в linux) или после загрузки модуля через команду sysctl net.netflow. В каком порядке организована загрузка после ребута в вашем дистрибутиве я не знаю.

 

спасибо огромное за помощь во всем!)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

* поддержка BGP (заполнение полей src/dst AS),

* поддержка IPv6,

 

вот это очень бы интересовало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Господа!

У кого работает на

3.10-0.bpo.3-amd64 SMP Debian 3.10.11-1~bpo70+1 (2013-09-24) x86_64

iptables v1.4.20

 

версия последняя с git clone https://github.com/aabc/ipt-netflow.git

 

при загрузке модуля.

 

[ 17.938451] ipt_NETFLOW version 1.8.1 (8192 buckets)

[ 17.938535] netflow: registered: /proc/net/stat/ipt_netflow

[ 17.938548] netflow: registered: sysctl net.netflow

[ 17.938572] ipt_NETFLOW: added destination XXX.XXX.XXX.Y:7223

[ 17.938587] ipt_NETFLOW: added destination XXX.XXX.XXX.Z:7223

[ 17.938591] ipt_NETFLOW protocol version 5 (NetFlow) enabled.

[ 17.938595] ipt_NETFLOW is loaded.

[ 17.944581] ipt_NETFLOW: allocating new hash table 8192 -> 262144 buckets

[ 17.945245] ------------[ cut here ]------------

[ 17.945255] WARNING: at /build/linux-9_tuUh/linux-3.10.11/kernel/softirq.c:160 _local_bh_enable_ip.isra.17+0x33/0x88()

[ 17.945258] Modules linked in: nf_nat_pptp nf_nat_proto_gre nf_conntrack_pptp nf_conntrack_proto_gre ipt_NETFLOW(O) iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_filter ip_tables x_tables ip_set_hash_net ip_set_hash_ip ip_set nfnetlink bonding 8021q garp stp mrp llc loop hid_generic usbhid hid tg3 ptp pps_core e1000e(O) libphy iTCO_wdt iTCO_vendor_support ehci_pci ehci_hcd usbcore coretemp usb_common acpi_cpufreq mperf lpc_ich mfd_core i2c_i801 i2c_core evdev snd_pcm snd_page_alloc snd_timer snd soundcore pcspkr kvm_intel kvm crc32c_intel processor thermal_sys microcode button ext3 mbcache jbd raid1 md_mod sr_mod sd_mod cdrom crc_t10dif ahci libahci libata scsi_mod

[ 17.945333] CPU: 4 PID: 3427 Comm: sysctl Tainted: G O 3.10-0.bpo.3-amd64 #1 Debian 3.10.11-1~bpo70+1

[ 17.945336] Hardware name: HP ProLiant ML110 G6/ProLiant ML110 G6, BIOS O27 09/06/2010

[ 17.945339] ffffffff8138cac3 0000000000000000 ffffffff8103be31 0000000000000000

[ 17.945346] 0000000000000000 0000000000000216 0000000000000000 ffffc90003783000

[ 17.945351] 0000000000000000 ffffc90003d51000 ffffffff810422ef ffffffffa03185a0

[ 17.945357] Call Trace:

[ 17.945365] [<ffffffff8138cac3>] ? dump_stack+0xd/0x17

[ 17.945372] [<ffffffff8103be31>] ? warn_slowpath_common+0x5f/0x77

[ 17.945377] [<ffffffff810422ef>] ? _local_bh_enable_ip.isra.17+0x33/0x88

[ 17.945384] [<ffffffffa031659e>] ? hsize_procctl+0x134/0x172 [ipt_NETFLOW]

[ 17.945392] [<ffffffff8115d17a>] ? proc_sys_call_handler+0x98/0xbf

[ 17.945400] [<ffffffff8110c390>] ? vfs_write+0x9d/0x103

[ 17.945405] [<ffffffff8110c682>] ? SyS_write+0x51/0x80

[ 17.945412] [<ffffffff81395429>] ? system_call_fastpath+0x16/0x1b

[ 17.945415] ---[ end trace bbed798b4cbf2d8a ]--

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Господа!

У кого работает на

3.10-0.bpo.3-amd64 SMP Debian 3.10.11-1~bpo70+1 (2013-09-24) x86_64

iptables v1.4.20

 

версия последняя с git clone https://github.com/aabc/ipt-netflow.git

 

при загрузке модуля.

 

 

тоже самое на 3.11.х

написал на гитхабе....

но при повторной загрузке модуля (rmmod/modprobe) ошибка не выскакивает

Изменено пользователем stasn1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

модуль работал работал, потом в один момент вылетел, modprobe его не находит, сделал git pull, делаю make all , получаю ошибку:(

 

root@gw:/tmp/ipt-netflow/ipt-netflow# make all
Compiling for kernel 3.10.7
make -C /lib/modules/3.10-2-686-pae/build M=/tmp/ipt-netflow/ipt-netflow modules
make[1]: Entering directory `/usr/src/linux-headers-3.10-2-686-pae'
 CC [M]  /tmp/ipt-netflow/ipt-netflow/ipt_NETFLOW.o
 Building modules, stage 2.
 MODPOST 1 modules
 CC      /tmp/ipt-netflow/ipt-netflow/ipt_NETFLOW.mod.o
 LD [M]  /tmp/ipt-netflow/ipt-netflow/ipt_NETFLOW.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.10-2-686-pae'
gcc -O2 -Wall -Wunused -DXTABLES   -fPIC -o libipt_NETFLOW_sh.o -c libipt_NETFLOW.c
gcc -shared -o libipt_NETFLOW.so libipt_NETFLOW_sh.o
make: *** No rule to make target `libip6t_NETFLOW.so', needed by `all'.  Stop.
rm libipt_NETFLOW_sh.o

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

r1sh

Спасибо. Залил в git фикс.

Не забывайте, что это тестовая версия. Последние дни добавились большие изменения: NAT translation events (NEL) и IPv6 support. Надеюсь на тестирование.

Изменено пользователем aabc

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

r1sh

Спасибо. Залил в git фикс.

Не забывайте, что это тестовая версия. Последние дни добавились большие изменения: NAT translation events (NEL) и IPv6 support. Надеюсь на тестирование.

 

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

 

я бы ничего не менял если бы модуль не отвалился:(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вчера собрал и запустил последнюю версию модуля ipt_NETFLOW (с https://github.com/aabc/ipt-netflow.git) на Debian 6 Squeeze, ядро 2.6.32-5-686-bigmem (кстати скриптом configure текущее ядро не определилось, пришлось его явно указать --kver=...).

Листинг сборки:

Compiling for kernel 2.6.32-5-686-bigmem
make -C /lib/modules/2.6.32-5-686-bigmem/build M=/home/user/ipt-netflow modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-5-686-bigmem'
 CC [M]  /home/user/ipt-netflow/ipt_NETFLOW.o
 Building modules, stage 2.
 MODPOST 1 modules
 CC      /home/user/ipt-netflow/ipt_NETFLOW.mod.o
 LD [M]  /home/user/ipt-netflow/ipt_NETFLOW.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-5-686-bigmem'
gcc -O2 -Wall -Wunused -DXTABLES   -fPIC -o libipt_NETFLOW_sh.o -c libipt_NETFLOW.c
gcc -shared -o libipt_NETFLOW.so libipt_NETFLOW_sh.o
gcc -O2 -Wall -Wunused -DXTABLES   -fPIC -o libip6t_NETFLOW_sh.o -c libipt_NETFLOW.c
gcc -shared -o libip6t_NETFLOW.so libip6t_NETFLOW_sh.o
make -C /lib/modules/2.6.32-5-686-bigmem/build M=/home/user/ipt-netflow modules_install INSTALL_MOD_PATH=
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-5-686-bigmem'
 INSTALL /home/user/ipt-netflow/ipt_NETFLOW.ko
 DEPMOD  2.6.32-5-686-bigmem
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-5-686-bigmem'
install -D libipt_NETFLOW.so /lib/xtables/libipt_NETFLOW.so
install -D libip6t_NETFLOW.so /lib/xtables/libip6t_NETFLOW.so
rm libipt_NETFLOW_sh.o libip6t_NETFLOW_sh.o

Включил сбор всего трафика

iptables -I INPUT 1 -j NETFLOW
iptables -I OUTPUT 1 -j NETFLOW
iptables -I FORWARD 1 -j NETFLOW

Сегодня сервер завис :(

Трафик чуть меньше 200 мбит/с. В логах ничего подозрительного нет. Примерно за 20 минут до зависания наблюдались потери пакетов.

На машине кроме установки модуля более ничего не менялось, поэтому наверняка проблема с ним. До этого проблем с зависанием небыло вообще. В качестве netflow сенсора использовался fprobe, но с увеличением трафика он стал нагружать CPU.

Я понимаю, что тестовую версию модуля установил, будем надеяться, что автор продолжит работу над ним.

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

 

upd.

Собрал сейчас версию из http://sourceforge.net/projects/ipt-netflow

Судя по архиву версия 1.8 (ipt_netflow-1.8.tgz), а при загрузке модуль говорит, что он 1.7.2

[ 3207.928264] ipt_netflow version 1.7.2 (8192 buckets)
[ 3207.928343] netflow: registered: /proc/net/stat/ipt_netflow
[ 3207.928410] netflow: registered: sysctl net.netflow
[ 3207.928421] netflow: added destination 127.0.0.1:2055
[ 3207.928425] ipt_netflow loaded.

Надеюсь, что эта версия стабильная.

Изменено пользователем apog

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.