The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Использование connlimit без перекомпиляции ядра в Fedora Core (limit fedora linux iptables speed shaper ratelimit)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: limit, fedora, linux, iptables, speed, shaper, ratelimit,  (найти похожие документы)
From: sadm <sadm@spnet.ru.> Newsgroups: email Date: Mon, 15 Jan 2007 14:31:37 +0000 (UTC) Subject: Использование connlimit без перекомпиляции ядра в Fedora Core Многие Fedoraводы сталкиваются со следующей проблемой: есть сервер, который является шлюзом в интернет для некоторого количества пользователей. Он периодически попадает в black-листы из-за того, что зараженные вирусами пользовательские компьютеры начинают массово рассылать спам. Для решения данной проблемы (на мой взгляд) достаточно ограничить количество одновременных подключений к порту 25 c клиентских компьютеров. Для этого существует замечательный модуль connlimit, который по неизвестной мне причине не входит в rpm-ки Fedoroвских ядер (хотя, непонятно почему, пакет iptables с давних времен собирается Fedoroвцами с поддержкой connlimit). Я сторонник того, чтобы вся система по максимуму состояла из rpm пакетов - так ее легче обновлять и поддерживать (на мой взгляд). Поэтому вот мой рецепт компиляции модуля ядра connlimit для имеющегося ядра, установленного из rpm: Смотрим установленную версию ядра и iptables: [root@]# rpm -q kernel kernel-2.6.18-1.2200.fc5 [root@]# rpm -q iptables iptables-1.3.5-1.2 Скачиваем kernel-2.6.18-1.2200.fc5.src.rpm и iptables-1.3.5-1.2.src.rpm с http://download.fedora.redhat.com/pub/fedora/linux/core/ Инсталлируем их: rpm -ivh kernel-2.6.18-1.2200.fc5.src.rpm iptables-1.3.5-1.2.src.rpm Выполняем командочки: cd /usr/src/redhat/SPECS rpmbuild -bp --target $(uname -m) kernel-2.6.spec rpmbuild -bp --target $(uname -m) iptables.spec cd /usr/src/kernels ln -s /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686 kernel-2.6.18-1.2200.fc5 ln -s /usr/src/redhat/BUILD/iptables-1.3.5 /usr/src/iptables ln -s /usr/src/kernels/kernel-2.6.18-1.2200.fc5 /usr/src/linux cp /usr/src/linux/configs/kernel-2.6.18-i686.config /usr/src/linux/.config Правим файл /usr/src/linux/Makefile, чтобы в начале файла было VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 18 EXTRAVERSION = -1.2200.fc5 Скачиваем ftp://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20061006.tar.bz2 и распаковываем его в /usr/src Выполняем командочки: cd /usr/src/patch-o-matic-ng-20061006 ./runme --download connlimit Жмем "y" Теперь конфигурируем и компилируем модуль ядра: cd /usr/src/linux make menuconfig Идем в Networking ---> Networking options ---> Network packet filtering (replaces ipchains) ---> Core Netfilter Configuration ---> IP: Netfilter Configuration ---> Жмем "М" возле пункта "Connections/IP limit match support" (внизу страницы) Выходим из меню конфигурирования, не забыв при этом сохранить новую конфигурацию ядра Запускаем компиляцию ядра: make Делаем странную вещь - ждем, пока откомпилируются CHK include/linux/version.h CHK include/linux/utsrelease.h CC init/main.o CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o CC init/do_mounts.o CC init/do_mounts_rd.o CC init/do_mounts_initrd.o CC init/do_mounts_md.o LD init/mounts.o CC init/initramfs.o CC init/calibrate.o LD init/built-in.o HOSTCC usr/gen_init_cpio GEN usr/initramfs_data.cpio.gz AS usr/initramfs_data.o LD usr/built-in.o и затем прерываем компиляцию ядра с помощью Ctrl-C теперь запускаем компиляцию модулей нетфильтра: make M=net/ipv4/netfilter/ После завершения компиляции копируем модуль в директорию модулей ядра и обновляем дерево зависимостей модулей: cp net/ipv4/netfilter/ipt_connlimit.ko /lib/modules/2.6.18-1.2200.fc5/kernel/net/ipv4/netfilter/ chmod a+x /lib/modules/2.6.18-1.2200.fc5/kernel/net/ipv4/netfilter/ipt_connlimit.ko depmod -a Теперь пробуем загрузить модуль ядра: insmod ipt_connlimit.ko Если ошибок не возникло - все в порядке, можно задавать лимиты на количество одновременных подключений, например так: # Разрешаем только одно одновременное соединение с одного айпи на smtp iptables -A FORWARD -p tcp --syn --dport smtp -m connlimit --connlimit-above 1 -j DROP

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, PavelR, 20:28, 15/01/2007 [ответить] [смотреть все]
  • +/
    >rpm -ivh kernel-2.6.18-1.2200.fc5.src.rpm iptables-1.3.5-1.2.src.rpm


    установить connlimit можно не скачивая никаких сырцовых пакетов.  

    Сам же пишешь:

    >хотя, непонятно почему, пакет iptables с давних времен собирается
    Fedoroвцами с поддержкой connlimit

    и тут же скачиваешь iptables.src.rpm - непонятно зачем ?

    У меня для установки connlimit оказалось достаточно штатного kernel-devel.

    PS(если ничего не путаю. Но сырцы ядра и iptables не тянул :)

     
  • 1.2, PavelR, 20:44, 15/01/2007 [ответить] [смотреть все]
  • +/
    Рецепт:

    из стянутого
    patch-o-matic-ng-20061006.tar.bz2

    распаковываем в /usr/src/kernels/2.6.13-1.1526_FC4-i686 нужные нам patchlets (расширения).


    В директории net как правило ;-) есть файлы Kconfig.ladd Makefile.ladd

    Они очень просто устанавливаются командами
    cat Kconfig.ladd >>Kconfig
    cat Makefile.ladd >>Makefile
    в директории net/ipv4/netfilter.

    Далее, как обычно - в директории с сырцом - make menuconfig


    Отредактировали конфиг и собираем модули.
    Компиляцию модулей я делал вот таким образом:

    make net/ipv4/netfilter/ip_conntrack_sip.ko

    Успехов.

     
  • 1.3, avatar, 22:57, 15/01/2007 [ответить] [смотреть все]
  • +/
    А вообще, это ограничение достигается правкой файла master.conf в /etc/postfix. И незачем городить огород.
     
     
  • 2.4, Аноним, 09:49, 16/01/2007 [^] [ответить] [смотреть все]
  • +/
    А вообще, в статье написано про сессии, проходящие через NAT Причем тут postfix... весь текст скрыт [показать]
     
  • 1.5, paix, 15:31, 16/01/2007 [ответить] [смотреть все]  
  • +/
    Делаете на шлюзе второй айпишник алиасом и указываете почтовику использовать его (а натится все будет через первый) и забываете про непонятного рода извращения.

     
  • 1.6, Аноним, 17:20, 16/01/2007 [ответить] [смотреть все]  
  • +/
    Дык разговор идет не про почтовик, а про сервер доступа в интернет.
     
  • 1.7, йа забыл падписацца асел, 08:36, 17/01/2007 [ответить] [смотреть все]  
  • +/
    >>А вообще, это ограничение достигается правкой файла master.conf в /etc/postfix. И незачем городить огород.

    угу, а соединение с внешними 25 портами нада по вашей политике безопасности закрыть? "очень удобно" получится, для пользователей

     
  • 1.8, z1ua.fm, 17:33, 18/01/2007 [ответить] [смотреть все]  
  • +/
    insmod /lib/modules/2.6.9-5.EL/kernel/net/ipv4/netfilter/ipt_connlimit.ko
    insmod: error inserting '/lib/modules/2.6.9-5.EL/kernel/net/ipv4/netfilter/ipt_connlimit.ko': -1 Unknown symbol in module
     
  • 1.9, someone, 18:46, 29/01/2007 [ответить] [смотреть все]  
  • +/
    а почему бы не делать вот так, без пересбоки ядра совсем.

    ftp://ftp.pslib.cz/pub/users/Milan.Kerslager/RHEL-4/stable/SRPMS/kernel-modu

     
  • 1.10, z1, 16:01, 30/05/2007 [ответить] [смотреть все]  
  • +/
    > а почему бы не делать вот так, без пересбоки ядра
    совсем.

    А если еще нужен и layer-7 и esfq, img, u32  и прочая бадяга... ?

     
  • 1.11, z1, 16:16, 30/05/2007 [ответить] [смотреть все]  
  • +/
    еще вопрос...
    какой patch-o-matic мне качать если у меня:

    uname -a
    Linux video 2.6.9-5.EL #1 Wed Jan 5 19:22:18 EST 2005 i686 i686 i386 GNU/Linux

     
  • 1.12, Аноним, 19:47, 31/01/2008 [ответить] [смотреть все]  
  • +/
    connlimit, ipp2p, route - нашел здесь http repo asplinuxclub org там для el5... весь текст скрыт [показать]
     
     
  • 2.13, _Kuzmich, 17:41, 29/04/2008 [^] [ответить] [смотреть все]  
  • +/
    >connlimit, ipp2p, route - нашел здесь
    >http://repo.asplinuxclub.org/
    >там для el5 - у меня на Centos 5 все поставилось и
    >работает.

    там нет connlimit

     
  • 1.14, ds_shadof, 14:12, 04/05/2008 [ответить] [смотреть все]  
  • +/
    модуль connlimit итак есть в Centos 5
     
     
  • 2.15, FractalizeR, 17:28, 06/12/2008 [^] [ответить] [смотреть все]  
  • +/
    Модуль для IPTables есть. А поддержки в ядре нет
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor