LINUX.ORG.RU
ФорумAdmin

Iptables. Модуль iplimit


0

0

# iptables -A INPUT -p tcp --syn --dport http -m iplimit --iplimit-above 4 -j REJECT iptables v1.2.11: Couldn't load match `iplimit':/lib/iptables/libipt_iplimit.so: cannot open shared object file: No such file or directory

Вот самая проблема. Система RHEL 4.4, kernel2.6.9-5.E. Само собой по гуглил. Скачал path-o-matic нашел там connlimit но вот как его добавить в систему ? )

Запускаю ./runme указываю директорию на сорцы ядра, а вот на сорца iptables не могу ибо он у меня из rpm :((( Сказал iptables src не удаляя старую и установил полностью все патчи пачоматика затем сделал в сорцах iptables make, make install но ничего не поменялось (((( помогите плз (((

anonymous

вообще то, если у тебя есть rpm, то и сорсы у тебя есть :)

посмотри внутри RPM, например через mc

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

Нет. Если я ставлю src.rpm то да сорцы появляются в /usr/src/redhat/SOURCE, но если из обычного rpm но ставятся только нужные файлы, библиотеки итд.

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

а что те мешает скачать ту же самую версию сырцов из netfilter.org
и будет тебе счастье.

sova ★★
()

сам относительно недавно клепал такое ведро. могу выслать spec'и ядра и iptables для сборки.

berrywizard ★★★★★
()

>затем сделал в сорцах iptables make, make install но ничего не поменялось ((((

Обычно после этого в RH система появляется две команды iptables, одна в /sbin/, другая в /usr/sbin/ или /usr/local/sbin... Причем первая ищет свои библиотеки в /lib/iptables/, а вторая где-то в /usr/...

А с патчиньем iptables надо осторжнее, у них нет защиты/привязки версии команды iptables и версии iptables в ядре, обмен между ядром и /sbin/iptables идет двоичными данными. Там бывают напатчат ядро, а потом SNAT правила перестают работать.

mky ★★★★★
()

Вообщем сам модуль ipt_connlimit в системе есть НО

# modprobe /usr/local/lib/iptables/libipt_connlimit FATAL: Module /usr/local/lib/iptables/libipt_connlimit not found.

# iptables -t filter -A FORWARD -p tcp --syn --dport http -m connlimit --connlimit-above 10 -j DROP iptables: No chain/target/match by that name

:(((

Пробовал patch-o-matic ставить чисто по документации : http://www.opennet.ru/base/net/connlimit_fedora.txt.html

но там нет в make menuconfig такого пункта как Connections/IP limit match support

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

># modprobe /usr/local/lib/iptables/libipt_connlimit FATAL: Module /usr/local/lib/iptables/libipt_connlimit not found.

Не надо так зажигать :) Во первых, modprobe не скармливают имя файла (вместе с путем), а только имя модуля, она ищет его в modules.dep... Имя файла (модуля ядра) скармливают команда insmod. Во вторых, libipt_connlimit.so ---- это DLL (динамическая библиотека) команды iptables, она ее загружает сама, если ей передали соотв. параметры в командной строке (-m connlimit), а ядро этот модуль не поймет :)

Несколько слов про устройство iptables. Система состоит как бы из двух половинок: команда iptables (которую запускают из командной строки) и кусочка в ядре. Каждый match или targer (за исключением базовых) аналогично состоит из двух половинок --- DLL (которую загружает и выполняет команда iptables) и части (модуля) ядра. Когда необходимо добавить недостающий фунционал нужно обязательно пропатчить и ядро и команду iptables.

>Пробовал patch-o-matic ставить чисто по документации

Это правильный путь, но надеюсь делал с головой? То есть "EXTRAVERSION = -5.E" или какая там должна быть у RHEL 4.4 и patch-o-matic брал подходящий для версии ядра? С последним сложнее. Насколько я помню, нет жеской привязки какой patch-o-matic какие ядра ядра может править. Необходимо смотреть дату выхода ядра и брать вышедший примерно в тоже время patch-o-matic.

В общем пока у тебя не появится пункт "IP limit match support" в make menuconfig, тебе не скомпилить модуль для ядра --- не получить поддержке в ядре -m limit

Что говорит "./runme --download connlimit" ???

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

./runme --download connlimit

http://mynodes.net/pub/linux/netfilter/patchlets: bad patch name <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">, ignored
http://mynodes.net/pub/linux/netfilter/patchlets: bad patch name <HTML><HEAD>, ignored
http://mynodes.net/pub/linux/netfilter/patchlets: bad patch name <TITLE>302 Found</TITLE>, ignored
http://mynodes.net/pub/linux/netfilter/patchlets: bad patch name </HEAD><BODY>, ignored
http://mynodes.net/pub/linux/netfilter/patchlets: bad patch name <H1>Found</H1>, ignored
http://mynodes.net/pub/linux/netfilter/patchlets: bad patch name The document has moved <A HREF="http://people.netfilter.org/peejix/patchlets/">here</A>.<P>;, ignored
http://mynodes.net/pub/linux/netfilter/patchlets: bad patch name </BODY></HTML>, ignored
Successfully downloaded external patch condition
Hey! KERNEL_DIR is not set.
Where is your kernel source directory? [/usr/src/linux]

дальше я указываю диру на ядро которая появилась после установки пакета kerne-devel и на iptables который я поставил из rpm.src. Старый дефолтный iptables я удалил.

Да и еще хочу отметить что по вышеописаной инструкции у меня в каталоге /usr/src/redhat/SPECS/ нету kernel.spec, там только iptables.spec

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

> Да и еще хочу отметить что по вышеописаной инструкции у меня в каталоге /usr/src/redhat/SPECS/ нету kernel.spec, там только iptables.spec

потому что ставить надо не kernel-devel, а kernel-xxx.src.rpm, в другой ветке я отвечал уже (там вроде бы тоже ты борешься). порядок такой (если не нужен rpm и, соответственно, хочется привести систему в неподдерживаемый вид)--

rpm -ihv iptables-xxx.src.rpm

rpm -ihv kernel-xxx.src.rpm

cd /usr/src/redhat/SPECS

rpmbuild -bp iptables.spec

rpmbuild -bp kernel.spec

и после этого в /usr/src/redhat/BUILD лежат распакованные и патченные под RHEL исходники ядра и iptables. делается их дальнейшее патчение, затем в каждом "make && make install"

berrywizard ★★★★★
()

Буквально на днях все прекрасно установилось на SUSE, может поможет: 1.ftp://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-200706... (сейчас есть версии поновее) 2. Разворачиваем архив в /usr/src/patch-o-matic-ng 3. Отключаем фаервол, т.к. сейчас начнется скачивание с разных сайтов 3. export KERNAL_DIR=/usr/src/linux export IPTABLES_DIR=/usr/src/iptables-1.3.6 ./runme --download Получаем сообщения Successfully down load external patch geoip .... connlimit .... Excellent! Source trees are ready for compilation

4. ./runme --connlimit

5. cd /usr/src/linux make clean make menuconfig Networking->Netw. support -> Netw.options -> Network packet filetring -> IP:Netfilter configuration <*> Connection/IP limit patch support

Ну и далее как обычно make make install

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