PROCURAR:     
  Quinta, 26/11/2009
» Introdução
» Programação
» Administração
» Hardware
» Aplicativos
» Jogos
» Segurança
» Editorial
» Entrevistas
» Fórum
» Links
» Notícias
» Pegue o Linux
» Documentação
» Programas
» Dúvidas
» Oportunidades
» Sobre
» Contato
» Publicidade
 
Powered By:
DEBIAN
GNU/LINUX
 
English Version
 
 
IPROUTE + IPTABLES
Por: Fabrício Ferreira

SCRIPT

Nesta parte denominamos variáveis para as interfaces como segue. Denominamos que o nome LAN seja referente à Interface ETH0 que no nosso script é a da rede interna. Verifique no seu Firewall qual é a interface correta.

IF_LAN='eth0'

Aqui denominamos as variáveis dos LINKS 1 e 2, e os chamamos de LINK1 e LINK2 É claro que você poderá chamá-los do que quiser. Exemplo: ADSL1 e ADSL2, mas não esqueça de alterar as variáveis no restante do script.

IF_LINK1='eth1'

IF_LINK2='eth2'

Aqui colocamos os Gateways dos Links de Internet. Geralmente, os Default Gateways dos Links são os IPZS dos roteadores de Internet.

GW_LINK1='200.70.0.1'

GW_LINK2='200.80.0.1'

Nesta parte, utilizamos o comando IPTABLES para mascarar os IPZS, ou seja, fazemos um NAT (Network Address Translation) para que os pacotes que venham da Interface ETH0 com IPZS da rede interna, ou mesmo pacotes gerados dentro do próprio Firewall, possam sair para a Internet com endereços trocados, usando os IPZS das interfaces ligadas aos Links de Internet.

O MASQUERADE ao final do comando faz exatamente isto. Caso contrário, utilizaria ACCEPT, mas aí os pacotes sairiam para a Internet com IP’s da rede interna e jamais retornariam ao Firewall.

iptables -t nat -A POSTROUTING -o -j MASQUERADE

iptables -t nat -A POSTROUTING -o -j MASQUERADE

Aqui começamos a marcar os pacotes diferenciando-os pela porta utilizada. Observe que escolhemos os pacotes com destino às portas 80 (HTTP) 443 (HTTPS) 25 (SMTP) 110 (POP)

Todo pacote que passar pelo Firewall com estas particularidades receberão uma marca, uma espécie de carimbo. Pacotes destinados à porta 80 recebem carimbo de número 2, pacotes com destino à porta 25 recebem carimbo número 3.

Desta forma, podemos diferenciá-los para que mais à frente no script tenhamos controle do que saiu/entrou e por onde saiu/entrou.

iptables -t mangle -A PREROUTING -i -p tcp --dport 80 -j MARK --set-mark 2

iptables -t mangle -A PREROUTING -i -p tcp --dport 443 -j MARK --set-mark 2

iptables -t mangle -A PREROUTING -i -p tcp --dport 25 -j MARK --set-mark 3

iptables -t mangle -A PREROUTING -i -p tcp --dport 110 -j MARK --set-mark 3

A diferença entre o PREROUTING e o OUTPUT é que, PREROUTING abrange os pacotes que foram originados fora do FIREWALL, por exemplo Interface ETH0 (), enquanto OUTPUT são os pacotes originados no Firewall, ou seja, na própria console.

iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 2

iptables -t mangle -A OUTPUT -p tcp --dport 443 -j MARK --set-mark 2

iptables -t mangle -A OUTPUT -p tcp --dport 25 -j MARK --set-mark 3

iptables -t mangle -A OUTPUT -p tcp --dport 110 -j MARK --set-mark 3


«Anterior           Próximo»




Enviar para um amigo

Imprimir

Índice de artigos

ENQUETE
Quais são as suas expectativas quanto ao OpenSUSE 11.2?

Que ele venha mais rápido
Seja mais leve
Mais bonito
Outros


NEWSLETTER
Inscreva-se e receba as últimas notícias, programas, artigos, novidades e tudo do mundo Linux que aconteceu na semana.
 
Digite seu email:

Publicidade / Sobre OLinux / Entre em Contato / Privacidade
Copyright (c) 1999-2009, OLinux - O Portal de Linux do Brasil.
Desenvolvido por: Linux Solutions
Todos os Direitos Reservados.