O presente documento destina-se a criar um balanceamento de duas conexões ADSL existentes em uma mesma máquina Linux. Ao seu final, o leitor estará capacitado a configurar uma máquina Linux contendo duas (ou mais) conexões ADSL, Cable ou similares (com IP fixo) de forma que essas conexões sejam utilizadas tanto para recepção quanto envio de informações para a Internet, bem como serem utilizadas em balanceadores de carga no modelo Round Robin.
O presente documento destina-se a criar um balanceamento
de duas conexões ADSL existentes em uma mesma máquina Linux.
Ao seu final, o leitor estará capacitado a configurar uma
máquina Linux contendo duas (ou mais) conexões ADSL, Cable ou
similares (com IP fixo) de forma que essas conexões sejam
utilizadas tanto para recepção quanto envio de informações
para a Internet, bem como serem utilizadas em balanceadores de
carga no modelo Round Robin.
Introdução
Com o advento dos links de alta velocidade é fácil hospedar
serviços em um computador doméstico. Mas o que acontece quando
o link cai? Uma solução óbvia é possuir um link redundante de
Internet com outro provedor e possuir a máquina configurada
para trabalhar com esses dois links. Para configurar uma máquina
Linux com conexão redundante à Internet, esse artigo cobrirá a
configuração da máquina para trabalhar corretamente as conexões
e balancear a carga entre os dois (ou mais) links.
Não fazem parte do escopo desse artigo a instalação do Linux e
configurações avançadas de firewall. O artigo presume que o
leitor possua todos os conhecimentos necessários de operações em
Linux, através de shell (linha de comando), criação de scripts,
conhecimentos de TCP/IP e outras tarefas administrativas do
sistema operacional. Presume que ambas as conexões Internet
estejam ativas e, individualmente, funcionando. Presume que as
interfaces de rede estejam corretamente configuradas.
#1Comentário enviado por bhl em 24/03/2005 - 08:41h
Mas se a sua conexão do Virtua cair, os pacotes poderão tentar sair pela rota do gateway do Virtua e terão problemas (isso aconteceu comigo).
Esse script é para balanceamento de carga (load balance) e não redundância de link. Ou estou enganado?
#2Comentário enviado por fabio em 24/03/2005 - 09:18h
Olá bhl,
Bom, vou me meter no assunto, espero não estar falando bobagem :)
Se um dos links cair, o kernel "descobre" que o link caiu e passa a rotear somente pelo outro link. Repare que as duas rotas tem a mesma prioridade na tabela de roteamento do kernel, por isso o balanceamento. A redundância e balanceamento nesse caso se devem ao recurso de multi path routing habilitado no kernel.
Só faço uma ressalva, se um dos links cair, o kernel descobre, mas se ele voltar, o kernel fica sem saber, pois a rota para esse dispositivo foi desabilitada. Uma sugestão é pôr um script no cron para pingar as interfaces de rede da máquina a cada minuto. Um simples ping na interface de rede que voltou já é o suficiente para o kernel saber que ela está no ar novamente e restaurar a rota de pacotes pra ela.
[]'s
#3Comentário enviado por mrbits em 29/03/2005 - 16:12h
Nao esta falando bobagem nao. Mandou muito bem e esta coberto de razao. Se uma das conexoes cair e voltar, o kernel vai ficar sem saber, sendo necessario um restart no roteamento.
#4Comentário enviado por efloriani em 06/04/2005 - 01:34h
Ola galera,,
Estou com um problema, que seria o seguinte:
Tenho 1 link e 1 ADSL, duas conexoes internet.
Meus usuarios passam pelo proxy squid, e vao para a internet, atraves de qualquer 1 das conexoes com a internet, porem, preciso fazer com q o servidor de email local soh saia pelo link e nunca pela ADSL.
Como fazer?
Agradeco a atencao desde jah.
Edwin Floriani
#5Comentário enviado por genixsky em 09/05/2005 - 09:02h
Olá pessoal.
Gostaria de saber, como fazer para testar esse processo com dois link speedy de 400, sendo que um deles já está em operação na rede. Pois não posso parar a rede para realizar este teste.
Pensei em colocar em uma máquina da rede ligada diretamente a interface com o ip do link válido 200.0.0.0. A minha idéia e tentar simular um link speedy em um computador para verificar c o kernel realmente manteria total acesso. Isso é possível?
#6Comentário enviado por jaca_diego em 15/05/2005 - 18:26h
Olá achei muito bom o script so q tenhu uma duvida quanto ao multi path routing, uso conectiva 10 como posso abilitar isso no kernel ou como faço pra ver c ja esta abilitado??
obrigado
nota 10
#7Comentário enviado por segalla em 15/11/2005 - 12:19h
Pessoal,
Estou usando FC3 com kernel 2.6, montei um ambiente de teste e rodei o script acima.
A parte de balanceamento ta rodando perfeito mas o kernel não está "descubrindo" a queda de uma rota e continua fazendo balaceamento entre as duas placas.
Alguém tem alguma sugestão?
Abs,
Segalla
#8Comentário enviado por crulim em 20/04/2006 - 15:21h
Boa tarde a todos!!!
Estou vendo a necessidade de criar um balanceamento de carga aqui na empresa. Tenho firewall Linux Conectiva 8 com kernel 2.4. Estou com as seguintes duvidas sobre o script de balanceamento.
1º Aqui na empresa é proxy transparente redirecionado da 80 para 2100, será que o pacotes da rede interna passarão pelo redirecionameto e serão balanceados através dos dois links?
2º Como já foi informado nos comentarios acima, como resolver quando um dos links cair, o script de ping que é executado no cron, faz o kernel reconhecer o link que tinha caido. Mas aqui na empresa tenho um link da telefonica com ip fixo, e a cada 35 dias o link caia, e sou obrigado a autenticar com a senha. Se eu tiver dois links da telefonica, como farei para autentica os links seperados, por que o kernel vai esta utilizando o link que esta no ar, e no navegador terei que acessar o link que caio para autentica. Como farei esta operação?
Fico no aguardo da ajuda.
Obrigado.
Ass Claudio Rulim
E-mail: crulim@uol.com.br
#9Comentário enviado por marquinhos1875 em 20/07/2006 - 21:48h
ola brothes livres
estou com problemão
tenho dois links dadicados com o load balance do link a seguir http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2252&pagina=3
bom funciona as mil maravilhas a não ser pelo fato de alguns sites (por motivos de seguranças) verificarem o ip de requisição ai (bummm) o servidor derruba a conexão, pois ele detectam dois ips diferentes (um de cada link)
tenho certeza ki o iptables pode resolver isso, mais preciso de ajuda
algem se habilita?
favor .... o link e muito caro e estou perdendo $$$$$$$$$!!!!!!!!!!
#10Comentário enviado por standart em 22/07/2006 - 14:50h
Olá amigo!!!
Preciso muitissimo de uma orientação....Inves de 2 links eu preciso fazer com 3 links...em que pontos do script terei de auterar?
Peço que me ajude..
isaac@barreirasnet.com.br
#11Comentário enviado por fabiolima em 13/09/2006 - 15:24h
Boa tarde mrbits,
Faço da pergunta do CRULIN a minha!!!!!
Aguardo resposta
#12Comentário enviado por gilson_ctm em 07/10/2006 - 17:26h
Olá amigos, apliquei esse excelente script mais tenho um probleminha que está esquetando minha cabeça. Acontece que o msn, putty e donwloads caem constantimente. me ajuuuuuude!
#13Comentário enviado por removido em 11/11/2006 - 20:01h
pq o autor nao responde nenhuma pergunta ?
#14Comentário enviado por removido em 23/11/2006 - 17:25h
Afinal esse script faz a divisão do trafego entre os links? ou é para um link assumir quando outro cair?
Cordialmente
Joabes
#15Comentário enviado por balani em 12/12/2006 - 01:44h
marquinhos1875, não entendi direito o seu problema.
#16Comentário enviado por baratinha em 13/04/2007 - 14:04h
Caro bhl eu trabalho em uma empresa de rastreamento e desejo ter um link de backup, mas os modulos que ficam nos caminhões apontam somente para um ip fixo. Fazendo esse roteamento seria possivel quando um link cair o outro entrar automatico?
#17Comentário enviado por iadias em 11/06/2007 - 20:23h
o link esta off line alguem poderia me enviar ????
#18Comentário enviado por pankdo em 10/09/2007 - 12:27h
posso usar essa solucao em comjunto com o squid?
todos os pacotes vindos da rede interna sao entregues ao squid
e depois sao divididos entre os links de saida??
desde ja grato
e artigo MUITO SHOW ja ta nos meus favoritos
#19Comentário enviado por papel em 22/01/2008 - 18:30h
Caro amigo, tô com um problemão p/ configurar meu proxy com conexão ADSL. Já q vc tem experiência nesse tipo de configuração poderia me passar como eu faria.
Segue abaixo o link contendo a minha dúvida.
Muito obrigado e Viva O Linux!!!!
#21Comentário enviado por Wolf_RN em 16/07/2008 - 20:31h
Caros amigos, estou com 2 links, um da 1mb da VELOX e outro 1mb da JETCOM, preciso de informações para fazer a redundancia, que quando um caia o outro assuma e ao voltar seja reconhecido automaticamente, alguém me da um passo a passo de como fazer..?? Agradeço.
#22Comentário enviado por rickardofm em 21/07/2008 - 10:18h
Olá... CAROS... esse script acima é muito show para iniciantes em sistemas de balanceamento em linux e funciona muito bem, porém algumas
coisas deve ser incrementados. O msn na sua rede por exemplo vai se desconectar toda hora... mas isso é simples resolver marque
os pacotes dele para sair por um único link, isso vale p/ outros serviços tbm.
Utilizei um parecido fazendo o mesmo marcando todos os pacotes de cada interface nos forwards, utilizando kernel 2.4.x e utilizei o
mesmo com kernel 2.6.x q se comportou com um certo melhor desempenho devido a um fato importante, sem marcação de pacotes
q isso não precisou ser feito e funcionou perfeitamente, claro não esquecendo de marcar somente o msn e outros serviços.
Outra dúvida de todos é quanto a um link cair... bom vc pode resolver isso com um script simples no seu crontab vendo os gateways
se estão online.
Agora o fato q mata é um q parece q ninguem observou ainda... trabalho num provedor de internet eu tenho um server como
descrevi acima com o kernel 2.6.x e o q acontece é q quando um download é iniciado ele pode se congelar a qualquer momento
devido ao balanceamento trocar as conexões de lugar isso sim é um PROBLEMÃO q ainda não descobri a solução.
Té mais.
funcionando bem... com 4 LINKS de operadoras distintas e um fato acontece com os downloads
#23Comentário enviado por ronaldho em 15/09/2008 - 12:07h
Achei muito interessante o script do amigo, quero lhe parabenizar pela atitude e inciativa e vale lembrar que este problema é muito comum e que esta iniciativa ajuda muita gente. Foi de grande ajuda com certeza, porém temos que notar que a solução fica um pouco incompleta com relação ao teste do link para perceber a queda de uma das conexões, eu particularmente procuro uma solução pra este problema a muito tempo e consegui uma solução baseada também em script que ajuda pra solucionar este problema da redundância de conexão. Vale lembrar que não é a reinvenção da roda e sim um complemento importante pra quem deseja implementar a solução citada acima. Existe uma documentação falando a respeito do problema que pode ser de grande ajuda.
#24Comentário enviado por comfaa em 17/09/2008 - 15:34h
uma duvida,
o gateway do usuario é um só né ?
#25Comentário enviado por hugodeco em 20/08/2009 - 16:50h
Quem tiver alguma dúvida sobre este artigo me passa um e-mail e resolveremos então.
Eu lido com firewalls unix em grandes servidores e a pouco descobri esse mundo de comunidades e blogs
Antigamente não me sobrava muito tempo
hugodeco@hotmail.com
esse é meu e-mail e msn !
#26Comentário enviado por nox6000 em 31/08/2009 - 08:37h
O que tenho que fazer de diferente para configurar 2 velox em um servidor e que esses velox NÃO TENHAM IP FIXO.
Tem alguma ideia?
#27Comentário enviado por carlos.renato em 20/05/2011 - 11:15h
Parabéns pelo artigo.....no meu caso tenho speedy com ip fixo e virtua com ip dinamico, como faço para usar seu script?
Abraço, Carlos
#28Comentário enviado por rudiberto em 30/01/2013 - 19:31h
Olá pessoal,
Tenho no meu servidor gateway (Debian Squeeze), 3 placas de rede, eth0 (rede interna), eth1 (Link Velox) e eth2 (Link GVT). Eu gostaria de fazer o seguinte: todo o acesso aos domínios .gov.br, .edu.br e .blogspot.com, sair pela eth1 (Link velox) e o restante sair pela eth2 (Link GVT. Esse é só um exemplo do cenário, é claro que a quantidade de domínios será maior.
Já pesquisei bastante na internet e até agora não encontrei nada que resolva o meu problema, solicito aos amigos do Software Livre, que me ajudem a encontrar uma solução para esse problema.
#29Comentário enviado por marquinhos1875 em 01/02/2013 - 10:04h
Ei rudiberto, pesquise roteamento por destino, daí você cria duas listas e chame-as com um "for" no seu firewall.
Existe muito material sobre roteamento por origem na net, pra adaptar para destino e fácil.
Só tem um problema, eu desconheço o uso de coringas com iptables, então teria que trabalhar com o domínio completo, algo como *.gov.br não funciona
Preferências de cookies
Usamos cookies essenciais para manter o site funcionando. Cookies de estatísticas e anúncios só serão carregados se você permitir.
Esse script é para balanceamento de carga (load balance) e não redundância de link. Ou estou enganado?