Linux slogan
Visite também: BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux
» Screenshot



» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha

» Wallpaper


Artigo

Roteamento de entrada/saída com iproute e iptables
Linux user
tiagonux
15/11/2008
Na internet tem muita documentação relacionada com o balanceamento de saída com 2 ou mais links de internet, mas nenhuma documentação relacionada quando você quer ter seus servidores ( email, web, terminal service etc) respondendo para a internet por todos seus links disponíveis.
Por: Tiago Henrique Pires
[ Hits: 10118 ]
Conceito: 10.0   1 voto(s)1 voto(s)1 voto(s)1 voto(s)1 voto(s) + quero dar nota ao artigo

Introdução

Bom pessoal, depois de muito estudo em cima do iproute e iptables para fazer funcionar o roteamento avançado de entrada e saída para redirecionamento de portas por mais de um link de internet, resolvi postar a solução.

Na internet tem muita documentação relacionada com o balanceamento de saída com 2 ou mais links de internet, mas nenhuma documentação relacionada quando você quer ter seus servidores ( email, web, terminal service etc) respondendo para a internet por todos seus links disponíveis.

Essa solução resolve seu problema da seguinte maneira:
  • Sua empresa tem 2 links de internet ou mais;
  • Você tem servidores disponibilizando recursos para a internet como smtp, pop3, web, rdp etc;
  • Quer que seja transparente para todos quando um link de internet para de funcionar, você pode via DNS round-robin fazer que um host responda por 2 IPs válidos ou mais. Isso seria ótimo para seu servidor de email. São 2 IPs respondendo por smtp e pop3 e caso um link caia o outro fica respondendo normalmente. O DNS é nosso amigo!

Veja a topologia que iremos nos basear para criar as regras de iptables e iproute:
Linux: topologia de rede
Na topologia acima temos 3 servidores em nossa rede disponibilizando serviços web, pop3, smtp e terminal service à internet.

Na configuração da zona de DNS do domínio utilizamos round-robin para todos os serviços. Cada serviço tem um nome e 2 IPs válidos respondendo por esse nome de DNS.

Navegação
   1. Introdução
   2. Script de roteamento

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por renato.leite em 15/11/2008 - 20:11h:

Otimo artigo, ta muito bom mesmo =]

[2] Comentário enviado por cassimirinho em 15/11/2008 - 20:31h:

Belo trabalho!

Sensacional!

[3] Comentário enviado por downloadd em 17/11/2008 - 09:39h:

Dúvidas...
1. Como é possível fazer o DNS reverso funcionar com dois links?

2. Neste script você mostra como fazer a priorização de certas portas e diz por qual link tal porta irá sair, mas pelo que vi, esta faltando a divisão de carga entre os links.
Como ficaria por exemplo se caso eu quisesse somar os dois links WAN com a marcação de pacotes?

3. Fazendo a marcação de pacotes em um link muito requisitado, irá ocupar uma maior taxa de processamento? Lentidão?

4. Quem tem mais prioridade, a regra 0 ou a 255?
Parabéns pelo artigo, esta bem explicado.

[4] Comentário enviado por danilotm em 17/11/2008 - 10:31h:

Olá Tiago, tinha um sistema parecido, porém tive alguns problemas para efetuar este tipo de roteamento.
Acredito que esse artigo me auxiliará bastante a reatar esse sistema com dois links de Internet.

Parabéns e abraços.

Danilo

[5] Comentário enviado por tiagonux em 17/11/2008 - 15:00h:

Olá a todos

Em resposta das dúvidas de downloadd :

1 - O DNS reverso será configurado nos servidores de DNS para cada IP. Você pode ter configurar normalmente em seu servidor caso a operadora de telecom tenha passado isso para você. Ou pedir para as operadoras de Telecom configurar o DNS reverso para cada IP.

2 - O Script não faz priorização de pacotes, o objetivo dele é rotear os pacotes na entrada pelos links. Ele marca o pacote quando ele entrar por um determinado link e assim o pacote voltar pelo link que entrou.

3 - Você pode até fazer um load balance, mas ai ele se encaixa na saída. No script é feito um roteamento mais avançado na entrada do pacote. Você poderá até usar o cbq para criar regras de controle de banda por protocolo ( smtp,pop3) para diminuir a carga de um link.

4 - As regras de roteamento são lidas apartir da prioridade 0. Caso um pacote se encaixe em uma regra de roteamento ele é processado caso não ele vai até o final e poderá ser processado pela ultima regra.

Obrigado a todos que gostaram do artigo, qualquer dúvida estou a disposição.

[6] Comentário enviado por clovesjr em 18/11/2008 - 08:50h:

Muito bom....

Eu já uso o balanceamento de saída para dois links na empresa onde trabalho mas sempre tive este problema para o tráfego de entrada... Ŕealmente é como vc disse, tem muita documentação dizendo como fazer o balanceamento de saída mas não como tratar corretamente o tráfego de entrada...

Seu artigo me ajudou muito...

Parabéns...

[]s

Cloves Jr

[7] Comentário enviado por alvaromo em 18/11/2008 - 09:54h:

Rapaz, achei show este teu artigo. Creio que quem já passou por situação semelhante e não conseguiu resolver, sabe dar real valor ao teu artigo.

Muito show!!!

Alvaro Mendes

[8] Comentário enviado por sebastianosilva em 18/11/2008 - 23:36h:

caro amigo estou com um modem Gi-Link WL-2404BRG AP-Plus e nao estou conserguido configura ele come e que eu fasso ,para internete vida

[9] Comentário enviado por bluesball em 19/11/2008 - 10:31h:

Gostei muito... estou adaptando para implementar aqui na empresa...

qualquer dúvida ... sei onde t encontrar...heheh

[]' s

[10] Comentário enviado por danusio em 15/05/2009 - 19:14h:

Gostaria de Saber onde foi declarado a variavel LINK_WAN2?

[11] Comentário enviado por tiagonux em 19/05/2009 - 21:27h:

Corrigindo o script

Faltou a variável LINK_WAN2

LINK_WAN1="eth1"
LINK_WAN2="eth2"
LINK_INT1="eth0"

até mais

[12] Comentário enviado por terranova em 29/06/2009 - 11:02h:

Alguém já conseguiu rotear conexões da porta 80, porta 25 para outros servidores usando load bance ?



Contribuir com comentário
  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Copyleft© 2002-2009 Viva o Linux.com.br

Viva o Linux

A maior comunidade Linux do Brasil! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.