Servidor proxy (Squid)

ixw

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.

[ Hits: 213.988 ]

Por: Guilherme Souza Zanoni em 18/05/2007


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:

# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-dest IP:3128

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.

Página anterior    

Páginas do artigo
   1. Conceitos de servidores proxy
   2. Instalação e configuração do Squid
   3. Controle de acesso
   4. Lista de acessos
   5. Proxy transparente
Outros artigos deste autor

Bloqueando conteúdo com Squid no RedHat 9

Leitura recomendada

Como fazer o Squid funcionar da maneira mais simples possível no Xubuntu e derivados

Squid com autenticação ncsa_auth no Mandriva 2006

Filtragem de páginas SSL (443) no Squid transparente

Automatic ACL Blocking List - Sistema automático de listas de bloqueio de ACLs

Filtro de conteúdo autenticado com níveis de privilégio

  
Comentários
[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?

Valeu.

[2] Comentário enviado por calaff2 em 18/05/2007 - 13:50h

muito bom man!! Viva a liberdade Viva o Linux!

[3] Comentário enviado por andersonjackson em 18/05/2007 - 14:52h

Legal cara parabéns.

Só a minha contribuição para proxy transparente no squid 2.6.x
no squid.conf basta colocar:
http_port 3128 transparent

e no firewall a regra que nosso amigo informou:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-dest IP:3128

Um abraço.

[4] Comentário enviado por thyagofs em 18/05/2007 - 19:41h

Muito bom. Sao de artigos assim que a comunidade precisa. Bastante detalhado...
parabéns !

[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

[6] Comentário enviado por eduardofraga em 19/05/2007 - 18:31h

O erro de sintaxe:

http_acess allow all liberar

O correto é:

http_access allow all liberar

[7] Comentário enviado por bestmoor em 19/05/2007 - 21:47h

ops ....eu foi erro de digitacao ...no .config estava correto...

[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

[9] Comentário enviado por mcaju em 20/05/2007 - 20:34h

Muito bom artigo! vai me servir bastante. TKS.

[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.

[12] Comentário enviado por eltondhiego em 01/06/2007 - 18:41h

òtimo artigo! Parabéns!!

[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.

[14] Comentário enviado por lipecys em 28/09/2007 - 16:34h

Valew o artigo........

[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?

[16] Comentário enviado por celsof2 em 26/03/2008 - 03:45h

sao otimos as dicas

[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.

sou novo em linux.

[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.

Alguém pode me ajudar com isso?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts