LINUX.ORG.RU
ФорумAdmin

iptables не видит модули xtables-addon


0

1

Вечер добрый всем. Скачал xtables-addon с sourceforge, установил как надо, пытаюсь выполнить:

# iptables -A PREROUTING -d 9.9.9.9 -j LOGMARK 
  iptables v1.4.11.1: Couldn't load target `LOGMARK':No such file or directory
iptables 1.4.11.1, linux-2.6.39 (самосборное), CONFIG_NETFILTER_XTABLES=m

root@tproxy:# lsmod | grep x_tables
x_tables               24408  21 xt_TRACE,xt_CLASSIFY,ipt_REJECT,xt_connbytes,xt_length,xt_dscp,ipt_LOG,xt_mark,xt_TPROXY,xt_tcpudp,xt_multiport,xt_set,xt_connmark,xt_state,xt_socket,ip6_tables,iptable_raw,iptable_filter,iptable_nat,iptable_mangle,ip_tables

root@tproxy:~# pkg-config xtables --variable=xtlibdir
/usr/local/lib/xtables

ls /usr/local/lib/xtables | grep -i log
root@tproxy:~# ls -l /usr/local/lib/xtables  | grep log -i
-rwxr-xr-x 1 root root 23340 2011-09-30 17:28 libip6t_LOG.so
-rwxr-xr-x 1 root root 23380 2011-09-30 17:28 libipt_LOG.so
-rwxr-xr-x 1 root root 22735 2011-09-30 17:28 libipt_ULOG.so
-rwxr-xr-x 1 root root 22588 2011-11-12 14:07 libxt_LOGMARK.so
-rwxr-xr-x 1 root root 22186 2011-09-30 17:28 libxt_NFLOG.so

Не понимаю, в чем дело.. Откуда вообще iptables берет модули? /lib/xtables ? Я туда скопировал все из /usr/local/lib/xtables, но он упорно не видит ничего.. Подскажите кто разбирается


Ответ на: комментарий от Pinkbyte

и я о том же.. пробовал загружать модуль через insmod - ругается.. invalid module format.. И modinfo ничего не говорит.. вообще. Проверил modinfo /bin/sh - тоже ничего.. значит ругаться он не умеет :)

Поэтому не пойму.. Мое предположение - модули LOGMARK и остальные - их запускает\подгружает x_tables.. И вот думаю.. может я что проглядел? может у него настройки какие нибудь есть, или еще какая-нибудь ерунда, которая сказала бы, где что брать?

Не пойму, в чем закавыка. config.log от xtables: http://paste.org.ru/?in2ggq

PATRI0T
() автор топика

Откуда вообще iptables берет модули?

Зависит от дистрибутива (от того, с какими опциями был собран iptables). Можно посмотреть strace от iptables, тогда будет точно видно, куда лезет iptables.

Вобще, ЕМНИП, сборка xtables-addon должна была создать модуль (модули) ядра. Они у вас есть? Допустим, есть файл xt_LOGMARK.ko в /lib/modules/...?

У многих дистрибутивов xtables-addon есть отдельным пакетом и не надо мучаться со сборкой.

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

>пробовал загружать модуль через insmod - ругается.. invalid module format.

какой модуль? который в /lib/xtables? Это модуль iptables, а не модуль ядра. Нужно отдельно наложить патч на ядро из xtables_addons и собрать патченное ядро с нужными модулями

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

Спасибо всем.

to mky:

вот поиск что дает...

root@tproxy:~# locate LOGMARK | grep ko
/lib/modules/2.6.39-custom-gre/extra/xt_LOGMARK.ko
/var/src/install/xtables-addons-1.39/extensions/.xt_LOGMARK.ko.cmd
/var/src/install/xtables-addons-1.39/extensions/xt_LOGMARK.ko
спасибо, mky, тебе за подсказку.. Теперь modinfo хоть что-то говорит..
 

root@tproxy:~# modinfo /lib/modules/2.6.39-custom-gre/extra/xt_LOGMARK.ko
filename:       /lib/modules/2.6.39-custom-gre/extra/xt_LOGMARK.ko
alias:          ip6t_LOGMARK
alias:          ipt_LOGMARK
license:        GPL
author:         Jan Engelhardt <jengelh@medozas.de>
description:    Xtables: netfilter mark logging to syslog
srcversion:     0862B8DD7A60C86C0B135D1
depends:        compat_xtables
vermagic:       2.6.39-custom-gre SMP mod_unload modversions
root@tproxy:~# insmod /lib/modules/2.6.39-custom-gre/extra/xt_LOGMARK.ko
insmod: error inserting '/lib/modules/2.6.39-custom-gre/extra/xt_LOGMARK.ko': -1 Unknown symbol in module

Но загрузить так и не получилось.. почему?
/lib/modules/2.6.39-custom-gre/extra/ - там лежит xtables модули, которые я собирал..
/lib/modules/2.6.39-custom-gre/kernel/net/netfilter/ - а тут - лежат все остальные, которые работают..
Интуитивно скопировал с первого во второе.. нифига.. Пока буду копать «Unknown symbol in module»..что еще за ерунда..

to Pinkbyte: так xtables он тем и отличается от patch-o-matic, что не надо ядро патчить, и только изредка iptables.. Или я не прав? Что за патч нужно наложить на ядро? Повторюсь, ядро собрано с CONFIG_NETFILTER_XTABLES=m, модуль загружен и вроде бы работает..

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

Немножечко поторопился.. Вспомнил, что забыл сделать DEPMOD.. Сделал.. теперь модуль грузится

root@tproxy:/lib# lsmod | grep -i log
xt_LOGMARK              2422  0
compat_xtables          3931  1 xt_LOGMARK
ipt_LOG                 7539  5
x_tables               24408  22 compat_xtables,xt_TRACE,xt_CLASSIFY,ipt_REJECT,xt_connbytes,xt_length,xt_dscp,ipt_LOG,xt_mark,xt_TPROXY,xt_tcpudp,xt_multiport,xt_set,xt_connmark,xt_state,xt_socket,ip6_tables,iptable_raw,iptable_filter,iptable_nat,iptable_mangle,ip_tables
!!! x_tables, compat_xtables.. что-то лажа какая-то... Обращаю внимание, что compat_iptables использует x_tables.. Не знаю что предполагать, кажется, iptables просто не там ищет..
И не работает...

root@tproxy:/lib# iptables -A PREROUTING -d 9.9.9.9 -j LOGMARK
iptables v1.4.11.1: Couldn't load target `LOGMARK':No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
PATRI0T
() автор топика
Ответ на: комментарий от PATRI0T

Модули ядра и модули iptables это разные вещи. То, что вы нашли модуль ядра и загрузили это хорошо. Теперь нужно выяснить, почему iptables не видит libxt_LOGMARK.so. Для начала поищите, сколько вобще у вас команд iptables, а то может быть, что одна дистрибутивная, другая собраная из исходников.

Что и где ищется я советовал посмотреть с помощью strace, допустим так

strace -v -e trace=stat,stat64,getdents64,getdents,open iptables -A INPUT -j LOGMARK

mky ★★★★★
()

По умолчанию iptables ищет модули в /lib/xtables и называться они должны по особым правилам. Для целей это маска 'libxt_TARGET.so' (для новых модулей) или 'libipt_TARGET.so' (для старых модулей). При этом соответствующие модули ядра уже должны быть загружены. Проверить это можно командой 'lsmod'. Если все эти условия у вас выполнены и все равно не работает, запостите, плиз, свежий вывод iptables при попытке установки правила и вывод 'lsmod | grep LOGMARK'

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