[CentOS-pt-br] RES: Primeira versão do artigo de como modificar os pacotes do kernel e iptables para adicionar o layer7

Cleber Souza cleber.lists em gmail.com
Domingo Outubro 11 16:46:27 UTC 2009


Pode ser sim. Você já tem conta para escrever em wiki.centos.org?


2009/10/11 Marcelo Gondim <gondim em linuxinfo.com.br>:
> Opa Cleber,
>
> Dei uma melhorada nele e coloquei aqui:
> http://www.linuxinfo.com.br/layer7.htm
>
> Com certeza gostaria de disponibilizar ele na Wiki. Meu inglês é mais
> técnico para leitura mas dou minhas arranhadas. Agora se quiser podemos
> fazer o seguinte. Eu tento aqui fazer a tradução e aí você faz a revisão. O
> que achas? :)
>
> -----Mensagem original-----
> De: centos-pt-br-bounces em centos.org [mailto:centos-pt-br-bounces em centos.org]
> Em nome de Cleber Souza
> Enviada em: domingo, 11 de outubro de 2009 09:36
> Para: Portuguese (Brazilian) CentOS mailing list
> Assunto: Re: [CentOS-pt-br] Primeira versão do artigo de como modificar os
> pacotes do kernel e iptables para adicionar o layer7
>
> Oi Marcelo, tudo bem?
>
> Excelente trabalho. Acredito que outros na comunidade CentOS gostariam
> destas instruções. Você não gostaria de disponibilizar na wiki do
> CentOS. Talvez precisaria só traduzir para o inglês.
>
> Se precisar de qualquer ajuda pode contar comigo.
>
> Até mais,
>
> 2009/10/10 Marcelo Gondim <gondim em linuxinfo.com.br>:
>> Bem pessoal,
>>
>> Aqui abaixo vai a versão que pretendo deixar como artigo. Espero que seja
>> bem útil.  :)
>>
>>
>>
>> Este é um artigo explicando como colocar o suporte ao layer7 no CentOS
> 5.3.
>> Para isso precisaremos modificar tanto o pacote .rpm do kernel quanto do
>> iptables,
>> porque ambos precisarão ter suporte à este.
>>
>>
>> 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/
>>
>> Vamos editar o kernel-2.6.spec e adicionar 2 entradas nele e modificar 1.
>> Localize a linha:
>>
>> %define dist .el5
>>
>> Altere para algo como:
>>
>> %define dist .el5mgc
>>
>> Depois localize a linha abaixo:
>>
>> Patch24387: linux-2.6-misc-information-leak-in-sigaltstack.patch
>>
>> Adicione a seguinte linha abaixo:
>>
>> Patch24388: kernel-2.6.18-2.6.19-layer7-2.9.patch
>>
>> Agora localize a linha:
>>
>> %patch24387 -p1
>>
>> Adicione logo abaixo:
>>
>> %patch24388 -p1
>>
>> Salve e saia do kernel-2.6.spec
>>
>> 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/SOURCES
>>
>> Agora vamos em /usr/src/redhat/SOURCES e mexeremos em cada arquivo
>> kernel-*.config:
>>
>> -rw-rw-r-- 1 root root 72543 Out  8 15:59 kernel-2.6.18-i586.config
>> -rw-rw-r-- 1 root root 72275 Out  8 15:59 kernel-2.6.18-i686.config
>> -rw-rw-r-- 1 root root 72154 Out  8 15:59 kernel-2.6.18-i686-debug.config
>> -rw-rw-r-- 1 root root 72275 Out  8 16:00 kernel-2.6.18-i686-PAE.config
>> -rw-rw-r-- 1 root root 73404 Out  8 16:00 kernel-2.6.18-i686-xen.config
>> -rw-rw-r-- 1 root root 69726 Out  8 16:00 kernel-2.6.18-ia64.config
>> -rw-rw-r-- 1 root root 69605 Out  8 16:00 kernel-2.6.18-ia64-debug.config
>> -rw-rw-r-- 1 root root 71344 Out  8 16:00 kernel-2.6.18-ia64-xen.config
>> -rw-rw-r-- 1 root root 70413 Out  8 16:01 kernel-2.6.18-ppc64.config
>> -rw-rw-r-- 1 root root 70292 Out  8 16:01 kernel-2.6.18-ppc64-debug.config
>> -rw-rw-r-- 1 root root 70433 Out  8 16:01 kernel-2.6.18-ppc64-kdump.config
>> -rw-rw-r-- 1 root root 69923 Out  8 16:01 kernel-2.6.18-ppc.config
>> -rw-rw-r-- 1 root root 69940 Out  8 16:01 kernel-2.6.18-ppc-smp.config
>> -rw-rw-r-- 1 root root 69057 Out  8 16:02 kernel-2.6.18-s390.config
>> -rw-rw-r-- 1 root root 69067 Out  8 16:02 kernel-2.6.18-s390x.config
>> -rw-rw-r-- 1 root root 68957 Out  8 16:02 kernel-2.6.18-s390x-debug.config
>> -rw-rw-r-- 1 root root 71509 Out  8 16:02 kernel-2.6.18-s390x-kdump.config
>> -rw-rw-r-- 1 root root 70598 Out  8 16:03 kernel-2.6.18-x86_64.config
>> -rw-rw-r-- 1 root root 70477 Out  8 16:03
> kernel-2.6.18-x86_64-debug.config
>> -rw-rw-r-- 1 root root 71767 Out  8 16:03 kernel-2.6.18-x86_64-xen.config
>>
>> Dentro de cada um deles procure pela linha:
>>
>> CONFIG_IP_NF_MATCH_IPRANGE=m
>>
>> Logo abaixo dela adicione essas 2 linhas:
>>
>> CONFIG_IP_NF_MATCH_LAYER7=m
>> # CONFIG_IP_NF_MATCH_LAYER7_DEBUG is not set
>>
>> Vamos baixar o fonte do pacote hmaccalc que estará disponível no CentOS
> 5.4:
>>
>> # cd /usr/src
>> # wget -c
>>
> ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/hmaccal
>> c-0.9.6-1.el5.src.rpm
>> # rpmbuild --rebuild hmaccalc-0.9.6-1.i386.rpm
>> # rpm -ivh /usr/src/redhat/RPMS/i386/hmaccalc-0.9.6-1.i386.rpm
>>
>> Agora vamos gerar nosso novo binário do kernel já com suporte ao layer7:
>>
>> # cd /usr/src/redhat/SPECS
>> # rpmbuild -bb --without kabichk --without debug --without debuginfo
>> --without xen --target=`uname -m` kernel-2.6.spec
>>
>> O comando acima não gerará um binário do kernel para Xen. Se for precisar
>> basta remover.
>> Após o build teremos o kernel com todos os patches da RH aplicados e mais
> o
>> nosso layer7. :)
>>
>> Agora basta ir na arquitetura que está usando e instalar o novo kernel e
>> fazer um reboot usando este novo kernel. Abaixo o exemplo:
>>
>> # rpm -ivh /usr/src/redhat/RPMS/i686/kernel-2.6.18-164.el5mgc.i686.rpm
>> # rpm -ivh
> /usr/src/redhat/RPMS/i686/kernel-devel-2.6.18-164.el5mgc.i686.rpm
>>
>>
>> Agora vamos precisar recompilar o iptables com suporte ao layer7.
>>
>> # 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-p
>> re2.6.20-layer7-2.21.patch /usr/src/redhat/SOURCES/
>>
>> # cd /usr/src/redhat/SPEC
>>
>> Edite o iptables.spec e adicione no topo do arquivo a linha:
>>
>> %define dist el5mgc
>>
>> Eu dei o nome el5mgc mas poderia ser el5custom ou como desejar.
>>
>> Vamos adicionar os patches do layer7 nos lugares como abaixo. Como o
> último
>> patch era o Patch12, então criei o Patch13:
>>
>> Patch12: iptables-1.3.5-headers.patch
>> Patch13: iptables-1.3-for-kernel-pre2.6.20-layer7-2.21.patch
>> .
>> .
>> .
>> %patch12 -p1 -b .headers
>> %patch13 -p1
>>
>> Por último procure a linha:
>>
>> %build
>>
>> E adicione a seguinte linha acima do %build como abaixo:
>>
>> chmod 755 /usr/src/redhat/BUILD/iptables-1.3.5/extensions/.layer7-test
>>
>> %build
>>
>> Salve o iptables.spec e faça:
>>
>> # rpmbuild -bb iptables.spec
>>
>> Quando acabar teremos em /usr/src/redhat/RPMS/i386/ o pacote
>> iptables-1.3.5-4el5mgc.i386.rpm do iptables já com suporte ao layer7.
> Agora
>> é só instalar ele e usar.
>> Para ter certeza que o seu iptables vai ter o suporte ao layer7, depois de
>> instalar o pacote procure por libipt_layer7.so em /lib/iptables
>>
>> # rpm -Uvh /usr/src/redhat/RPMS/i386/iptables-1.3.5-4el5mgc.i386.rpm
>>
>> Bem espero ter ajudado :)
>>
>> Marcelo Gondim <gondim em linuxinfo.com.br>
>>
>>
>> __________ Informação do ESET NOD32 Antivirus, versão da vacina 4494
>> (20091009) __________
>>
>> A mensagem foi verificada pelo  ESET NOD32 Antivirus.
>>
>> http://www.eset.com
>>
>>
>> _______________________________________________
>> CentOS-pt-br mailing list
>> CentOS-pt-br em centos.org
>> http://lists.centos.org/mailman/listinfo/centos-pt-br
>>
>
>
>
> --
> Cleber Paiva de Souza
> _______________________________________________
> CentOS-pt-br mailing list
> CentOS-pt-br em centos.org
> http://lists.centos.org/mailman/listinfo/centos-pt-br
>
>
> __________ Informação do ESET NOD32 Antivirus, versão da vacina 4497
> (20091011) __________
>
> A mensagem foi verificada pelo  ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>
> __________ Informação do ESET NOD32 Antivirus, versão da vacina 4497
> (20091011) __________
>
> A mensagem foi verificada pelo  ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
> _______________________________________________
> CentOS-pt-br mailing list
> CentOS-pt-br em centos.org
> http://lists.centos.org/mailman/listinfo/centos-pt-br
>



-- 
Cleber Paiva de Souza


Mais detalhes sobre a lista de discussão CentOS-pt-br