OpenVZ Forum


Home » International » Russian » Добавление модуля connlimit iptables в ядро ветки 2.6.18 (В сборках ядер не компилируется полезный модуль connlimit)
icon4.gif  Добавление модуля connlimit iptables в ядро ветки 2.6.18 [message #40584] Thu, 02 September 2010 20:08 Go to next message
Yason dinAlt is currently offline  Yason dinAlt
Messages: 1
Registered: September 2010
Junior Member
From: *pool.ukrtel.net
Модуль connlimit (http://linux.die.net/man/8/iptables) используется для ограничения количества соединений с одного ip-адреса, это удобно и хорошо при борьбе с некоторыми видами ddos (забивание вычислительных ресурсов сервера).

Случилось так, что разработчики RedHat и CentOS, компилируют модуль для iptables, включают возможность загрузки модуля в ядре, но не компилируют сам модуль ядра.
В последнем стабильном ядре ветки 2.6.18 его нет:
http://wiki.openvz.org/Download/kernel/rhel5/028stab070.4

Для его компиляции нужно к ядру применить патч:
http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch -o-matic-ng-20100218.tar.bz2
с параметром CONNLIMIT.

На всякий случай подробная инструкция:
http://www.rostovlinux.ru/content/view/2185/56/

Если возможно компилируйте этот модуль в последующих стабильных ядрах.

Другие темы касающиеся iptables, они могут быть полезны тем кто имеет проблемы с модулями этого фаервола на виртуальном хосте:
http://forum.openvz.org/index.php?t=msg&goto=22279
http://forum.openvz.org/index.php?t=msg&&th=8825& ;goto=40327#msg_40327
http://forum.openvz.org/index.php?t=msg&&th=3015& ;goto=15546#msg_15546

P.S. К сообщению прикрепляю файл ipt_connlimit.ko, скомпилированный для ядра:
http://wiki.openvz.org/Download/kernel/rhel5/028stab069.6
Может кому-то будет полезен.

Причина написания сообщения, отказ службы техподдержки моего хостинга собрать этот модуль и обновить свою систему виртуализации. Когда-то, может быть, они решаться обновиться и там уже будет этот чудесный модуль и думаю другим пользователям openvz он не раз спасет хорошее настроение.
Re: Добавление модуля connlimit iptables в ядро ветки 2.6.18 [message #40717 is a reply to message #40584] Thu, 23 September 2010 12:13 Go to previous message
maratrus is currently offline  maratrus
Messages: 1495
Registered: August 2007
Location: Moscow
Senior Member
From: *sw.ru
Разве этой функциональности нет в ядре?

HN:
# uname -a
Linux test_host 2.6.18-194.8.1.el5.028stab070.2 #1 SMP Tue Jul 6 15:26:41 MSD 2010 i686 i686 i386 GNU/Linux
# iptables -A FORWARD -p tcp --syn --dport smtp -m connlimit --connlimit-above 1 -j DROP
# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       tcp  --  anywhere             anywhere            tcp dpt:smtp flags:FIN,SYN,RST,ACK/SYN #conn/32 > 1

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
# lsmod |grep limit
xt_connlimit            8072  1
ip_conntrack           60612  4 xt_connlimit,vzrst,ip_nat,vzcpt
xt_limit                6656  0
x_tables               19204  11 xt_connlimit,xt_tcpudp,xt_length,ipt_ttl,xt_tcpmss,ipt_TCPMSS,xt_multiport,xt_limit,ipt_tos,ipt_REJECT,ip_tables
# vzctl restart 103
<skipped>
# vzctl enter 103
# iptables -A FORWARD -p tcp --syn --dport smtp -m connlimit --connlimit-above 1 -j DROP
# # iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       tcp  --  anywhere             anywhere            tcp dpt:smtp flags:FIN,SYN,RST,ACK/SYN #conn/32 > 1

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Previous Topic: Вычисление кол-ва юнитов для 100Мгц
Next Topic: Что-то сжирает Ram.
Goto Forum:
  


Current Time: Sun Aug 18 07:51:20 GMT 2019