segunda-feira, 10 de março de 2014

Configuração do proxy transparente


Uma das dificuldades de usar um servidor proxy na rede é ter que configurar todas as máquinas para usarem o serviço. Usando o truque do proxy transparante você obriga todos a passarem pelo proxy de qualquer jeito, sem a necessidade de qualquer configuração nas máquinas cliente.

No arquivo do squid basta uma única alteração. Na linha onde é especificada a porta você adiciona o parâmetro "transparent", como abaixo:

http_port 3128 transparent

Feito isto, temos que implementar uma regra de firewall para que todo o tráfego destinado a porta 80 seja redirecionado para o squid na sua porta (3128). Os cliente vão acessar as páginas normalmente, mas na verdade o tráfego destinado a porta 80, que passaria direto, será interceptado e direcionado ao Squid.

Abra o arquivo "/etc/rc.local" e coloque mais uma regra, juntamente com as regras que servem para compartilhar a conexão:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

A interface "eth0" representa a interface de rede interna e a porta "3128" deve ser a porta que você configurou no Squid.

A desvantagem de usar este método é que apenas o tráfego da porta 80 é filtrado pelo proxy. O acesso a sites em HTTPS (porta 443), por exemplo, terá de ser tratado no firewall.


2 comentários: