LINUX.ORG.RU
ФорумAdmin

iptables + connlimit : No chain/target/match by that name


0

0

Коллеги, подсобите, замучался уже!

Пытаюсь сделать ограничение подключений с одного ip: /sbin/iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP на что неизменно получаю ответ: iptables: No chain/target/match by that name

УЖе задрался искать, что здесь не так. Модуль connlimit присутствует, иначе бы просто на него ругалось, а так если я делаю ошибку, то он мне выдает ее:

/sbin/iptables -A INPUT -p tcp -t mangle --dport 80 -m connlimit -j DROP iptables v1.3.0: You must specify `--connlimit-above' Try `iptables -h' or 'iptables --help' for more information.

Значит система его находит и подгружает нормально. Но что значит это таинственное цепочка/цель/соответсвие не найдено???

Система Fedora Core 4. Ядро 2.6.15.1 из пакета, автоматическая сборка, установилось при обновлении с помощью yum upgrade.

Спасибо.

anonymous

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

мне казолось, что она скомпилена по умолчанию во всяком случае есть файлы /lib/iptables/libipt_conntrack.so и /lib/iptables/libipt_connlimit.so Или оно должно быть собрано как модуля ядра? и где-то в другом месте лежать?

В тоже самое время, если я в правиле iptables пробую использовать -m connlimit без необходимых параметров, то получаю ошибку - не хватаает такого-то параметра. Значит модуль подключается и выдает эту самую ошибку. Наврядли фаервол такой умный, что знает какие параметры нужны каждому модулю, без этого самого модуля. Сейчас посмотрел опции ядра - есть conntrack, но connlimit в явном виде не присутствует, кроме того, все касательно netfilter и connection tracking включкены как модули.

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

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

> есть файлы /lib/iptables/...
В том-то и дело, что /lib/__IPTABLES__/... ! Там находятся модули именно для программы iptables, чтобы она умела понимать дополнительные features. Но программа iptables - это всего лишь средство для общения с ядром, которое тоже должно уметь эти фичи.
Для того, чтоб и ядро умело, нужен модуль в /lib/modules/.../kernel/net/ipv4/netfilter/, либо поддержка в самом ядре.

> Сейчас посмотрел опции ядра - есть conntrack, но connlimit в явном виде не присутствует
В этом все и дело, должен быть параметр CONFIG_IP_NF_MATCH_CONNLIMIT.

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

> этом все и дело, должен быть параметр CONFIG_IP_NF_MATCH_CONNLIMIT.
Прикол в том, что этого параметра в конфиге просто нет! Я скачал последнее ядро 2.6.15.4 , сделал обычный конфиг с помощью make menuconfig, а потом просто руками добавил в файл .config строчку  
CONFIG_IP_NF_MATCH_CONNLIMIT="m"  правда после сборки ее там не нашел.

Может нужно наложить какие-нибудь патчи? типа того же patch-o-matic ?
Пробовал сделать, но безуспешно:
./runme base/connlimit.patch

везде отвечаю да

потом вылазит ошибка:

Do you want to apply this patch [N/y/t/f/a/r/b/w/q/?] y
Testing patch base/connlimit.patch...
Warning - no help text file could be found in either
/usr/src/linux/net/ipv4/netfilter/Config.help
or /usr/src/linux/Documentation/Configure.help
fgrep: /usr/src/linux/net/ipv4/netfilter/Config.in: Нет такого файла или каталога
Could not find place to slot in Config.in line
TEST FAILED: patch NOT applied.

Может быть это только для ядра 2.4.х ?

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

нехорошо так делать. писать "разобрался" и не говорить как. столкнулся с такой же проблемой, что делать то надо чтобы заработало? kernel - 2.6.15.5, iptables - 1.3.4

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