2 Links + Iptables + Iproute + Proxy Transparente

1. 2 Links + Iptables + Iproute + Proxy Transparente

Duilio de Oliveira
duilio

(usa Suse)

Enviado em 03/11/2009 - 09:18h

Estou tendo seguinte problema, tenho dois links de internet:

link1: gvt
link2: copel
eth2: minharedeinterna

Antes de configurar o Squid (Proxy Transparente) os emails saiam pelo link1 (GVT - 2MB) e a navegação da rede interna saia pelo link2 (Copel - 5MB).
Depois que configurei o Proxy Transparente tanto os emails e a navegação estão saindo pelo link da GVT - 2MB.
Gostaria de saber se existe alguma forma de fazer como era feito antes, a navegação pelo link da copel pois o mesmo é de 5MB e os emails pelo link da gvt (2MB).
O gateway padrao no arquivo de rotas esta o link da GVT, se troco para o da Copel os emails param de funcionar.
Testei fazendo com Autenticação ao invés de Proxy Transparente mais ai aconteceu a seguinte situação, o ip´s que são liberados para acessar a internet sem autenticar saem pelo link da copel, mais os que autenticam saem pelo link da gvt, Alguém já passou por esse tipo de situação???

Segue abaixo alguma configurações:

No script do firewall tenho essa regra:

iptables -t mangle -A PREROUTING -s 192.168.0.0/16 -d ! 192.168.0.0/16 -p tcp --dport 80 -m comment --comment "ACESSO WEB VIA COPEL" -j MARK --set-mark 3
iptables -t mangle -A PREROUTING -s 192.168.0.0/16 -d ! 192.168.0.0/16 -p tcp --sport 80 -m comment --comment "ACESSO WEB VIA COPEL" -j MARK --set-mark 3

Aqui é um script chamado rc_rotas

#!/bin/bash

# Interface locais

IF0=eth2
P0_NET=192.168.10.0/24

IF3=eth1
P3_NET=192.168.0.0/24

#Rota VPN

#IF4=eth4
#P4_NET=171.168.0.0/16

# Confs BRT

IF1=eth0
P1=200.139.115.200
IP1=200.139.115.201
P1_NET=200.139.115.195/29
T1=GVT


# Confs Atrium

IF2=eth3
P2=200.195.141.150
IP2=200.195.141.151
P2_NET=200.195.141.145/29
T2=Copel

# Adicionando os Links

#Limpando as rotas existentes
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth2/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth3/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth4/rp_filter

ip route flush table $T1
ip route flush table $T2

ip route del

ip route add $P1_NET dev $IF1 src $IP1 table $T1
ip route add default via $P1 table $T1
ip route add $P2_NET dev $IF2 src $IP2 table $T2
ip route add default via $P2 table $T2
ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2

ip route add default via $P1

ip rule add from $IP1 table $T1
ip rule add from $IP2 table $T2

ip route add $P0_NET dev $IF0 table $T1
ip route add $P3_NET dev $IF3 table $T1
#ip route add $P4_NET dev $IF4 table $T1
ip route add $P2_NET dev $IF2 table $T1
ip route add 127.0.0.0/8 dev lo table $T1
ip route add $P0_NET dev $IF0 table $T2
ip route add $P3_NET dev $IF3 table $T2
#ip route add $P4_NET dev $IF4 table $T2
ip route add $P1_NET dev $IF1 table $T2
ip route add 127.0.0.0/8 dev lo table $T2

ip rule del

ip rule add fwmark 3 lookup $T2
#ip route add default scope global nexthop via $P1 dev $IF1 weight 1 nexthop via $P2 dev $IF2 weight 1

Se alguém puder me dar uma força agradeço pois só esta faltando essa questão para implantar o Proxy.

Obrigado a todos


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts