Um servidor proxy é uma peça importante em uma rede interna que tenha contato com outra pública, pois implementa uma série de facilidades e controles. Ao final do artigo você será capaz de instalar e configurar o servidor proxy (Squid), além de fazê-lo atuar como proxy transparente.
Utilizar o proxy transparente evita que o administrador tenha que configurar o navegador web de cada usuário da rede, pois o uso do proxy passa a ser despercebido para o usuário. Além disso, evita que o usuário possa desabilitar o proxy e navegar diretamente na internet.
Para iniciarmos a configuração do Squid como proxy transparente, insira ou descomente as seguintes linhas no arquivo /etc/squid/squid.conf:
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
E, como root, execute o comando:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to- port 3128
Caso o iptables não esteja instalado, instale-o antes:
# urpmi iptables -auto
Ou:
# apt-get install iptables
Note que no exemplo acima utilizamos a interface de rede eth0 como se fosse a interface ligada na rede local. Você deve adaptar o exemplo à sua rede. O exemplo também assume que o iptables e o servidor proxy estão sendo executados na mesma máquina. Caso os serviços estejam em máquinas separadas, a linha de comando para o iptables é ligeiramente diferente:
IP - Deve ser substituído pelo endereço IP da máquina onde o servidor Squid esta sento executado.
Para que esta regra esteja ativa logo após a inicialização do sistema operacional, execute em seguida os comandos:
# iptables --save > /etc/sysconfig/iptables
# chkconfig iptables on
Ao reiniciar o Squid ("service squid restart" ou "/etc/init.d/squid restart") os clientes já poderão navegar normalmente em necessidade de especificar no browser qual servidor proxy deve ser utilizado.
Dicas
Não esqueça de verificar os arquivos de log do Squid quando não estiver conseguindo resolver algum problema. O diretório padrão de armazenamento dos arquivos de log é /var/log/squid/. Os principais arquivos são cache.log, access.log e o squid.out, que armazenam respectivamente, informações sobre o cache do servidor proxy, os acessos feitos através do proxy e mensagens de erro emitidas pelo daemon do Squid.
Aqueles que preferem uma interface gráfica para configuração de servidores podem optar pelo Webmin, um gerenciador de sistema com interface web que contém um módulo para gerenciamento do Squid. O download do Webmin pode ser feito através do site http://www.webmin.com.
[1] Comentário enviado por pingus em 18/05/2007 - 11:09h
Muito bom . Mas se eu quiser fazer um cache em minha maquina sem uma rede local, somente para bloqueio de algumas páginas e fazer cache das paginas que acessa a internet. posso usar o mesmo principio apenas omitindo a rede local?
[5] Comentário enviado por bestmoor em 19/05/2007 - 11:07h
otima mateira , muito bem explicada e com detalhes.
so me tira uma duvida
tenho o proxy todo instalado squid transparente bloqueando varios sites como faco para liberar todos os sites somente para uma maquina tentei liberar assim mais nao funcionou , detalhe esta no topo do .conf
# liberar site para
acl liberar src 192.168.0.254/255.255.255.0
http_acess allow all liberar
[8] Comentário enviado por bestmoor em 19/05/2007 - 21:49h
acabei refazendo todo squid.config e o problema se resolveu mais obrigado......as vezes procuramos tanto um problemas que ele passa despercebido...valeu
[10] Comentário enviado por agk em 24/05/2007 - 16:16h
Parabéns pelo artigo, bem explicado, até me deu umas idéias, vi que você falou sobre snmp, vou ver se implemento um esquema pra monitorar o squid com o mrtg ou Cacti.
[11] Comentário enviado por paulo.neto em 28/05/2007 - 22:27h
ixw - Fiz curso num Centro Mandriva. Acho excelente o trabalho da Mandriva, pois os materiais que ela publica são de excelente qualidade. Vendo o teu artigo, vi que é uma cópia fiel da apostila de Administração de Redes II, capítulo 5. Legal compartilhar este conhecimento aqui. Não sei se a Mandriva vai é gostar, mas é isso.
[13] Comentário enviado por oiciruam em 28/08/2007 - 09:16h
Cara acabei de configurar minha rede. To usando o bloqueio para alguns sites. Tenho 20 maquinas na rede e gostaria de liberar o acesso ao Orkut para 05 dessas maquinas. Como faço essa configuração.
[15] Comentário enviado por analistapa em 01/10/2007 - 09:56h
Implantei o proxy transparente (Squid + Iptables) agora to com uma dúvida...Como liberar um IP da rede interna pra navegar por fora do proxy (especificamente os sites da CEF). Devo altera alguma configuração no squid ou alterar ou inlcuir alguma regra no iptables?
[17] Comentário enviado por fernandofranco em 14/03/2009 - 12:18h
boa tarde, amigo
tenho um servidor fedora 9, com squid 3.0 rodando, e estou com um problema quando eu abilito no firewall pra passagem do squid nao consigo mais navegar, ai tenho que comenta a linha no firewall para que posso volta a navegar normalmente, já procurei em um monte de forum sobre isso, se poder me ajuda agradeço.
[18] Comentário enviado por casallunga em 17/12/2009 - 20:17h
Estou necessitando de um servidor proxy, já tenho a máquina, e optei por utilizar a distro Debian para o servidor proxy. preciso saber se você tem essas informações em formato pdf para imprimir. Parabéns pela matéria, ficou muito bem exclarecida mesmo.
[19] Comentário enviado por bradroger em 20/07/2010 - 08:47h
Estou precisando configurar o meu Squid para fornecer cotas de acesso à Internet por tempo de uso por determinado usuário, por exemplo o usuário X só pode acessar Y minutos por dia.