Problema com IProute2 + squid + sites publicados [RESOLVIDO]

1. Problema com IProute2 + squid + sites publicados [RESOLVIDO]

Queliton Lopes Vieira
queliton

(usa CentOS)

Enviado em 16/10/2012 - 17:26h

boa tarde!

Galera estou com um problema dos grandes aqui vou tentar passar meu ambiente antes de informar o que acontece:

Temos dois links de internet

eth1 = link VIVO 15Mb ADSL GW alternativo
eth2 = Link EMBRATEL 10Mb DEDICADO GW default

tenho 3 redes LAN distintas:
eth0 LAN 10.0.0.0/16
eth3 LAN 11.0.0.0/16
eth4 172.16.0.0/16

atras da rede eth3 tenho mais 2 subredes interligadas por roteamento:
10.2.0.0/16
10.3.0.0/16

Meu roteamento avançado esta funcionando consigo decidir o link que desejo que determinado ip saia, no squid (transparente) também com a regrinha de tcp_outgoing_address, e os ips que desejo saem pelo link que desejo.

Meu problema:
temos um portal interno que usa os ips validos do link Embratel para publicação, meu servidor linux também é um servidor DNS da zona valida, todos os nats de fora para dentro estão funcionando, todos os acessos dos usuários que usam o IP Embratel como saída acessam o portal também, é ai que a coisa fica feia; quando coloco um usuário (IP) para sair pelo link da VIVO o mesmo perde o acesso ao portal que esta publica nos IPS da Embratel, porem todos os acessos a sites pelo link da VIVO funcionam normalmente somente o acesso ao portal que fica publicado nos IPs validos da Embratel param de ser acessados.
Resumindo:


Quando coloco um cara pra sair pelo link VIVO ele não acessa as publicações que estão no IP da Embratel.

alguém já teve este tipo de problema ou algo parecido?

meus arquivos referentes ao iproute2:

#####################################################################################################
set -x
for ip in `cat /root/scripts/fw/ip_gw_1`
do
ip rule del from $ip 2> /dev/null
ip rule del from $ip table GW1 2> /dev/null

iptables -t mangle -A PREROUTING -s $ip -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A PREROUTING -s $ip -d 11.0.0.0/8 -j RETURN
iptables -t mangle -A PREROUTING -s $ip -d 172.16.0.0/8 -j RETURN
iptables -t mangle -A PREROUTING -s $ip -j MARK --set-mark 1
iptables -t nat -A PREROUTING -s $ip -d $portal -j ACCEPT
iptables -t mangle -A OUTPUT -s 192.168.168.150 -p tcp --dport 80 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -s 192.168.168.150 -p tcp --dport 443 -j MARK --set-mark 1
done



for ip in `cat /root/scripts/fw/ip_gw_2`
do
ip rule del from $ip 2> /dev/null
ip rule del from $ip table GW2 2> /dev/null

iptables -t mangle -A PREROUTING -s $ip -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A PREROUTING -s $ip -d 11.0.0.0/8 -j RETURN
iptables -t mangle -A PREROUTING -s $ip -d 172.16.0.0/8 -j RETURN
iptables -t mangle -A PREROUTING -s $ip -j MARK --set-mark 2
iptables -t mangle -A OUTPUT -s 200.178.186.2 -p tcp --dport 80 -j MARK --set-mark 2
iptables -t mangle -A OUTPUT -s 200.178.186.2 -p tcp --dport 443 -j MARK --set-mark 2
done


############################################################################################

set -x

#VIVO
IF_LINK1='eth1'
IP_LINK1='192.168.168.150'
GW_LINK1='192.168.168.1'

#EMBRATEL
IF_LINK2='eth2'
IP_LINK2='200.178.186.2'
GW_LINK2='200.178.186.1'

################################################################################
#### Rotas para unidades ####
################################################################################
route add -net 10.2.0.0 netmask 255.255.0.0 gw 11.0.0.2 ####
route add -net 10.3.0.0 netmask 255.255.0.0 gw 11.0.0.3 ####
route add -net 11.3.0.0 netmask 255.255.0.0 gw 11.0.0.3 ####
route add -net 11.2.0.0 netmask 255.255.0.0 gw 11.0.0.2 ####
################################################################################
################################################################################

if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $f
done
fi

echo 1 > /proc/sys/net/ipv4/ip_dynaddr
echo 1 > /proc/sys/net/ipv4/ip_forward

ip rule del lookup GW1 &> /dev/null
ip rule del lookup GW1 &> /dev/null
ip rule del lookup GW1 &> /dev/null

ip rule del lookup GW2 &> /dev/null
ip rule del lookup GW2 &> /dev/null
ip rule del lookup GW2 &> /dev/null

ip route flush table 21
ip route flush table 22
ip route flush cache

#21 GW1
#22 GW2

ip rule del fwmark 1 table 21 prio 20 #2>/dev/null
ip route delete default via $GW_LINK1 table 21
ip route add default via $GW_LINK1 dev $IF_LINK1 table 21
ip rule add from $GW_LINK1 table 21
sleep 1
ip rule add fwmark 1 table 21

ip rule del fwmark 2 table 22 prio 20 #2>/dev/null
ip route delete default via $GW_LINK2 table 22
ip route add default via $GW_LINK2 dev $IF_LINK2 table 22
ip rule add from $GW_LINK2 table 22
sleep 1
ip rule add fwmark 2 table 22


ip route flush cache


no arquivo ipr tive que criar um RETURN para os roteamentos estaticos que uso, ja que toda vez que direcionava um determinado ip para sair pelo link da vivo ele não respeitava a rota estatica para as redes remotas e jogava os pacotes para o gw default da rota da VIVO.

tabela de roteamento:

200.178.186.0 * 255.255.255.240 U 0 0 0 eth2
192.168.168.0 * 255.255.255.0 U 0 0 0 eth1
10.2.0.0 11.0.0.2 255.255.0.0 UG 0 0 0 eth3
10.3.0.0 11.0.0.3 255.255.0.0 UG 0 0 0 eth3
10.0.0.0 * 255.255.0.0 U 0 0 0 eth0
11.2.0.0 11.0.0.2 255.255.0.0 UG 0 0 0 eth3
11.3.0.0 11.0.0.3 255.255.0.0 UG 0 0 0 eth3
172.16.0.0 * 255.255.0.0 U 0 0 0 eth4
11.0.0.0 * 255.255.0.0 U 0 0 0 eth3
link-local * 255.255.0.0 U 1002 0 0 eth0
link-local * 255.255.0.0 U 1003 0 0 eth3
link-local * 255.255.0.0 U 1004 0 0 eth4
link-local * 255.255.0.0 U 1005 0 0 eth1
link-local * 255.255.0.0 U 1006 0 0 eth2
default 200.178.186.1 0.0.0.0 UG 0 0 0 eth2

Ja olhei todas as documentações a respeito deste tipo de configuração mais não encontrei nada que me esclareça o que devo fazer, peço a ajuda de todos pois este caso é um cliente grande nosso que necessita desta solução e não estou conseguindo resolver este problema.


grande abraço a todos.



  


2. Re: Problema com IProute2 + squid + sites publicados [RESOLVIDO]

Queliton Lopes Vieira
queliton

(usa CentOS)

Enviado em 17/10/2012 - 09:30h

E ai ninguém pessoal?


3. Re: Problema com IProute2 + squid + sites publicados [RESOLVIDO]

Queliton Lopes Vieira
queliton

(usa CentOS)

Enviado em 18/10/2012 - 14:03h

...


4. Re: Problema com IProute2 + squid + sites publicados [RESOLVIDO]

Eriton Almeida
eritonalmeida

(usa Debian)

Enviado em 18/10/2012 - 17:02h

Eu posso ajudar.

eriton@mundilivre.com.br


5. Re: Problema com IProute2 + squid + sites publicados [RESOLVIDO]

Queliton Lopes Vieira
queliton

(usa CentOS)

Enviado em 26/10/2012 - 14:04h

ninguém ainda? rsrsrs


6. Re: Problema com IProute2 + squid + sites publicados [RESOLVIDO]

Queliton Lopes Vieira
queliton

(usa CentOS)

Enviado em 30/10/2012 - 17:08h

Bom como não obtive retorno de ninguém interessado em ajudar neste caso vou aguardar mais um dia e finalizar o post, obrigado mesmo assim a todos.



7. Re: Problema com IProute2 + squid + sites publicados [RESOLVIDO]

Queliton Lopes Vieira
queliton

(usa CentOS)

Enviado em 07/11/2012 - 14:05h

Resolvi o problema.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts