Squid: Proxy Transparente

28 04 2008

Usar proxy transparente pode ser uma boa solução para escritórios e empresas pequenas. Dessa forma, fazendo com que todas as estações naveguem obrigatoriamente pelo proxy.

Nesse caso, no script de firewall se usa um comando redirecionando todas as conexões da porta 80 para porta onde roda o serviço de proxy, como no caso abaixo 3128:

-A PREROUTING -s 192.168.0.0/24 -p tcp -m tcp –dport 80 -j REDIRECT –to-ports 3128

Após fazer o redir no script de firewall, no squid.conf, da versão 2.4 ou 2.5 se usa os seguintes parâmetros:

httpd_accel_port 80
httpd_accel_host virtual
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Para versão 2.6 do squid, basta especificar na linha http_port 192.168.0.1:3128 transparent

Uma desvantagem do uso do proxy transparent, é que ao ocorrer problema pra acessar algum site, não é possível testar o acesso ao mesmo sem passar pelo proxy.

Mas existe uma forma de fazer com que uma estação específica, ou uma rede inteira nao faça o redir da porta 80 para 3128. Colocando uma regra especificando outra ação no PREROUTING antes de ser lida a regra que faz o redir. No caso específico, usei essa regra:

-I PREROUTING -s 192.168.0.0/24 -d 200.201.173.0/255.255.255.0 -j ACCEPT
-I PREROUTING -s 192.168.0.0/24 -d 200.201.174.0/255.255.255.0 -j ACCEPT

Obs.: é importante o parametro “I” que faz com que a regra seja lida primeiro.

Nessa situação acima era necessário fazer com que as conexões destinadas ao range de ips do conectividade social fossem repassadas direto ao destino sem fazer o redir.

  • Twitter
  • RSS
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Live
  • Technorati
  • MySpace
  • Rec6
  • Digg
  • LinkedIn
  • E-mail this story to a friend!
  • Print this article!

Posts Relacionados


Acoes

Informacoes

Mande um comentario! :)

Vc pode usar essas tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">