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.919 ]

Por: Guilherme Souza Zanoni em 18/05/2007


Instalação e configuração do Squid



Para instalar o Squid no Mandriva Linux, utilize o urpmi:

# urpmi squid -auto

Para instalar o Squid no Ubuntu, utilize o apt-get:

# apt-get install squid

O código-fonte do Squid pode ser obtido no site oficial do projeto listado na seção "Para saber mais".

A configuração do Squid fica gravada em um arquivo chamado squid.conf, no diretório /etc/squid.

Entre várias opções de configurações do Squid, algumas merecem atenção especial, pois definem o funcionamento básico do programa.

http_port n

Esta opção é utilizada para definir em quais portas (n) o Squid espera por conexões http. A porta padrão é 3128, mas é possível especificar uma outra qualquer, dependendo da necessidade.

Exemplo: http_port 3128

cache_dir Tipo diretório Mbytes Nível-1 Nível-2

Esta opção serve para definir em quais diretórios serão armazenados os objetos. Tipo especifica o tipo de sistema de armazenamento a ser utilizado. Atualmente o tipo que pode ser utilizado com segurança é ufs. Diretório especifica o nome do diretório onde há o arquivo que mantém os metadados dos objetos armazenados no disco. Este arquivo é utilizado para recriar o cache durante a inicialização do Squid.

Mbytes especifica a quantidade de espaço em disco que deverá ser utilizada sob este diretório. O valor padrão é 100 MB. Nível-1 e Nível-2 especificam o número de diretórios de primeiro e segundo nível, respectivamente, a serem criados, definindo na opção Diretório. Os valores padrão são 16 e 256, respectivamente. É possível ter vários diretórios para cache, inclusive em discos distintos.

Exemplo: cache_dir ufs /var/spool/squid 100 16 256

cache_mgr e-mail Esta opção permite especificar o e-mail do usuário do sistema que receberá uma mensagem caso o Squid venha a ser encerrado de forma anormal. Este endereço também é mostrado em páginas de erros retornadas aos usuários caso, por exemplo, a máquina remota não possa ser acessada.

Exemplo: cache_mgr squid_adm@imasters.com.br

cache_efective_user usuarop, cache_efective_group grupo

Estas opções servem para informar ao Squid com qual ID de usuário e de grupo, respectivamente, ele deve ser executado, caso seja iniciado como root, que é como ele costuma ser iniciado.

Exemplo:

cache_efective_user squid
cache_efective_group squid

cache_mem mem

O Squid utiliza muita memória por razões de desempenho. É muito mais demorado ler algo do disco do que diretamente da memória como todos sabem. Mas deve-se estar atento ao definir este valor, pois esse parâmetro não é o total de memória que o Squid usa, ele apenas põe um limite em um dos aspectos da memória. Mas ele usa memória para outras atividades, assim, é necessário reservar espaços para os outros processos.

Para verificar quanta memória o Squid está utilizando podemos utilizar o comando top por exemplo.

Exemplo: cache_mem 8MB

visible_hostname computador

Esta opção define o nome do computador que aparece em mensagens de erro e em outras informações compartilhadas entre servidores cache. Colocar o nome do computador local.

Exemplo: visible_hostname Parede_de_fogo

Para iniciar o serviço Squid como super usuário (root), o comando:

# service squid start (Mandriva)

# ./squid start (Ubuntu)

Página anterior     Próxima página

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

Manual traduzido do Squid

DansGuardian versões 2.9.3.0 e superiores em Debian 5.01

Squid + Bridge + TProxy no CentOS 5.4

MySAR - Um ótimo analisador de logs do Squid

Compilação do Squid 3 no Debian Wheezy

  
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