{"id":629,"date":"2013-10-10T17:09:48","date_gmt":"2013-10-10T20:09:48","guid":{"rendered":"http:\/\/www.viazap.com.br\/?p=629"},"modified":"2013-10-10T17:16:07","modified_gmt":"2013-10-10T20:16:07","slug":"layer7-e-compilacao-do-kernel-mole-mole-com-conectiva-10","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=629","title":{"rendered":"Layer7 e compila\u00e7\u00e3o do kernel mole-mole com Conectiva 10"},"content":{"rendered":"<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td colspan=\"2\"><b>O cen\u00e1rio<\/b><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td align=\"justify\">Em empresas, escolas, institui\u00e7\u00f5es p\u00fablicas, o controle eficaz do tr\u00e1fego \u00e9 fundamental. A &#8220;educa\u00e7\u00e3o&#8221; dos usu\u00e1rios da rede deveria ser proporcional \u00e0 import\u00e2ncia que a internet tem para a empresa, mas sabemos que nem sempre isso acontece, principalmente em institui\u00e7\u00f5es p\u00fablicas.H\u00e1 usu\u00e1rios que aproveitam-se de programas &#8220;visualmente discretos&#8221;, como o kazaa, emule e deixam estes programas minimizados ao lado do rel\u00f3gio, consumindo toda a banda do link da empresa, fazendo falta na hora de enviar um e-mail ou fazer uma transa\u00e7\u00e3o banc\u00e1ria, por exemplo.<\/p>\n<p>Al\u00e9m de outras medidas que devem ser tomadas para regularizar o tr\u00e1fego, como um acompanhamento atrav\u00e9s do MRTG e SARG, controle de banda com HTB, uma das mais importantes \u00e9 aplica\u00e7\u00e3o do\u00a0<i>layer7<\/i>, que proporciona um controle eficaz sobre o tr\u00e1fego da rede, inclusive sobre p2p.<\/p>\n<p>Ap\u00f3s o controle correto com o layer7, a internet apresentar\u00e1 uma melhoria de at\u00e9 60% no tr\u00e1fego da rede, baseando-se numa empresa com um n\u00famero consider\u00e1vel de funcion\u00e1rios e com alguns engra\u00e7adinhos que gostam de baixar m\u00fasicas, v\u00eddeos e jogos. Este cen\u00e1rio pode ser comparado ao de uma institui\u00e7\u00e3o p\u00fablica, como uma prefeitura ou um hospital, por exemplo.<\/p>\n<p>Na an\u00e1lise do cen\u00e1rio o administrador da rede deve verificar qual \u00e9 a melhor op\u00e7\u00e3o, optando por bloquear totalmente programas de mensagens instant\u00e2neas, como MSN, ICQ, Skype, programas p2p (kazaa, emule, edonkey, shareaza, imesh, napster, etc) ou se o caso \u00e9 apenas de baixar a banda destes programas. Este artigo mostrar\u00e1 como bloquear totalmente estes programas.\u00a0<!--more--><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Preparando o terreno<\/b><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td align=\"justify\">Os passos deste artigo referem-se ao\u00a0<i>Conectiva 10<\/i>. N\u00e3o testei em outras distribui\u00e7\u00f5es nem em outras vers\u00f5es do Conectiva, portanto, desde j\u00e1 aconselho um backup de seus arquivos e principalmente do kernel atual.Nos servidores que instalo, escolho apenas a op\u00e7\u00e3o INSTALA\u00c7\u00c3O M\u00cdNIMA e depois instalo os pacotes necess\u00e1rios manualmente, atrav\u00e9s do comando &#8220;apt-get install nome_do_pacote&#8221;. \u00c9 de uma m\u00e1quina com estas caracter\u00edsticas que fa\u00e7o os procedimentos descritos neste artigo sem encontrar problema algum.<\/p>\n<p>Os procedimentos ser\u00e3o os seguintes:<\/p>\n<ol>\n<li>Baixar os fontes do kernel e outros programas necess\u00e1rios para sua compila\u00e7\u00e3o.<\/li>\n<li>Baixar os fontes e patches do iptables, e do layer7.<\/li>\n<li>Aplicar os patches do layer7 no iptables e no kernel.<\/li>\n<li>Instalar o l7-Protocols.<\/li>\n<li>Compilar o kernel e criar uma imagem de inicializa\u00e7\u00e3o.<\/li>\n<li>Atualizar o iptables para a vers\u00e3o 1.3.4.<\/li>\n<li>Configurar o LILO.<\/li>\n<\/ol>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Baixando e instalando os pacotes<\/b><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td align=\"justify\">Antes de instalar os fontes do kernel \u00e9 interessante dar uma observada no diret\u00f3rio \/usr\/src\/. Provavelmente ele estar\u00e1 vazio.Atualize seu apt-get antes de baixar os arquivos:<\/p>\n<p><b># apt-get update<\/b><\/p>\n<p>Agora instale os pacotes necess\u00e1rios para a compila\u00e7\u00e3o do kernel, inclusive os fontes do novo kernel:<\/p>\n<p><b># apt-get install task-kernel-compiling gcc patch make kernel-source<\/b><\/p>\n<p>Depois da instala\u00e7\u00e3o, os fontes do kernel podem ser encontrados em \/usr\/src\/linux.<\/p>\n<h1>Baixando outros arquivos necess\u00e1rios e descompactando<\/h1>\n<p>Se voc\u00ea for fazer este procedimentos manualmente, procure e baixe estes arquivos na internet. Se optar pelo script que desenvolvi, eles ser\u00e3o descompactados automaticamente e voc\u00ea n\u00e3o precisa se preocupar com esta etapa. \u00c9 importante que ao baixar os arquivos, procure as vers\u00f5es id\u00eanticas \u00e0s que est\u00e3o mostradas logo abaixo para evitar incompatibilidades.<\/p>\n<ul>\n<li>iptables-1.3.4.tar.bz2<\/li>\n<li>l7-protocols-2006-05-21.tar.gz<\/li>\n<li>netfilter-layer7-v2.2.tar.gz<\/li>\n<\/ul>\n<p>Copie ou mova os tr\u00eas arquivos acima para o diret\u00f3rio \/usr\/src\/:<\/p>\n<p><b># mv iptables-1.3.4.tar.bz2 \/usr\/src\/<br \/>\n# mv l7-protocols-2006-05-21.tar.gz \/usr\/src\/<br \/>\n# mv netfilter-layer7-v2.2.tar.gz \/usr\/src\/<\/b><\/p>\n<p>Descompacte todos os arquivos no mesmo diret\u00f3rio:<\/p>\n<p><b># tar -jxvf iptables-1.3.4.tar.bz2<br \/>\n# tar -zxvf l7-protocols-2006-05-21.tar.gz<br \/>\n# tar -zxvf netfilter-layer7-v2.2.tar.gz<\/b><\/p>\n<p>Agora observe que dentro do diret\u00f3rio \/usr\/src (que estava vazio) h\u00e1 as seguintes pastas:<\/p>\n<p>linux-2.6.11-72032U10_23cl<br \/>\nlinux<br \/>\niptables-1.3.4<br \/>\nl7-protocols-2006-05-21<br \/>\nnetfilter-layer7-v2.2<\/p>\n<p>A pasta linux-2.6.11-72032U10_23cl e linux s\u00e3o a mesma coisa. A segunda sendo portanto apenas um link para a pasta real (primeira). Dentro desta pasta est\u00e3o os fontes do kernel do\u00a0<i>Linux<\/i>. Qualquer altera\u00e7\u00e3o, como a que vamos fazer aqui, deve ser feita antes da compila\u00e7\u00e3o. Na pasta iptables-1.3.4 h\u00e1 os fontes do iptables-1.3.4. As patches que ser\u00e3o aplicadas no iptables tamb\u00e9m seguem as mesmas regras do kernel, devendo ser feitas antes da instala\u00e7\u00e3o.<\/p>\n<p>A compila\u00e7\u00e3o do kernel pegar\u00e1 seus fontes e suas altera\u00e7\u00f5es e gerar\u00e1 uma nova imagem, que ser\u00e1 carregada durante o boot. A instala\u00e7\u00e3o do iptables far\u00e1 coisa semelhante. Pegar\u00e1 seus fontes e compilar\u00e1, criando o aplicativo iptables.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Aplicando as patches<\/b><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td align=\"justify\">Para aplicar as patches no\u00a0<i>kernel<\/i>\u00a0e no\u00a0<i>iptables<\/i>, \u00e9 de extrema import\u00e2ncia que voc\u00ea esteja dentro do diret\u00f3rio dos fontes.Para aplicar a patch ao kernel fa\u00e7a o seguinte:<\/p>\n<p><b># cd \/usr\/src\/linux<br \/>\n# patch -p1 &lt; \/usr\/src\/netfilter-layer7-v2.2\/kernel-2.6.13-2.6.16-layer7-2.2.patch<\/b><\/p>\n<p>Para aplicar a patch ao iptables fa\u00e7a o seguinte:<\/p>\n<p><b># cd \/usr\/src\/iptables-1.3.4<br \/>\n# patch -p1 &lt; \/usr\/src\/netfilter-layer7-v2.2\/iptables-layer7-2.2.patch<\/b><\/p>\n<p>OBS: O\u00a0<i>l7Filter<\/i>\u00a0possui um bug em um script que \u00e9 adicionado ao iptables. \u00c9 um arquivo (.layer7-test) que deve ser transformado em execut\u00e1vel, sen\u00e3o nosso layer7 vai por \u00e1gua abaixo. Para corrigir este problema, acrescente o atributo de execut\u00e1vel com o c\u00f3digo baixo:<\/p>\n<p><b># chmod a+x \/usr\/src\/iptables-1.3.4\/extensions\/.layer7-test<\/b><\/p>\n<p>Feito isso tanto o kernel como o iptables est\u00e3o prontos para serem compilados j\u00e1 com as novas altera\u00e7\u00f5es. Agora resta a instala\u00e7\u00e3o do l7-protocols, que \u00e9 muito f\u00e1cil.<\/p>\n<p>Entre no fonte do l7-protocols:<\/p>\n<p><b># cd \/usr\/src\/l7-protocols-2006-05-21<br \/>\n# make<br \/>\n# make install<\/b><\/p>\n<p>A partir daqui \u00e9 aconselh\u00e1vel fazer um backup da imagem do kernel, da imagem de inicializa\u00e7\u00e3o e da pasta dos m\u00f3dulos.<\/p>\n<p>Fa\u00e7a um backup dos seguintes arquivos:<\/p>\n<ul>\n<li>\/boot\/initrd-vers\u00e3o_do_kernel (imagem de inicializa\u00e7\u00e3o)<\/li>\n<li>\/boot\/vmlinuz-vers\u00e3o-do-kernel (kernel compilado)<\/li>\n<\/ul>\n<p>Fa\u00e7a tamb\u00e9m um backup do diret\u00f3rio dos m\u00f3dulos do kernel:<\/p>\n<ul>\n<li>\/lib\/modules\/2.6.5-vers\u00e3o_do_kernel<\/li>\n<\/ul>\n<p><b># cp -ar 2.6.5-vers\u00e3o 2.6.5-vers\u00e3o.backup<\/b><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Configurando e compilando o kernel<\/b><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td align=\"justify\">Agora vamos meter a m\u00e3o na massa realmente e compilar esse tal de kernel! Entre no diret\u00f3rio dos fontes do kernel:<b># cd \/usr\/src\/linux<\/b><\/p>\n<p>Digite o seguinte comando:<\/p>\n<p><b># make menuconfig<\/b><\/p>\n<p>Surgir\u00e1 ent\u00e3o o menu de configura\u00e7\u00e3o do kernel, guardi\u00e3o de todos os poderes sobre o\u00a0<i>Linux<\/i>\u00a0(risos). Neste menu temos um caminho a seguir e deve ser conforme o exemplo abaixo:<\/p>\n<p>-&gt; Device Drivers<br \/>\n&#8212;&gt; Networking Support<br \/>\n&#8212;&#8211;&gt; Networking options<br \/>\n&#8212;&#8212;-&gt; Network packet filtering (replace ipchains)<br \/>\n&#8212;&#8212;&#8212;&gt; IP: netfilter configuration<br \/>\n&#8212;&#8212;&#8212;&#8211;&gt; Layer 7 match suppotr (marcar esta op\u00e7\u00e3o)<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8211;&gt; Layer 7 debugging output (marcar esta op\u00e7\u00e3o)<\/p>\n<p>Depois escolha EXIT at\u00e9 sair do kernel e salve suas altera\u00e7\u00f5es quando solicitado no final. Seu kernel est\u00e1 pronto pra ser compilado. O processo de compila\u00e7\u00e3o pode demorar at\u00e9 algumas horas dependendo do PC. Num K6\/2-350 com 64MB \u00e9 quase uma f\u00e1bula e demora 1 hora e 2 minutos. Por\u00e9m num Athlon XP 2000, com 256MB demora 15 minutos, enquanto numa m\u00e1quina com 64 bits com 512MB demora apenas 5 minutos.<\/p>\n<p>Inicie a compila\u00e7\u00e3o sem sair do diret\u00f3rio onde est\u00e1 (\/usr\/src\/linux):<\/p>\n<p><b># make dep<br \/>\n# make clean<br \/>\n# make bzImage<\/b><\/p>\n<p>A express\u00e3o bzImage pode ser substitu\u00edda por qualquer outro nome que voc\u00ea queira dar a imagem. Uso este por v\u00edcio.<\/p>\n<p>Se desejar use todos os comandos em uma s\u00f3 linha para n\u00e3o ter que aguardar um terminar para iniciar o outro:<\/p>\n<p><b># make dep &amp;&amp; make clean &amp;&amp; make bzImage<\/b><\/p>\n<p>Ap\u00f3s a compila\u00e7\u00e3o ser\u00e1 crido uma imagem do novo kernel com o nome bzImage. Copie esta imagem para a pasta \/boot.<\/p>\n<p><b># cp \/usr\/src\/linux\/arch\/i386\/boot\/bzImage \/boot\/bzImage<\/b><\/p>\n<p>Agora ser\u00e1 necess\u00e1rio renomear a pasta dos m\u00f3dulos do kernel antigo antes de aplicarmos os pr\u00f3ximos passos e com certeza mais demorados do que a compila\u00e7\u00e3o. Este passo ser\u00e1 desfeito logo ap\u00f3s a compila\u00e7\u00e3o dos m\u00f3dulos:<\/p>\n<p><b># mv \/lib\/modules\/2.4.5-vers\u00e3o_antiga_kernel \/lib\/modules\/2.4.5-vers\u00e3o_antiga_kernel-old<\/b><\/p>\n<p>Ao renomear esta pasta, seu sistema dar\u00e1 uma parada nas principais fun\u00e7\u00f5es, como iptables, por exemplo. \u00c9 importante que voc\u00ea n\u00e3o reinicie o computador com a pasta renomeada e aguarde com bastante paci\u00eancia o t\u00e9rmino da compila\u00e7\u00e3o dos m\u00f3dulos.<\/p>\n<p>Pra falar a verdade este passo de renomear o diret\u00f3rio dos m\u00f3dulos \u00e9 apenas uma supersti\u00e7\u00e3o minha e creio que n\u00e3o \u00e9 necess\u00e1rio, mas a \u00fanica vez que fiz todo este processo sem renomear esta pasta perdi um servidor e tive que formata-lo novamente. Creio que foi por outro problema, mas n\u00e3o tenho certeza. Aproveito e pe\u00e7o a quem tiver testado sem esta op\u00e7\u00e3o ou quem puder testar, por favor me mande um e-mail informando se deu certo.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Compilando os m\u00f3dulos e criando os scripts de inicializa\u00e7\u00e3o<\/b><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td align=\"justify\">Vamos ent\u00e3o \u00e0 compila\u00e7\u00e3o dos m\u00f3dulos:<b># cd \/usr\/src\/linux<br \/>\n# make modules &amp;&amp; make modules_install<\/b><\/p>\n<p>Aproveite e v\u00e1 tomar um caf\u00e9, porque estas op\u00e7\u00f5es s\u00e3o demoradas. Dependendo da m\u00e1quina podem levar horas para serem conclu\u00eddas. Ap\u00f3s a compila\u00e7\u00e3o dos m\u00f3dulos, retorne na pasta \/lib\/modules\/ e volte o nome original da pasta dos m\u00f3dulos do kernel que voc\u00ea renomeou (lembra?).<\/p>\n<p><b># mv \/lib\/modules\/2.4.5-vers\u00e3o_antiga_kernel-old \/lib\/modules\/2.4.5-vers\u00e3o_antiga_kernel<\/b><\/p>\n<p>O pior j\u00e1 passou, acredite! Se at\u00e9 aqui n\u00e3o deu nenhum erro parab\u00e9ns! Agora vamos criar uma imagem de inicializa\u00e7\u00e3o baseada no novo kernel.<\/p>\n<p><b># cd \/boot<br \/>\n# mkinitrd initrd-bzImage 2.6.11-72032U10_23cl<\/b><\/p>\n<h1>Configurando o lilo.conf<\/h1>\n<p>Surgir\u00e1 um novo arquivo como nome initrd-bzImage. Esta \u00e9 a sua imagem de inicializa\u00e7\u00e3o para o novo kernel. Agora voc\u00ea deve informar ao seu gerenciador de boot onde est\u00e1 o novo kernel. Neste exemplo usei o lilo. Acrescente ao final do arquivo \/etc\/lilo.conf as seguintes linhas:<\/p>\n<p>OBS.: Lembre que se voc\u00ea escolheu outro nome sen\u00e3o o bzImage, ele deve ser informado em todas as linhas de c\u00f3digo at\u00e9 aqui.<\/td>\n<\/tr>\n<tr>\n<td>image=\/boot\/bzImage<br \/>\nroot=\/dev\/hda2\u00a0<span style=\"color: #004080;\"># (ou o mesmo do kernel velho)<\/span><br \/>\nlabel=Kernel-Novo<br \/>\ninitrd=\/boot\/initrd-bzImage<br \/>\nread-only<\/td>\n<\/tr>\n<tr>\n<td align=\"justify\">Com as configura\u00e7\u00f5es atuais voc\u00ea poder\u00e1 trabalhar com dois kernels. Absolutamente nada do seu kernel antigo foi perdido e a op\u00e7\u00e3o de escolher entre um e outro ajuda bastante caso algo tenha sa\u00eddo errado. Se quiser tornar o novo kernel como padr\u00e3o na inicializa\u00e7\u00e3o, acrescente a seguinte linha no seu lilo, caso ela j\u00e1 n\u00e3o exista:<\/td>\n<\/tr>\n<tr>\n<td>default=Kernel-Novo<\/td>\n<\/tr>\n<tr>\n<td align=\"justify\">Depois de salvar e fechar este arquivo digite o comando lilo para ativar suas altera\u00e7\u00f5es.<b># lilo<\/b><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Instalando o iptables-1.3.4<\/b><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td align=\"justify\">Agora resta apenas instalar o novo iptables (j\u00e1 com a nova patch que voc\u00ea aplicou) e remover o antigo.Removendo o iptables antigo:<\/p>\n<p><b># apt-get remove iptables -y<\/b><\/p>\n<p>Instalando a nova vers\u00e3o do iptables (v\u00e1 para a pasta dos fontes do iptables que voc\u00ea baixou):<\/p>\n<p><b># cd \/usr\/src\/iptables-1.3.4<\/b><\/p>\n<p># make<br \/>\n# make install<br \/>\n# make KERNEL_DIR=\/usr\/src\/linux-2.6.11-72032U10_23cl\/<br \/>\n# make install KERNEL_DIR=\/usr\/src\/linux-2.6.11-72032U10_23cl\/<br \/>\n# make BINDIR=\/usr\/bin LIBDIR=\/usr\/lib MANDIR=\/usr\/man<br \/>\n# make BINDIR=\/usr\/bin LIBDIR=\/usr\/lib MANDIR=\/usr\/man install<\/p>\n<p>Depois de instalado o novo iptables reinicie o computador. Observe que o lilo j\u00e1 chama o novo kernel como padr\u00e3o (se voc\u00ea tiver configurado a op\u00e7\u00e3o default no lilo.conf).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Criando regras para bloqueio<\/b><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td align=\"justify\">Agora crie um script e transforme-o em execut\u00e1vel. Dentro dele colocaremos as regras do exemplo abaixo para bloquear p2p, jogos, etc. Chame este script toda vez que o computador reiniciar, assim como voc\u00ea faz com seus scripts pessoais.<\/td>\n<\/tr>\n<tr>\n<td><span style=\"color: #004080;\">#!\/bin\/sh<\/span><span style=\"color: #004080;\"># Carregando m\u00f3dulo do kernel<\/span><br \/>\nmodprobe ipt_layer7<\/p>\n<p><span style=\"color: #004080;\"># Lista de protocolos bloqueados<\/span><br \/>\n<span style=\"color: #004080;\"># Ver lista completa de protocolos suportados em \/etc\/l7-protocols\/protocols<\/span><\/p>\n<p>protocolo=&#8221;<br \/>\nares<br \/>\nbittorrent<br \/>\ncounterstrike-source<br \/>\ndayofdefeat-source<br \/>\ndirectconnect<br \/>\ndoom3<br \/>\nedonkey<br \/>\nfasttrack<br \/>\ngnutella<br \/>\nhalflife2-deathmatch<br \/>\nimesh<br \/>\nnapster<br \/>\nquake-halflife<br \/>\nquake1<br \/>\n&#8221;<\/p>\n<p>for tranca in `echo $protocolo`;do<br \/>\necho &#8220;Bloqueando o protocolo $tranca&#8221;<br \/>\niptables -A FORWARD -m layer7 &#8211;l7proto $tranca -j DROP<br \/>\ndone<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Finalizando<\/b><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td align=\"justify\">Criei este script depois de apanhar por muito tempo tentando compilar o\u00a0<i>kernel<\/i>\u00a0no\u00a0<i>Conectiva 10<\/i>. Em livros h\u00e1 exemplos de outras distribui\u00e7\u00f5es, em tutoriais, apostilas, dicas e artigos h\u00e1 peda\u00e7os de informa\u00e7\u00f5es sobre o Conectiva e s\u00f3 com muita perseveran\u00e7a, teimosia, sorte e instinto \u00e9 que pode-se chegar ao resultado final.No Slackware, Debian e outros tem uma infinidade de informa\u00e7\u00f5es da Internet, excelentes artigos aqui no VOL e nenhuma dificuldade por parte da distribui\u00e7\u00e3o, mas especialmente do Conectiva 10 n\u00e3o h\u00e1 informa\u00e7\u00f5es suficientes para quem vai fazer pela primeira vez. Elaborei este artigo sem esquecer nenhum passo e sem deixar de fora nenhuma informa\u00e7\u00e3o que pudesse atrapalhar o usu\u00e1rio no instante da compila\u00e7\u00e3o.<\/p>\n<p>N\u00e3o h\u00e1 absolutamente nenhuma pretens\u00e3o, inten\u00e7\u00e3o ou pensamento de que este artigo seja melhor do que A ou B, mas procurei pela internet inteira e n\u00e3o encontrei nada que estivesse t\u00e3o resumido e mastigado quanto o que eu coloquei aqui exclusivamente para o Conectiva 10. Foi um verdadeiro apanhado de boas dicas que colhi e de experi\u00eancia pr\u00f3pria para corrigir os diversos bugs e erros encontrados.<\/p>\n<p>Como amante do que o shell script pode fazer, criei um script que faz todo este trabalho de compila\u00e7\u00e3o, instala\u00e7\u00e3o e configura\u00e7\u00e3o e posso envia-lo junto com os fontes (informados no in\u00edcio) a quem se interessar.<\/p>\n<p>Um abra\u00e7o a todos!<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>O cen\u00e1rio Em empresas, escolas, institui\u00e7\u00f5es p\u00fablicas, o controle eficaz do tr\u00e1fego \u00e9 fundamental. A &#8220;educa\u00e7\u00e3o&#8221; dos usu\u00e1rios da rede deveria ser proporcional \u00e0 import\u00e2ncia que a internet tem para a empresa, mas sabemos que nem sempre isso acontece, principalmente em institui\u00e7\u00f5es p\u00fablicas.H\u00e1 usu\u00e1rios que aproveitam-se de programas &#8220;visualmente discretos&#8221;, como o kazaa, emule e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1,42,51,68,271],"tags":[349,66,367,366,351,15,365],"class_list":["post-629","post","type-post","status-publish","format-standard","hentry","category-viazap","category-leitura-recomendada","category-linux-linuxrs","category-redes-2","category-seguranca-2","tag-com","tag-compilacao","tag-conectiva-10","tag-do","tag-e","tag-kernel","tag-layer7"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=629"}],"version-history":[{"count":2,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/629\/revisions"}],"predecessor-version":[{"id":636,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/629\/revisions\/636"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}