Dark_Angel Posted February 25, 2009 Posted February 25, 2009 Добрых суток. Не могу понять где ошибка. Есть машина с ядром 2.4.37. iptables 1.4.2. Скачиваю сабж, собираю его. Все проходит, без проблем и модуль собирается. После сборки и установки пытаюсь загрузить модуль, оно говорит, что такого модуля нет. При добавлении правила, говорит: iptables v1.4.2: Couldn't load target `NETFLOW':/usr/local/libexec/xtables/libipt_NETFLOW.so: cannot open shared object file: No such file or directory Если скопировать собранный модуль, туда, где ищет, то не может найти таргет, который этот модуль добавляет. Вообщем ерунда какая-то. Все делал по мануалу, гуглил, совал собранный файл в разные места, но это ничего не дает. Не могу понять в чем проблема. Может кто сталкивался, просветит. Заранее спасибо. Вставить ник Quote
Nic Posted February 25, 2009 Posted February 25, 2009 все-таки наверное с конфигом ядра что-то не так. я бы еще раз прошелся по menuconfig в поисках пропущенной опции и перекомпилил ядро Вставить ник Quote
Dark_Angel Posted February 25, 2009 Author Posted February 25, 2009 Сложность в том, что не понятно в какую сторону копать-то. Вставить ник Quote
Дегтярев Илья Posted February 26, 2009 Posted February 26, 2009 NETFLOW':/usr/local/libexec/xtables/libipt_NETFLOW.so Собирал его где то пол года назад, и помню долго метерился заменяя в каких то файлах iptables на xtables. Поищите в эту сторону. Вставить ник Quote
[anp/hsw] Posted February 26, 2009 Posted February 26, 2009 а оно вообще с 2.4 работает? совместимость вроде не заявлена. да и не только iptables надо патчить,а и само ядро Вставить ник Quote
Dark_Angel Posted February 26, 2009 Author Posted February 26, 2009 2Дегтярев Илья: Ну в инете я такого не нашел. Вы в исходниках меняли или собранные файлы как-то тусовали? Был бы Вам очень благодарен, если бы Вы все же вспомнили, как удалось это чудо завести. 2[anp/hsw]: Ну по крайней мере не написано что не поддерживает и собирается нормально. Вставить ник Quote
a_andry Posted February 26, 2009 Posted February 26, 2009 та же самая фигня была, токо ядро 2.6, нормально поднялось только с iptables-1.4.1.1 из последних Вставить ник Quote
Dark_Angel Posted February 26, 2009 Author Posted February 26, 2009 Ну iptables 1.4.2, в том-то и проблема. С 1.3.5 вообще собираться не хотело. Вставить ник Quote
Дегтярев Илья Posted February 26, 2009 Posted February 26, 2009 Приду на работу, сравню все. Этот менял точно. # cat libipt_NETFLOW.c // iptables helper for NETFLOW target // <abc@telekom.ru> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <getopt.h> #include <iptables.h> #include <net/if.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <iptables.h> //#include <linux/netfilter_ipv4/ip_tables.h> //#include "ipt_NETFLOW.h" static struct option opts[] = { {0} }; static void NETF_help(void) { printf( "NETFLOW target\n"); } static int NETF_parse(int c, char **argv, int invert, unsigned int *flags, const void *entry, struct xt_entry_target **target) { return 1; } static void NETF_final_check(unsigned int flags) { } static void NETF_save(const void *ip, const struct xt_entry_target *match) { } static void NETF_print(const void *ip, const struct xt_entry_target *target, int numeric) { printf("NETFLOW "); } //static struct iptables_target netflow = { static struct xtables_target netflow = { .next = NULL, .name = "NETFLOW", .version = IPTABLES_VERSION, .size = XT_ALIGN(0), .userspacesize = XT_ALIGN(0), // .help = &help, .help = NETF_help, .parse = NETF_parse, // .final_check = &final_check, .final_check = NETF_final_check, .print = NETF_print, .save = NETF_save, .extra_opts = opts }; void _init(void) { xtables_register_target(&netflow); } И при компиляции в его папку кинул исходники iptables 1.4.1.1 Вставить ник Quote
Dark_Angel Posted February 26, 2009 Author Posted February 26, 2009 2Дегтярев Илья: Ну это хелпер для основного модуля, вполне вероятно что его корректировка поможет. Судя по makefile при компиляции исходники iptables используются, поэтому смысла отдельно их перебрасывать нет. Я пробовал наоборот: раскидывать исходники этого модуля по исходникам iptables. Собрать это безобразие мне не удалось. Буду благодарен, если вышлите изменный файл. Вставить ник Quote
Дегтярев Илья Posted February 26, 2009 Posted February 26, 2009 То, что выложил тут - уже измененная версия. Вставить ник Quote
Dark_Angel Posted February 26, 2009 Author Posted February 26, 2009 Ничего не изменилось. У меня такой вопрос: а почему после сборки, модуль собирается только для lib/iptables? Почему модуль не собирается для libexec/xtables где его по-умолчанию ищет iptables и не находит? Копирование собранного модуля дает только сообщение, что такого таргета нет. Кроме того, модули в папке /libexec/xtables явно отличаются по размеру, в то время, как модуль для lib/iptables соответствует среднему размеру модуля. Можно ли как-то заставить iptables брать модули из /lib/iptables ? Вставить ник Quote
Dark_Angel Posted February 27, 2009 Author Posted February 27, 2009 Пробовал собирать с разными версиями iptables. Начиная с 1.4.1.1 и вниз. 1.4.1.1 сказало, что модуль с нерешенным символом, с версией 1.3.8 вообще отказалось собираться мотивируя тем, что нет какого-то исходника в 1.3.8. А те у кого собралось, собирали 1.2 или 1.4 версию? Вставить ник Quote
alexmern Posted February 27, 2009 Posted February 27, 2009 Можно ли как-то заставить iptables брать модули из /lib/iptables ? Вашу ошибку можно легко сгенерировать: root@alice:~$ iptables -A FORWARD -i eth0 -j HELLO iptables v1.4.0: Couldn't load target `HELLO':/lib/iptables/libipt_HELLO.so: cannot open shared object file: No such file or directory Try `iptables -h' or 'iptables --help' for more information. Отсюда делаю вывод, что скорее всего с ядром всё нормально, но нет модуля для iptables. Как компилировали iptables? Сталкивался с такой проблемой. Решилось сборкой самого iptables вот так: ./configure --sbindir=/sbin --libdir=/lib Вставить ник Quote
Dark_Angel Posted February 27, 2009 Author Posted February 27, 2009 2alexmern: Вы правы, насчет того, что нет модуля. Это наблюдается для версии 1.4.2 iptables. Но к примеру для версии 1.4.1.1 модуль не подымается, хотя ложится в нужное место. Ключи, которые Вы дали, являются путями для make install sbin и lib папок соответствено. Никакого влияния на саму сборку они не оказывают, поэтому не понятно как они влияют на сам ipt_NETFLOW, тогда как его сорщик корректно распознает где лежат модули и ложит его туда же. Мне просто кажется, что на момент релиза версии 1.4 ipt_NETFLOW не было еще 1.4.2 iptables, поэтому они с ней не работают. Почему же оно не работает с версией 1.4.1.1 не ясно. iptables -I INPUT -d x.x.x.x -j NETFLOW iptables: target `[h@' vUЕSХ (I'm v1.4.1.1). Вот что получаем с 1.4.1.1. Пробовал и с оригинальным файлом и с файлом из этого топика откорректированным. Раницы никакой. Вы говорите Вы сталкивались с такой проблемой. Именно в разрезе ipt_NETFLOW и iptables или другие модули для iptables собирали? Если в разрезе ipt_NETFLOW, какие версии были ipt_NETFLOW, iptables, kernel? Вставить ник Quote
a_andry Posted February 27, 2009 Posted February 27, 2009 router ~ # iptables -nvL FORWARD | head -3 Chain FORWARD (policy ACCEPT 1191G packets, 1011T bytes) pkts bytes target prot opt in out source destination 85G 71T NETFLOW all -- * * 0.0.0.0/0 0.0.0.0/0 NETFLOW router ~ # uname -a Linux router 2.6.27-gentoo-r7 #6 SMP Thu Jan 8 15:39:43 EET 2009 i686 Intel® Xeon® CPU E5420 @ 2.50GHz GenuineIntel GNU/Linux router ~ # iptables --version iptables v1.4.1.1 Вставить ник Quote
Dark_Angel Posted February 27, 2009 Author Posted February 27, 2009 А какая версия пакета ipt_NETFLOW? Кроме того ядро 2.6, а сабж про 2.4. На 2.6 я верю, что собирали успешно. Вставить ник Quote
Dark_Angel Posted March 3, 2009 Author Posted March 3, 2009 Господа, ну вы же собирали, поделитесь версиями пакетов ipt_NETFLOW? Заранее спасибо. Вставить ник Quote
aabc Posted March 16, 2009 Posted March 16, 2009 Не думаю, что оно будет работать под 2.4, всё-таки в README сказано, что модуль для ядра 2.6. Насколько я помню нижняя версия совместимого ядра, это что-то около 2.6.16. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.