Bem aqui está o prometido :D

 

 

Primeiramente vamos baixar o source do kernel:

 

# cd /usr/src

# wget -c http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.3/updates/SRPMS/kernel-2.6.18-164.el5.src.rpm

# rpm -ivh kernel-2.6.18-164.el5.src.rpm

# cd /usr/src/redhat/SPECS/

# rpmbuild --without fips -bp kernel-2.6.spec

 

Tive que usar o "--without fips" porque senão vai exigir o pacote hmaccalc e ele só vai estar disponível no CentOS 5.4.

Após o build teremos o kernel com todos os patches da RH aplicados. :)

 

# cd /usr/src

# ln -sf redhat/BUILD/kernel-2.6.18/linux-2.6.18.i386 linux

 

Agora vamos em http://sourceforge.net/projects/l7-filter/files/ e baixamos o netfilter-layer7-v2.22.tar.gz em /usr/src

 

Descompacte o programa e dentro do diretório "for_older_kernels/" pegue o patch kernel-2.6.18-2.6.19-layer7-2.9.patch e

jogue no diretório: /usr/src/redhat/BUILD/kernel-2.6.18/

 

Depois faça isso:

 

# cd /usr/src/linux

# patch -p1 < ../kernel-2.6.18-2.6.19-layer7-2.9.patch

 

Dessa forma você vai aplicar o patch do layer7 no kernel. Logo em seguida vai fazer:

 

# make menuconfig

 

Vai precisar marcar como módulo o layer7 no Netfilter e depois de salvar basta fazer:

 

# make

 

Após compilar o kernel:

 

# cp ./net/ipv4/netfilter/ipt_layer7.ko /lib/modules/2.6.18-164.el5/kernel/net/ipv4/netfilter/

# depmod -a

# modprobe ipt_layer7

 

Bem nesse momento você já vai estar com o kernel usando o módulo do layer7

 

Agora vais precisar recompilar o iptables com suporte ao layer7. Não consegui fazer gerando o pacote .rpm por causa de permissões. Como são 02:42 da madruga

decidi fazer diferente. Se souberem uma maneira mais prática é só complementarem. Aqui vai o que fiz:

 

# yum remove iptables

 

# cd /usr/src

# wget -c http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.3/os/SRPMS/iptables-1.3.5-4.el5.src.rpm

# rpm -ivh iptables-1.3.5-4.el5.src.rpm

# cp /usr/src/netfilter-layer7-v2.22/for_older_iptables/iptables-1.3-for-kernel-pre2.6.20-layer7-2.21.patch /usr/src/redhat/SOURCES/iptables-1.3.5-layer7.patch

 

# cd /usr/src/redhat/SPEC

 

Edite o iptables.spec e adicione o layer7 nos lugares como abaixo:

 

Patch12: iptables-1.3.5-headers.patch

Patch13: iptables-1.3.5-layer7.patch

.

.

.

%patch12 -p1 -b .headers

%patch13 -p1 -b .layer7

 

Salve e faça:

 

# rpmbuild -bb iptables.spec

 

Comigo ele jogou o patch no BUILD mas com permissão 000 e por isso não gerou o pacote rpm com o layer7. Aí fiz o seguinte:

 

# cd /usr/src/redhat/BUILD/iptables-1.3.5/

# chmod 755 extensions/libipt_layer7*

# chmod 755 extensions/.layer7-test*

# make

# make install

 

Dessa forma você terá um iptables instalado com suporte ao layer7.

 

Se alguém puder melhorar essa parte de gerar o .rpm com patch seria melhor.

 

Bem espero ter ajudado :)

 

Marcelo Gondim <gondim@linuxinfo.com.br>

 

 



__________ Informação do ESET NOD32 Antivirus, versão da vacina 4488 (20091007) __________

A mensagem foi verificada pelo ESET NOD32 Antivirus.

http://www.eset.com