<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.EstiloDeEmail19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=PT-BR link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Depois que você criou o binário do Kernel já com o suporte ao
L7, você instalou ele com o rpm -ivh? Depois que instalar o kernel novo, reboot
e entre com o kernel novo e aí você parte para o iptables. Porque você precisa
estar usando o kernel com suporte para que o pacote do iptables seja gerado com
o suporte ao layer7.  Para ver qual arquitetura vc compilou o kernel faça esse
comando: uname -m<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>De:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
centos-pt-br-bounces@centos.org [mailto:centos-pt-br-bounces@centos.org] <b>Em
nome de </b>Wagner Quedi<br>
<b>Enviada em:</b> terça-feira, 13 de outubro de 2009 17:33<br>
<b>Para:</b> Portuguese (Brazilian) CentOS mailing list<br>
<b>Assunto:</b> Re: [CentOS-pt-br] Primeira versão do artigo de como modificar
os pacotes do kernel e iptables para adicionar o layer7<o:p></o:p></span></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>terminei a instalação do layer7 .. algumas coisas no final
do artigo estao como i386 e ai confunde um pouco .. na proxima revisao veja se
é isso mesmo ou se é pra usar o x86_64<o:p></o:p></p>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>agora ..nao consegui encontrar o arquivo&nbsp;<span
class=apple-style-span><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>libipt_layer7.so</span></span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal><span class=apple-style-span><span style='font-family:"Arial","sans-serif"'>como
posso comprovar que instalou tudo certinho ?</span></span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p>

<div>

<p class=MsoNormal>2009/10/9 Marcelo Gondim &lt;<a
href="mailto:gondim@linuxinfo.com.br">gondim@linuxinfo.com.br</a>&gt;<o:p></o:p></p>

<p class=MsoNormal>Bem pessoal,<br>
<br>
Aqui abaixo vai a versão que pretendo deixar como artigo. Espero que seja<br>
bem útil. &nbsp;:)<br>
<br>
<br>
<br>
Este é um artigo explicando como colocar o suporte ao layer7 no CentOS 5.3.<br>
Para isso precisaremos modificar tanto o pacote .rpm do kernel quanto do<br>
iptables,<br>
porque ambos precisarão ter suporte à este.<br>
<br>
<br>
Primeiramente vamos baixar o source do kernel:<br>
<br>
# cd /usr/src<br>
# wget -c<br>
<a
href="http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.3/updates/SRPMS/kernel%0d%0a-2.6.18-164.el5.src.rpm"
target="_blank">http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.3/updates/SRPMS/kernel<br>
-2.6.18-164.el5.src.rpm</a><br>
# rpm -ivh kernel-2.6.18-164.el5.src.rpm<br>
# cd /usr/src/redhat/SPECS/<br>
<br>
Vamos editar o kernel-2.6.spec e adicionar 2 entradas nele e modificar 1.<br>
Localize a linha:<br>
<br>
%define dist .el5<br>
<br>
Altere para algo como:<br>
<br>
%define dist .el5mgc<br>
<br>
Depois localize a linha abaixo:<br>
<br>
Patch24387: linux-2.6-misc-information-leak-in-sigaltstack.patch<br>
<br>
Adicione a seguinte linha abaixo:<br>
<br>
Patch24388: kernel-2.6.18-2.6.19-layer7-2.9.patch<br>
<br>
Agora localize a linha:<br>
<br>
%patch24387 -p1<br>
<br>
Adicione logo abaixo:<br>
<br>
%patch24388 -p1<br>
<br>
Salve e saia do kernel-2.6.spec<br>
<br>
Agora vamos em <a href="http://sourceforge.net/projects/l7-filter/files/"
target="_blank">http://sourceforge.net/projects/l7-filter/files/</a> e baixamos
o<br>
netfilter-layer7-v2.22.tar.gz em /usr/src<br>
<br>
Descompacte o programa e dentro do diretório &quot;for_older_kernels/&quot;
pegue o<br>
patch kernel-2.6.18-2.6.19-layer7-2.9.patch e<br>
jogue no diretório: /usr/src/redhat/SOURCES<br>
<br>
Agora vamos em /usr/src/redhat/SOURCES e mexeremos em cada arquivo<br>
kernel-*.config:<br>
<br>
-rw-rw-r-- 1 root root 72543 Out &nbsp;8 15:59 kernel-2.6.18-i586.config<br>
-rw-rw-r-- 1 root root 72275 Out &nbsp;8 15:59 kernel-2.6.18-i686.config<br>
-rw-rw-r-- 1 root root 72154 Out &nbsp;8 15:59 kernel-2.6.18-i686-debug.config<br>
-rw-rw-r-- 1 root root 72275 Out &nbsp;8 16:00 kernel-2.6.18-i686-PAE.config<br>
-rw-rw-r-- 1 root root 73404 Out &nbsp;8 16:00 kernel-2.6.18-i686-xen.config<br>
-rw-rw-r-- 1 root root 69726 Out &nbsp;8 16:00 kernel-2.6.18-ia64.config<br>
-rw-rw-r-- 1 root root 69605 Out &nbsp;8 16:00 kernel-2.6.18-ia64-debug.config<br>
-rw-rw-r-- 1 root root 71344 Out &nbsp;8 16:00 kernel-2.6.18-ia64-xen.config<br>
-rw-rw-r-- 1 root root 70413 Out &nbsp;8 16:01 kernel-2.6.18-ppc64.config<br>
-rw-rw-r-- 1 root root 70292 Out &nbsp;8 16:01 kernel-2.6.18-ppc64-debug.config<br>
-rw-rw-r-- 1 root root 70433 Out &nbsp;8 16:01 kernel-2.6.18-ppc64-kdump.config<br>
-rw-rw-r-- 1 root root 69923 Out &nbsp;8 16:01 kernel-2.6.18-ppc.config<br>
-rw-rw-r-- 1 root root 69940 Out &nbsp;8 16:01 kernel-2.6.18-ppc-smp.config<br>
-rw-rw-r-- 1 root root 69057 Out &nbsp;8 16:02 kernel-2.6.18-s390.config<br>
-rw-rw-r-- 1 root root 69067 Out &nbsp;8 16:02 kernel-2.6.18-s390x.config<br>
-rw-rw-r-- 1 root root 68957 Out &nbsp;8 16:02 kernel-2.6.18-s390x-debug.config<br>
-rw-rw-r-- 1 root root 71509 Out &nbsp;8 16:02 kernel-2.6.18-s390x-kdump.config<br>
-rw-rw-r-- 1 root root 70598 Out &nbsp;8 16:03 kernel-2.6.18-x86_64.config<br>
-rw-rw-r-- 1 root root 70477 Out &nbsp;8 16:03
kernel-2.6.18-x86_64-debug.config<br>
-rw-rw-r-- 1 root root 71767 Out &nbsp;8 16:03 kernel-2.6.18-x86_64-xen.config<br>
<br>
Dentro de cada um deles procure pela linha:<br>
<br>
CONFIG_IP_NF_MATCH_IPRANGE=m<br>
<br>
Logo abaixo dela adicione essas 2 linhas:<br>
<br>
CONFIG_IP_NF_MATCH_LAYER7=m<br>
# CONFIG_IP_NF_MATCH_LAYER7_DEBUG is not set<br>
<br>
Vamos baixar o fonte do pacote hmaccalc que estará disponível no CentOS 5.4:<br>
<br>
# cd /usr/src<br>
# wget -c<br>
<a
href="ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/hmaccal&#13;&#10;c-0.9.6-1.el5.src.rpm"
target="_blank">ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/hmaccal<br>
c-0.9.6-1.el5.src.rpm</a><br>
# rpmbuild --rebuild hmaccalc-0.9.6-1.i386.rpm<br>
# rpm -ivh /usr/src/redhat/RPMS/i386/hmaccalc-0.9.6-1.i386.rpm<br>
<br>
Agora vamos gerar nosso novo binário do kernel já com suporte ao layer7:<br>
<br>
# cd /usr/src/redhat/SPECS<br>
# rpmbuild -bb --without kabichk --without debug --without debuginfo<br>
--without xen --target=`uname -m` kernel-2.6.spec<br>
<br>
O comando acima não gerará um binário do kernel para Xen. Se for precisar<br>
basta remover.<br>
Após o build teremos o kernel com todos os patches da RH aplicados e mais o<br>
nosso layer7. :)<br>
<br>
Agora basta ir na arquitetura que está usando e instalar o novo kernel e<br>
fazer um reboot usando este novo kernel. Abaixo o exemplo:<br>
<br>
# rpm -ivh /usr/src/redhat/RPMS/i686/kernel-2.6.18-164.el5mgc.i686.rpm<br>
# rpm -ivh /usr/src/redhat/RPMS/i686/kernel-devel-2.6.18-164.el5mgc.i686.rpm<br>
<br>
<br>
Agora vamos precisar recompilar o iptables com suporte ao layer7.<br>
<br>
# cd /usr/src<br>
# wget -c<br>
<a
href="http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.3/os/SRPMS/iptables-1.%0d%0a3.5-4.el5.src.rpm"
target="_blank">http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.3/os/SRPMS/iptables-1.<br>
3.5-4.el5.src.rpm</a><br>
# rpm -ivh iptables-1.3.5-4.el5.src.rpm<br>
# cp<br>
/usr/src/netfilter-layer7-v2.22/for_older_iptables/iptables-1.3-for-kernel-p<br>
re2.6.20-layer7-2.21.patch /usr/src/redhat/SOURCES/<br>
<br>
# cd /usr/src/redhat/SPEC<br>
<br>
Edite o iptables.spec e adicione no topo do arquivo a linha:<br>
<br>
%define dist el5mgc<br>
<br>
Eu dei o nome el5mgc mas poderia ser el5custom ou como desejar.<br>
<br>
Vamos adicionar os patches do layer7 nos lugares como abaixo. Como o último<br>
patch era o Patch12, então criei o Patch13:<br>
<br>
Patch12: iptables-1.3.5-headers.patch<br>
Patch13: iptables-1.3-for-kernel-pre2.6.20-layer7-2.21.patch<br>
.<br>
.<br>
.<br>
%patch12 -p1 -b .headers<br>
%patch13 -p1<br>
<br>
Por último procure a linha:<br>
<br>
%build<br>
<br>
E adicione a seguinte linha acima do %build como abaixo:<br>
<br>
chmod 755 /usr/src/redhat/BUILD/iptables-1.3.5/extensions/.layer7-test<br>
<br>
%build<br>
<br>
Salve o iptables.spec e faça:<br>
<br>
# rpmbuild -bb iptables.spec<br>
<br>
Quando acabar teremos em /usr/src/redhat/RPMS/i386/ o pacote<br>
iptables-1.3.5-4el5mgc.i386.rpm do iptables já com suporte ao layer7. Agora<br>
é só instalar ele e usar.<br>
Para ter certeza que o seu iptables vai ter o suporte ao layer7, depois de<br>
instalar o pacote procure por libipt_layer7.so em /lib/iptables<br>
<br>
# rpm -Uvh /usr/src/redhat/RPMS/i386/iptables-1.3.5-4el5mgc.i386.rpm<br>
<br>
Bem espero ter ajudado :)<br>
<br>
Marcelo Gondim &lt;<a href="mailto:gondim@linuxinfo.com.br">gondim@linuxinfo.com.br</a>&gt;<br>
<br>
<br>
__________ Informação do ESET NOD32 Antivirus, versão da vacina 4494<br>
(20091009) __________<br>
<br>
A mensagem foi verificada pelo &nbsp;ESET NOD32 Antivirus.<br>
<br>
<a href="http://www.eset.com" target="_blank">http://www.eset.com</a><br>
<br>
<br>
_______________________________________________<br>
CentOS-pt-br mailing list<br>
<a href="mailto:CentOS-pt-br@centos.org">CentOS-pt-br@centos.org</a><br>
<a href="http://lists.centos.org/mailman/listinfo/centos-pt-br" target="_blank">http://lists.centos.org/mailman/listinfo/centos-pt-br</a><o:p></o:p></p>

</div>

<p class=MsoNormal><br>
<br clear=all>
<br>
-- <br>
Muitas pessoas poderiam ter sucesso em pequenas coisas se não se deixassem
atormentar por grandes ambições!<br>
------------------------------------------------------<br>
Wagner Quedi Rosa .·.<br>
QuediNet Internet Service<br>
Soluções Inteligentes em T.I.<br>
<br>
Fone: (69) 8403-1158<br>
Skype: wagner_quedi<br>
E-Mail/MSN: <a href="mailto:wagner@quedinet.com.br">wagner@quedinet.com.br</a><br>
Site: <a href="http://www.quedinet.com.br">www.quedinet.com.br</a><br>
------------------------------------------------------<o:p></o:p></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p>__________ Informação do ESET NOD32 Antivirus, versão da vacina 4504
(20091013) __________<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p>A mensagem foi verificada pelo ESET NOD32 Antivirus.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p>http://www.eset.com<o:p></o:p></p>

</div>

 <BR><BR>__________ Informação do ESET NOD32 Antivirus, versão da vacina 4504 (20091013) __________<BR><BR>A mensagem foi verificada pelo  ESET NOD32 Antivirus.<BR><BR><A HREF="http://www.eset.com">http://www.eset.com</A><BR> </body>

</html>