Tema LinuxBSD Ver. 0.2 lnx
 http://www.linuxbsd.com.br 

  


  

  

Roteamento avançado - Linux - utilizando IPROUTE e IPTABLES - Load Balance

Enviado por DarkWarrior em Ter, 2007-03-27 10:09.

"Certo tempo atrás, escrevi um script usando IPROUTE2 e IPTABLES que desenvolvi na ocasião, já que havia a necessidade de utilizar 2 links de Internet distintos. Desta vez, reescrevi com muito mais detalhes mostrando exatamente como funciona cada passo.

Lembrando que, este script foi desenvolvido no SLACKWARE, mas acredito que funcione em qualquer outra distribuição LINUX com Kernel 2.4.x e superiores, com algumas poucas modificações.

Quanto aos links, vamos chamá-los de LINK1 e LINK2...

Imagine que você queira que determinado protocolo use o LINK1 e outro protocolo use o LINK2.

Um exemplo fácil seria dizer que mensagens de E-mail SMTP e POP (portas 110 e 25) utilizam o LINK1, enquanto o tráfego de internet (portas 80, 21, 53, 443...) utiliza o LINK2. Isto permitiria que usuários fizessem downloads pesados sem comprometer o tráfego de mensagens, ou ainda, enviar e receber mensagens de E-mail grandes sem interferir na velocidade dos usuários que navegam na Internet.

Um outro exemplo para quem tem Vlans em suas redes seria dizer que a REDE 192.160.0.X utiliza o Link1, enquanto a REDE 192.170.0.X utiliza o LINK2.

Basicamente, o processo funciona marcando pacotes que entram e saem do FIREWALL onde o script será implementado com o Comando IPTABLES usando Mark, um artifício que faz com que o Firewall monte uma tabela dinâmica de todos os pacotes que passam por ele. Imagine que você tenha um Firewall com 4 Interfaces, assim vamos chamá-las de: ETH0, ETH1, ETH2 e ETH3, onde ETH0 está conectada à sua LAN interna, a ETH1 conectada em uma DMZ, e as interfaces ETH3 e ETH4 conectadas a 2 Links distintos.

Se um pacote entrou pela interface ETH0 e saiu pela interface ETH3, é necessário que ele retorne para o mesmo lugar de onde veio. Eis o motivo de marcar os pacotes; caso contrário, eles se utilizarão do DEFAULT GATEWAY do Firewall, que pode não ser o mesmo que você deseja.

Entendendo isto, podemos seguir adiante com nosso script.

Abaixo descrevo detalhadamente como fazer cada configuração no Script para que você tenha sucesso na implementação.

Entendam que os IP´s aqui utilizados são fictícios, bem como seus Defaut Gateways. Você deverá trocá-los pelos IP´S da sua rede conforme a necessidade!"

Leia o tutorial completo

Fonte: Dicas-L

»