Publicado por: Rafael Guedes | 7 julho 2010

Iproute2

Em primeiro lugar, minha intenção com este artigo não é realizar nenhum tipo de introdução ao iproute2. Para maiores informações sobre como funciona este incrível toolkit http://lartc.org/howto/lartc.iproute2.html.

O que eu gostaria mesmo é de apresentar a problemática e mostrar como foi resolvida com a utilização do iproute2 e iptables, de maneira que se você tenha um ambiente parecido e já tenha conhecimento prévio consiga adaptá-lo a sua necessidade. Bom, segue então o cenário:

OBS: onde estão os roteadores favor considerar Firewall>>Router , em ambos os links.

Bom, deixe-me então explicar essa situação. Em primeiro lugar todas estas máquinas (workstations e proxy) e os dois firewalls encontram-se no mesmo segmento de rede, sobre a rede 172.16.0.0/24. Todas as workstations utilizam proxy configurado em seus navegadores para tráfego HTTP. O default gateway de todas as máquinas é o Router EBT, porém o link EBT tem somente 1 MB e tem serviços importantes rodando sobre ele, então era preciso fazer com que as conexões originadas do proxy saíssem todas pelo link de Rádio o qual estava folgado. Em princípio, fácil! É só alterar o default gateway do servidor proxy para ser o Router Rádio. Ficando Assim:

Mas há um problema o Servidor Proxy é também um servidor de VPNs ligando 6 filiais, e as VPNs precisam ser levantadas pelo Link EBT, ou seja, somente o que é HTTP deve sair pelo link de rádio, todo o restante deve sair pela Embratel. Logo, tem-se então a seguinte situação:

Vamos aos passos executados para se chegar nesse objetivo. Em primeiro lugar deve criar uma nova tabela de roteamento no Servidor Proxy, uma tabela consiste de um ID e de um nome (uma string de texto) conforme visto abaixo:

#echo “123 slave” >> /etc/iproute2/rt_tables

Criada a tabela, o próximo passo é populá-la. Nesse caso a única rota necessária é a rota default:

#ip route add default via 172.16.0.253 dev eth0 table slave

Feito isso, precisamos marcar os pacotes HTTP saintes do Servidor Proxy para que possamos fazer com que eles saiam pelo link de rádio. Para tal, usamos iptables:

#iptables -t mangle -A OUTPUT -p tcp –dport 80 -j MARK –set-mark 1

Por fim, precisamos criar uma rule para que estes pacotes deêm  match nela e caiam na tabela slave:

#ip rule add from 172.16.0.100 fwmark 1 table slave

Dessa maneira, todo o tráfego HTTP do Servidor Proxy sai por um link e o restante dos pacotes sai por outro. Muito simples não? Com uma boa procurada na internet encontra-se muita coisa boa sobre iproute2, inclusive é uma ótima maneira de fazer load balance.



Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Categorias

%d blogueiros gostam disto: