{"id":4180,"date":"2015-11-01T02:31:34","date_gmt":"2015-11-01T04:31:34","guid":{"rendered":"https:\/\/www.viazap.com.br\/?p=4180"},"modified":"2015-11-01T02:31:34","modified_gmt":"2015-11-01T04:31:34","slug":"squid-balanceado-com-lvs","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=4180","title":{"rendered":"SQUID BALANCEADO COM LVS"},"content":{"rendered":"<h1>DESCRITIVO DO AMBIENTE<\/h1>\n<p>&nbsp;<\/p>\n<div>Nesta etapa vou apresentar o ambiente criado.<\/p>\n<p>NOTA: \u00e9 importante que todos os servidores tenham acesso direto \u00e0 Internet. Em muitas corpora\u00e7\u00f5es, principalmente no Governo, que \u00e9 o meu caso, \u00e9 necess\u00e1rio um IP v\u00e1lido, libera\u00e7\u00f5es de firewall etc. Neste artigo estou visando somente o funcionamento da solu\u00e7\u00e3o.<\/p>\n<p>Tamb\u00e9m vou considerar que os servidores <em>Squid<\/em> j\u00e1 estejam configurados e em funcionamento.<\/p>\n<p>Para todos os servidores foi usado o <em>Centos 6.4<\/em>.<\/p>\n<p>O <em>LVS<\/em> (Linux Virtual Server) \u00e9 muito usado em solu\u00e7\u00f5es de servidores Web, por qu\u00ea n\u00e3o utiliz\u00e1-lo em outras situa\u00e7\u00f5es? Este recurso permite que as requisi\u00e7\u00f5es que cheguem nele sejam direcionadas \u00e0 outros servidores (2, 3, 4, N servidores).<\/div>\n<div>\nFoi usado o LVS em modo <em>direct-routing<\/em>.<\/p>\n<ol>\n<li>o cliente faz a requisi\u00e7\u00e3o<\/li>\n<li>o LVS encaminha ao PROXY<\/li>\n<li>o proxy responde direto ao cliente<\/li>\n<\/ol>\n<p>(o caminho de volta n\u00e3o passa pelo LVS)<\/p>\n<p>Servidor LVS:<\/p>\n<p>ETH0=192.168.0.1\/24<br \/>\nETH0:0= 192.168.0.4\/24<\/p>\n<p>Servidor Proxy1:<\/p>\n<p>ETH0=192.168.0.2\/24<br \/>\nlo:0=192.168.0.4\/32<\/p>\n<p>Servidor Proxy1:<\/p>\n<p>ETH0=192.168.0.3\/24<br \/>\nlo:0=192.168.0.4\/32<\/p>\n<\/div>\n<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<h1>INSTALA\u00c7\u00c3O E CONFIGURA\u00c7\u00c3O LVS<\/h1>\n<p>&nbsp;<\/p>\n<div>No servidor <em>LVS<\/em> configure os IPs abaixo:<\/p>\n<p><strong># vim \/etc\/sysconfig\/network-scripts\/ifcfg-eth0<\/strong><\/p>\n<p>(neste arquivo altere os valores de IP, m\u00e1scara, gateway etc)<\/p>\n<p>Configure o IP Virtual:<\/p>\n<p><strong># ifconfig eth0:0 192.168.0.4 netmask 255.255.255.0 broadcast 192.168.0.255<\/strong><\/p>\n<p>Instale o pacote do LVS &#8211; ipvsadm:<\/p>\n<p><strong># yum install ipvsadm<\/strong><\/p>\n<p>Coloque o servi\u00e7o para ser iniciado junto com o sistema<\/p>\n<p><strong># ntsysv<\/strong><\/p>\n<p>Marque o servi\u00e7o ipvsadm.<\/p>\n<p>Adicione as regras:<\/p>\n<div class=\"codigo\">ipvsadm -A -t 192.168.0.4:8080<br \/>\nipvsadm -a -t 192.168.0.4:8080 -r 192.168.0.2:8080 -g<br \/>\nipvsadm -a -t 192.168.0.4:8080 -r 192.168.0.3:8080 -g<\/div>\n<p>Para facilitar, crie um arquivo com estas entradas e o adicione ao <em>rc.local<\/em> do servidor. Assim, sempre que os servidor reiniciar as regras ser\u00e3o iniciadas automaticamente.<\/p>\n<p>Pronto, o LVS est\u00e1 configurado. Agora vamos configurar os servidores Proxy1 e Proxy2.<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h1>CONFIGURA\u00c7\u00c3O REDE PROXY1 E PROXY2<\/h1>\n<p>&nbsp;<\/p>\n<div>Nos servidores proxy, configure os IPs conforme abaixo:<\/p>\n<h1>PROXY1<\/h1>\n<p>Considerando que o IP da placa ETH0 esteja configurado, vamos configurar a interface que ir\u00e1 comunicar e atender as requisi\u00e7\u00f5es com o LVS.<\/p>\n<p><strong># ifconfig lo:0 192.168.0.4 netmask 255.255.255.255<\/strong><\/p>\n<p>Desabilite o envio de ARP:<\/p>\n<p><strong># ifconfig lo:0 -arp up<\/strong><\/p>\n<p>Obs.: crie um script com os comandos acima e deixe-o na inicializa\u00e7\u00e3o do rc.local.<\/p>\n<p>Fa\u00e7a a mesma coisa no servidor Proxy2.<\/p>\n<h1>PROXY 2<\/h1>\n<p>Execute:<\/p>\n<p><strong># ifconfig lo:0 192.168.0.4 netmask 255.255.255.255<\/strong><\/p>\n<p>Desabilite o envio de ARP:<\/p>\n<p><strong># ifconfig lo:0 -arp up<\/strong><\/p>\n<p>Bem, se tudo tiver sido feito conforme o tutorial, vamos aos testes.<\/p>\n<p>Em uma esta\u00e7\u00e3o de trabalho (192.168.0.10) configure o proxy:<\/p>\n<p>Servidor: <strong>192.168.0.4 <\/strong><br \/>\nPorta: <strong>8080<\/strong><\/p>\n<p>Acesse o site de algum portal (globo.com, uol.com.br etc) e ver\u00e1 que as requisi\u00e7\u00f5es ser\u00e3o direcionadas aos dois servidores.<\/p>\n<p>No servidor LVS, para verificar se as regras est\u00e3o aplicadas:<\/p>\n<p><strong># ipvsadm -L -n &#8211;stats<\/strong><\/p>\n<pre>IP Virtual Server version 1.2.1 (size=4096)\r\nProt LocalAddress:Port         Conns   InPkts  OutPkts  InBytes OutBytes\r\n -&gt;    RemoteAddress:Port\r\nTCP  192.168.0.4:8080          5333    28186        0  1740404        0\r\n  -&gt;    192.168.0.2:8080       2517    13291        0   820673        0\r\n  -&gt;    192.168.0.3:8080       2816    14895        0   919731        0\r\n\r\n<\/pre>\n<p>Nos servidores proxy monitore o acesso:<\/p>\n<p><strong># tail -f \/var\/log\/squid\/access.log | grep 192.169.0.10<\/strong><\/p>\n<p>Pronto. Agora \u00e9 s\u00f3 fazer alguns ajustes se necess\u00e1rio, como inicia\u00e7\u00e3o de servi\u00e7os, firewall etc.<\/p>\n<p>Obs.: no meu ambiente precisei desabilitar o iptables, isso porque j\u00e1 possuo firewall de borda.<\/p>\n<p>Boa sorte!<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>DESCRITIVO DO AMBIENTE &nbsp; Nesta etapa vou apresentar o ambiente criado. NOTA: \u00e9 importante que todos os servidores tenham acesso direto \u00e0 Internet. Em muitas corpora\u00e7\u00f5es, principalmente no Governo, que \u00e9 o meu caso, \u00e9 necess\u00e1rio um IP v\u00e1lido, libera\u00e7\u00f5es de firewall etc. Neste artigo estou visando somente o funcionamento da solu\u00e7\u00e3o. Tamb\u00e9m vou considerar [&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":[455,460,91,730,1,830,725,42,51,439,495,514,85,68,271,127,111,548],"tags":[989,349,990,86],"class_list":["post-4180","post","type-post","status-publish","format-standard","hentry","category-apache2","category-awstats","category-banco-de-dados","category-clusterweb","category-viazap","category-debian","category-hospedagem","category-leitura-recomendada","category-linux-linuxrs","category-midia","category-profissional-de-ti","category-programacao","category-proxy","category-redes-2","category-seguranca-2","category-sistemas-de-armazenamento","category-squid-2","category-ubuntu-2","tag-balanceado","tag-com","tag-lvs","tag-squid"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4180","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=4180"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4180\/revisions"}],"predecessor-version":[{"id":4181,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4180\/revisions\/4181"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}