OpenVZ Forum


Home » International » Russian » Kernel с поддержкой iplimit
Kernel с поддержкой iplimit [message #16043] Mon, 20 August 2007 09:25 Go to next message
GFell
Messages: 12
Registered: August 2007
Junior Member

Доброго времени дня всем!

Хотел спросить - кто-нибудь занимался пересборкой ядра openvz чтобы включить поддержку iplimit?

Жалко что нельзя так же просто поставить ядро с этой поддержкой, как и обычно.

Или все таки прийдется самому пропатчить ядро для поддержки openvz, потом для iplimit, потом закинуть конфиг и пересобирать?
Re: Kernel с поддержкой iplimit [message #16189 is a reply to message #16043] Mon, 27 August 2007 09:02 Go to previous messageGo to next message
gblond is currently offline  gblond
Messages: 64
Registered: May 2007
Member
Модуль connlimit (iplimit) не входят в mainstream, suse, redhat ядра, поэтому этот модуль не включается в OpenVZ сборки.
Вы можете сами собрать данный модуль без перекомпиляции ядра, используя patch-o-matic-ng.

См. также
1) Подобная тема на форуме
http://forum.openvz.org/index.php?t=tree&th=2463&mid =12653&&rev=&reveal=

2) Статья как собрать connlimit модуль для Fedora Core
http://www.opennet.ru/base/net/connlimit_fedora.txt.html
Re: Kernel с поддержкой iplimit [message #16193 is a reply to message #16043] Mon, 27 August 2007 11:25 Go to previous messageGo to next message
GFell
Messages: 12
Registered: August 2007
Junior Member
Отлично, по первой ссылке написано:

Your can use ipt_connlimit without any problem. Just do:
1) Install ipt_connlimit module how described in the "Netfilter Extensions
HOWTO"

В этом хауту ( http://www.netfilter.org/documentation/HOWTO/netfilter-exten sions-HOWTO.html) написано:
While configuring your kernel, you will see new options in ``Networking Options -> Netfilter Configuration''. Choose the options you need, recompile & install your new kernel.

Once your new kernel is installed, you can go ahead and compile and install the ``iptables'' package, from the `userspace/' directory as follows :


# make && make install

Опять двадцать пять - все равно пересобирать ядро надо?

А по второй ссылке, которую я уже давно видел - нифига не сработает. Во первых пути будут не такие, папки называться не kernel*, а 2.6.18* и т.д. Но это только цветочки. Если даже неглупый человек сам укажет нужные пути, то после патча make menuconfig вылетит с ошибкой.

Доков много, но сам кто-нить может сделать так же как написано там и чтоб получилось?
...

Ррр, сколько можно уже возится с этим... Было бы на ядро с самого начала наложен патч, никто б не мучался.

Скажите по нормальному - как собрать и поставить модуль этот?
Re: Kernel с поддержкой iplimit [message #16195 is a reply to message #16189] Mon, 27 August 2007 12:54 Go to previous messageGo to next message
GFell
Messages: 12
Registered: August 2007
Junior Member
Кстати по статьи опеннет получается только если patch-o-matic-ng
не последний, 2007, а когда 2006.
Но make menuconfig так де вылетает, если не обращать внимания на ошибку и сделать make, остановить на нужном этапе, скопировать
ipt_connlimit.ko
то получим:
insmod ipt_connlimit.ko
insmod: error inserting 'ipt_connlimit.ko': -1 Invalid module format

modprobe ipt_connlimit
FATAL: Error inserting ipt_connlimit (/lib/modules/2.6.18-ovz028stab039.1-smp/kernel/net/ipv4/net filter/ipt_connlimit.ko): Invalid module format

вот так вот все получается Sad
Re: Kernel с поддержкой iplimit [message #16210 is a reply to message #16193] Tue, 28 August 2007 07:21 Go to previous messageGo to next message
gblond is currently offline  gblond
Messages: 64
Registered: May 2007
Member
1. Скачиваем rpm c ядром и соответствующий ему devel rpm:

ovzkernel-2.6.18-8.1.8.el5.028stab039.1.i686.rpm
ovzkernel-devel-2.6.18-8.1.8.el5.028stab039.1.i686.rpm.

Уставливаем ovzkernel-devel-2.6.18-8.1.8.el5.028stab039.1.i686.rpm


2. Скачиваем с сайта iptables.org patch-o-matic-ng-20070820.tar.bz2 и iptables-1.3.8-20070821.tar.bz2 и распаковываем в какой-либо директории, например, /tmp/conndir .


3. Копируем также заголовки ядра из установленного ovzkernel-devel-2.6.18-8.1.8.el5.028stab039.1.i686.rpm в ту же директорию из п.2

cp -rd /usr/src/kernels/2.6.18-8.1.8.el5.028stab039.1-i686 /tmp/conndir/



4. Заходим в директорию куда был распакован patch-o-matic-ng (/tmp/dir/patch-o-matic-ng-20070820) и запускаем:

./runme --download connlimit


указываем где лежат заголовки ядра (/tmp/conndir/2.6.18-8.1.8.el5.028stab039.1-i686) и где исходники iptables (/tmp/conndir/iptables-1.3.8-20070821) и отвечаем 'y' на предложение установить исходники модуля connlimit.


5. Заходим в директорию с заголовками (/tmp/conndir/2.6.18-8.1.8.el5.028stab039.1-i686) и запускаем:

make oldconfig


Отвечаем 'm' на вопрос о модуле connlimit.

Запускаем команду компиляции:

make M=net/ipv4/netfilter obj-m=ipt_connlimit.o


Берем модуль net/ipv4/netfilter/ipt_connlimit.ko и используем по назначению Cool .


P.S. компилятор должен быть gcc-4.1 (т.е. тот же каким было скомпилировано ядро)


Re: Kernel с поддержкой iplimit [message #16335 is a reply to message #16043] Sat, 01 September 2007 09:38 Go to previous messageGo to next message
GFell
Messages: 12
Registered: August 2007
Junior Member
И получаем... получаем шорты Smile

Когда модуль скомпилился, скопировал его:
cp net/ipv4/netfilter/ipt_connlimit.ko /lib/modules/2.6.18-ovz028stab039.1-smp/kernel/net/ipv4/netf ilter/

ll /lib/modules/2.6.18-ovz028stab039.1-smp/kernel/net/ipv4/netf ilter/
-rwxr-xr-x 1 root root 9263 Sep 1 12:28 ipt_connlimit.ko

depmod -a
insmod ipt_connlimit.ko
insmod: can't read 'ipt_connlimit.ko': No such file or directory

modprobe ipt_connlimit
FATAL: Error inserting ipt_connlimit (/lib/modules/2.6.18-ovz028stab039.1-smp/kernel/net/ipv4/net filter/ipt_connlimit.ko): Invalid module format

insmod /lib/modules/2.6.18-ovz028stab039.1-smp/kernel/net/ipv4/netf ilter/ipt_connlimit.ko
insmod: error inserting '/lib/modules/2.6.18-ovz028stab039.1-smp/kernel/net/ipv4/net filter/ipt_connlimit.ko': -1 Invalid module format


Что изменилось? Smile

gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
Thread model: posix
gcc version 4.1.2 20070626 (Red Hat 4.1.2-13)


В общем я опять в тупике...

Re: Kernel с поддержкой iplimit [message #16365 is a reply to message #16335] Mon, 03 September 2007 08:42 Go to previous messageGo to next message
gblond is currently offline  gblond
Messages: 64
Registered: May 2007
Member
Ядро из kernel-smp-2.6.18-ovz028stab039.1.i686.rpm скомпилировано gcc-3.4.4

Re: Kernel с поддержкой iplimit [message #16369 is a reply to message #16043] Mon, 03 September 2007 12:14 Go to previous messageGo to next message
GFell
Messages: 12
Registered: August 2007
Junior Member
Вы ж сказали:
> P.S. компилятор должен быть gcc-4.1 (т.е. тот же каким было скомпилировано ядро)
Smile
Ладно, попробую откатить gcc и закомпилировать.
Как вообще можно посмотреть какой версией закомпилено ядро?
Re: Kernel с поддержкой iplimit [message #16377 is a reply to message #16369] Mon, 03 September 2007 14:33 Go to previous messageGo to next message
gblond is currently offline  gblond
Messages: 64
Registered: May 2007
Member
Для ядра: cat /proc/version

Для модуля: modinfo имя_модуля


Re: Kernel с поддержкой iplimit [message #20188 is a reply to message #16377] Thu, 13 September 2007 06:56 Go to previous messageGo to next message
GFell
Messages: 12
Registered: August 2007
Junior Member
Поставил gcc 3.4.4...
export PATH, CC и вообще грохнул ту версию которая была до этого (4.1) вместе с libgcc от неё.


[root@v180 /]# gcc -v
Reading specs from /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.4/specs
Configured with: ../gcc-3.4.4/configure
Thread model: posix
gcc version 3.4.4


[root@www netfilter]# cat /proc/version
Linux version 2.6.18-ovz028stab039.1-smp (root@centos-32-build) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Tue Jul 24 12:13:58 MSD 2007

[root@www netfilter]# modinfo ipt_connlimit.ko
filename: ipt_connlimit.ko
license: GPL
vermagic: 2.6.18-8.1.8.el5.028stab039.1 SMP mod_unload 686 REGPARM gcc-3.4
depends: x_tables,ip_conntrack
srcversion: E7354AB22D085D35285E9B6
[root@www netfilter]# insmod ipt_connlimit.ko
insmod: error inserting 'ipt_connlimit.ko': -1 Invalid module format

При этом есть нормальный модуль:
modinfo ipt_REJECT
filename: /lib/modules/2.6.18-ovz028stab039.1-smp/kernel/net/ipv4/netf ilter/ipt_REJECT.ko
license: GPL
author: Netfilter Core Team <coreteam@netfilter.org>
description: iptables REJECT target module
vermagic: 2.6.18-ovz028stab039.1-smp SMP mod_unload 686 4KSTACKS gcc-3.4
depends: x_tables

[Updated on: Sat, 06 October 2007 12:19]

Report message to a moderator

Re: Kernel с поддержкой iplimit [message #20193 is a reply to message #20188] Thu, 13 September 2007 07:24 Go to previous messageGo to next message
kir is currently offline  kir
Messages: 1645
Registered: August 2005
Location: Moscow, Russia
Senior Member

> Дайте нормальный модуль или его наличие в ядре.

Во-первых, как вы сами можете видеть, у вас не сходится vermagic'и для "хорошего" и "плохого" модулей.

Во-вторых, хотелось бы между прочим заметить, что не стоит писать в столь требовательном тоне. Тут вам никто ничего не должен -- это open source support forum, поддерживаемый исключительно на энтузиазме разработчиков. Виталий помогает вам в своё рабочее время (при этом зарплату не вы ему платите) -- цените это, и немножечко сбавьте обороты, попытайтесь меньше привлекать его и больше разбираться самостоятельно.

Если есть желание писать в более требовательном тоне -- советую купить где-нибудь платную поддержку, или взять себе на работу админа или кернель дивелопера, и у него уже требовать.

Касательно модуля -- его нет в mainstream ядре, почему вы ожидаете его наличие в нашем ядре? Есть огромное количество кода, которого нет в мейнстрим-ядре -- почему всё это должно быть в нашем? (вопрос риторический)


Kir Kolyshkin
http://static.openvz.org/userbars/openvz-developer.png
Re: Kernel с поддержкой iplimit [message #20281 is a reply to message #20193] Fri, 14 September 2007 15:02 Go to previous message
GFell
Messages: 12
Registered: August 2007
Junior Member
Согласен, извиняюсь за напор.
После суток работы без сна не обратил внимания на vermagic и еще несколько мелочей...
Спасибо за помощь Виталию, все стабильно работает.
Previous Topic: Список процессов в top (хотелка)
Next Topic: vzdump restore
Goto Forum:
  


Current Time: Fri Jan 03 06:50:56 GMT 2025

Total time taken to generate the page: 0.09409 seconds