Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Roteamento avanÇado com iproute2 e iptables no slackware

Colaboração: Fabricio Guzzy

Data de Publicação: 06 de Outubro de 2006

Segue aqui, script totalmente funcional para roteamento avançado, fazendo balanceamento de LINK, usando iproute e iptables.

Uso este script, modificado por mim há uns meses, e confesso que nunca tive problemas... Excelente alternativa para quem tem 2 ou mais Links no mesmo Firewall e deseja dividir o uso, filtrando por ORIGEM, PROTOCOLO, PORTA e etc.

  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>###
  # Script por: by Fabricio Guzzy - MCP* - LINUX - Security Consulting
  # Comentarios + Detalhes para Roteamento avançado
  # Usando 2 Links  -->  Intelig (PPP LP Dedicada) e  Speedy (ADSL BUSINESS)
  
  # Gerando variáveis para as interfaces eth0, eth1 eth2 e etc...
  # Interfaces da Intranet/LAN/DMZ
  IF_LAN='eth1'
  IF_DMZ='eth3'
  
  # Interfaces ADSL--> Speedy e Intelig
  IF_ADSL1='eth0'
  IF_ADSL2='eth2'
  
  
  # Gateways dos ADSL (IPs dos roteadores) Troque pelos seus IP´s de GATEWAY
  GW_ADSL1='201.X.X.X'
  GW_ADSL2='200.X.X.X'
  
  
  # Mascarar saídas para os dois ADSL / Caso não queira fazer NAT, troque o MASQUERADE por uma regra de ACCEPT...
  iptables -t nat -A POSTROUTING -o $IF_ADSL1 -j MASQUERADE
  iptables -t nat -A POSTROUTING -o $IF_ADSL2 -j MASQUERADE
  
  
  # Marca  os pacotes "PREOROUTING e OUTPUT"  portas 80 (HTTP) 443 (HTTPS) 25 (SMTP) e 110 (POP)
  iptables -t mangle -A PREROUTING -i $IF_LAN -p tcp --dport 80 -j MARK --set-mark 2
  iptables -t mangle -A PREROUTING -i $IF_LAN -p tcp --dport 443 -j MARK --set-mark 2
  iptables -t mangle -A PREROUTING -i $IF_LAN -p tcp --dport 21 -j MARK --set-mark 2
  iptables -t mangle -A PREROUTING -i $IF_LAN -p tcp --dport 25 -j MARK --set-mark 3
  iptables -t mangle -A PREROUTING -i $IF_LAN -p tcp --dport 110 -j MARK --set-mark 3
  
  
  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 21 -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
  
  
  # (marcados com 3-> table 21 = ADSL2) (marcados com 2-> table 20 = ADSL1)
  ip rule add fwmark 2 table 20 prio 20
  ip rule add fwmark 3 table 21 prio 20
  
  
  ## Os Comandos abaixo, roteiam pacotes que vem do HOST 192.168.0.9 para sair pelo ADSL2 (table 20)
  # e pacotes que vem da DMZ (rede 201.70.8.X) a sair pelo ADSL1 (table 21)- Descomentar caso for usar...
  
  # ip rule add from 192.168.0.9 table 20
  # ip rule add from 201.X.X.X/28 table 21
  
  # Aqui são geradas as rotas padrões para o ADSL1 e ADSL2, ou seja, cada ADSL tem seu DEFAULT GATEWAY...
  ip route add default via $GW_ADSL2 dev $IF_ADSL2 table 20
  ip route add default via $GW_ADSL1 dev $IF_ADSL1 table 21
  
  
  # LIMPA tabela de roteamento CACHE
  ip route flush cache
  # ip route flush table cache
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##  Fabricio Guzzy  2006

Veja a relação completa dos artigos de Fabricio Guzzy

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1433 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

PDF Explicado