Redirecionando duas classes de ip distintas para o Squid

1. Redirecionando duas classes de ip distintas para o Squid

Carlos Barreto
chsbarreto

(usa Ubuntu)

Enviado em 25/10/2011 - 19:47h

Olá a todos!

Estou com um problema "cabeludo" de redirecionamento no iptables/squid. Já tentei várias alternativas, pesquisei vários dias no Google mas não encontrei nada. Assim, gostaria de pedir a ajuda dos amigos daqui do site.

Bom, o cenário é o seguinte: Possuo uma rede 10.1.0.0/16 que acessa a Internet através de um firewall cujo ip interno é 10.1.100.1 e que no firewall está na interface eth1.

O redirecionamento para o squid é feito através da regra abaixo:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

Agora, estou adicionando uma rede sem fio, de classe 10.4.0.0/16 e que vai acessar a Internet pelo mesmo firewall. Para tanto, coloquei mais uma interface de rede e configurei o ip 10.4.100.16 como gateway para esta rede sem fio.

O problema começa na hora que eu tenho de redirecionar o tráfego da rede sem fio para o squid. Tentei (por analogia) usar a regra abaixo:

iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 3128

E adicionei a rede 10.4.0.0/16 nas configurações do squid. Não funcionou.

Tentei trocar o "-i eth2" por "-s 10.4.0.0/16" mas também sem sucesso.

Tentei ainda fazer NAT, convertendo a rede para 10.1.0.0/16 mas também sem sucesso.

Mas, se eu deixar sem nenhuma regra, a rede sem fio navega normalmente. Mas não passa pelo squid.

Existe alguma forma de redirecionar esse tráfego da rede sem fio para força-lo a passar pelo squid? Gostaria de uma luz dos colegas, pois até agora não consegui encontrar uma solução.

Obrigado!




  


2. Re: Redirecionando duas classes de ip distintas para o Squid

Natanael Henrique
n4t4n

(usa Arch Linux)

Enviado em 28/10/2011 - 19:27h

A regra usada por analogia para redirecionar a porta 80 para a 3128 está correta.

O que pode estar impedindo de o squid atender as requisições dessa nova placa de rede é que ele pode estar configurado assim no squid.conf

http_port 10.1.100.1:3128 transparent 


Daí ele só está aceitando requisições pela placa que tem esse endereço. Verifica aí.

Se estiver assim, tire o endereço ip e deixe somente

http_port 3128 transparent 


E bloqueia o acesso à porta 3128 na interface externa pelo iptables.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts