Proxy/Cache Transparente com Iptables [RESOLVIDO]

1. Proxy/Cache Transparente com Iptables [RESOLVIDO]

Carlos
carlosidnao

(usa Debian)

Enviado em 23/01/2009 - 13:53h

- Servidor de Proxy/Cache com Squid 2.6 Stable - Debian Etch r6.
- O serviço de IpTables já esta instalado e funcionando.
- Não tem DHCP, os IP´s serão adicionados estaticamente nas estações – 10.1.1.0/24
- Se possivel fazer um Proxy/Cache transparente, NAT, sem a necessidade de configurar os IE ou FireFox para a porta 3128.

Rede Interna
Eth0 – 10.1.1.1/255.255.255.0

Rede Externa/ADSL
Eth1 – 192.168.1.254/255.255.255.0
Gtw – 192.168.1.1/255.255.255.0

Obs: A idéia é que seja feito um cache no Squid através de um Proxy transparente com iptables, NAT. O Squid esta configurado como no padrao, apenas alterei o cache_dir.


  


2. Re: Proxy/Cache Transparente com Iptables [RESOLVIDO]

Matheus Soveral
matheusoveral

(usa Ubuntu)

Enviado em 23/01/2009 - 14:11h

Redirecione as solicitação http, para a porta 3128 do proxy.


3. Re: Proxy/Cache Transparente com Iptables [RESOLVIDO]

Carlos Eduardo Ribas Dinao
carlosdinao

(usa Conectiva)

Enviado em 23/01/2009 - 20:35h

Ótimo... confirmou algo que eu ja sabia... agora soh preciso saber como fazer isto com iptables!


4. Re: Proxy/Cache Transparente com Iptables [RESOLVIDO]

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 23/01/2009 - 21:26h

Em primeiro lugar para que os navegadores sejam enganados eles precisam acessar (isto é, pensar que acessam) a Internet de forma normal, sem configuração de proxy. Dito isto é imprescindível que a rede Interna possua DNS funcionando. Sem DNS como o navegador conseguirá resolver nomes para Ips? (com proxy direto, no navegador, o navegador nem tenta, pois sabe que tem proxy).

Então tu precisas de DNS!
Se o teu gateway não é o DNS ou não tem uma na rede interna, terás que fazer NAT do DNS (e a falta de DHCP complica as coisas pra ti).

Rede Interna
Eth0 – 10.1.1.1/255.255.255.0

Rede Externa/ADSL
Eth1 – 192.168.1.254/255.255.255.0
Gtw – 192.168.1.1/255.255.255.0

Considerando o problema do DNS como resolvido:
iptables -t nat -I PREROUTING -i eth0 -s 10.1.1.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
(considerando que firewall, proxy e gateway sejam a mesma máquina)

Se o proxy for outra máquina que não o firewall/gateway:
iptables -t nat -I PREROUTING -i eth0 -s 10.1.1.0/24 -p tcp --dport 80 -j DNAT --to <IPDOPROXY>:3128

(e IP do proxy NÃO PODE ser da rede interna, pois a resposta não passaria pelo gateway e o cliente não a reconheceria)


5. Re: Proxy/Cache Transparente com Iptables [RESOLVIDO]

Paulo Fernando
paulofsmartins

(usa Debian)

Enviado em 15/07/2014 - 11:29h

O tópico é antigo mas ainda pode ajudar...
Sobre o ultimo comentário "(e IP do proxy NÃO PODE ser da rede interna, pois a resposta não passaria pelo gateway e o cliente não a reconheceria)"
Na verdade pode sim ser um IP da rede interna, apenas seria preciso fazer um SNAT:
iptables -t nat -I POSTROUTING -d IP-PROXY -j SNAT --to IP-GATEWAY







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts