Squid - Configuração básica, funcional e limpa

Este tutorial tem o objetivo de fazer uma configuração simples do Squid, porém funcional, que atende à maioria dos casos.

[ Hits: 173.970 ]

Por: Italo Diego Teotonio em 27/02/2010


Introdução



O que é Squid? O Squid é um servidor proxy que suporta os protocolos HTTP, HTTPS, FTP e outros. Ele reduz a utilização da conexão e melhora os tempos de resposta fazendo cache de requisições frequentes de páginas web numa rede de computadores. Pode ser usado para controle de banda, restrição de sites, usuários, entre outros. Podemos executar o Squid nas principais plataformas do mercado, como GNU/Linux, Unixes e Windows.

Instalando o Squid

Para fazer a instalação, basta digitar, como root, no terminal, o comando:

# apt-get install squid

Editando o squid.conf.

O arquivo original do Squid é gigantesco devido aos seus inúmeros comentários. Nesse tutorial vamos criar um arquivo de configuração a partir do zero. Mas primeiro vamos conservar o arquivo original, renomeando-o com o comando:

# mv /etc/squid/squid.conf /etc/squid/squid.original

Agora sim vamos começar a editar nosso arquivo com o comando:

# vim /etc/squid.conf

Idioma e cache

Configurando o idioma:

É possível alterar as mensagens que o Squid mostra quando um cliente tenta acessar um site ou fazer um download bloqueado por exemplo, bem como mensagens de erro de DNS, entre outras.

Para isso vamos criar a linha:

error_directory /usr/share/squid/errors/Portuguese

Obs.: Você pode criar suas próprias páginas de mensagens de erro ou então editar as já existentes. Basta ir no seu diretório indicado acima e utilizar um editor de textos simples.

Configurando cache. Crie as linhas:

cache_mem 700 MB

Esta linha define quanto da memória RAM (no caso 8MB) será usada pelo cache: em um servidor dedicado é recomendado reservar 1/3 da memória RAM para o cache.

maximum_object_size_in_memory 32 KB

Esta linha define o tamanho máximo dos objetos na RAM. Defina um tamanho pequeno para que sejam salvos apenas páginas html na RAM e não downloads por exemplo, que devem ser salvos no disco.

maximum_object_size 1024 MB

Define o tamanho máximo dos objetos no cache do disco. Aqui serão armazenados os downloads por exemplo. Se tem costume de baixar arquivos grandes, coloque um tamanho grande.

minimum_object_size 0 KB

Tamanho mínimo dos objetos no cache.

cache_swap_low 90
cache_swap_high 95

Essas linhas indicam que a partir do momento em que o cache atingir 95%, serão descartados arquivos mais antigos até que a porcentagem volte para um número abaixo de 90%.

cache_dir ufs /etc/squid/cache 30000 16 256

Esta linha é a que realmente define o tamanho total do cache em disco. O endereço refere a que diretório se deseja utilizar como cache, seguido do tamanho máximo do cache no disco (em MB) e os dois últimos números da linha indicam a quantidade de pastas e subpastas que o Squid utilizará para se organizar ao gravar o cache;

cache_access_log /etc/squid/access.log

Esta linha indica o caminho para onde devem ser exportados os logs que depois poderão ser analisados, manualmente, com com algum gerador de relatórios como o SARG.

Basta então editar estas linhas de acordo com a capacidade do seu servidor e a sua necessidade.

Limpar cache e recriar estrutura.

Sempre que alterar configurações referentes ao cache, é recomendável limpá-lo e recriá-lo. Basta fazer os seguintes comandos.

Apagar os arquivos:

# rm -rf /var/spool/squid/*

Recriar estrutura, pastas e subpastas:

# squid -z

    Próxima página

Páginas do artigo
   1. Introdução
   2. Porta e regras ACL
   3. Exemplo de squid.conf
Outros artigos deste autor

Configuração de interface de rede ethernet e wireless

Leitura recomendada

Squid 3.4.8 + SSL + Firewall + DNS + DHCP no Debian Jessie (v.8)

Grace - Usando a função "Regression"

Squid 2.6 + HTB-tools com cache full

Squid - Níveis de bloqueio para usuários

Squid3 + Ubuntu Lucid 10.04 + Kerberos Auth + AD

  
Comentários
[1] Comentário enviado por QuestLoder em 01/03/2010 - 13:39h

italodiego12,

Show de bola.... parabéns pelo artigo.

[2] Comentário enviado por grandmaster em 02/03/2010 - 00:09h

Artigo ótimo para o pessoal que está querendo começar a usar o squid.

Já existem outros mais na vivaolinux com mais detalhes.

---
Renato de Castro Henriques
ITILv3 Foundation Certified
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[3] Comentário enviado por guioximitsu em 08/03/2010 - 23:47h

Muito bom artigo, me valeu bastante =)
Obrigado...

[4] Comentário enviado por removido em 27/06/2010 - 03:11h

Como diz o título, simples e funcional.

Parabéns.

[5] Comentário enviado por luiscarlos2310 em 06/10/2010 - 13:45h

Irmão....configurei o squid no windows 2003 e ta rodando. Configurei o squid.conf mas as regras não estão funcionando...Será que vc pode me ajudar?

[6] Comentário enviado por removido em 25/03/2012 - 16:15h

Muito bom. Bem objetivo, exatamente o que procurava!

[7] Comentário enviado por willrodrigues em 09/09/2014 - 23:38h

Pessoal boa noite. Sou novo e gostaria de saber em que estou errando pois o squid não funciona no navegador. Só aparece navegação cancelada. E também não funciona no localhost
Como servidor uso o debian 7 e Windows 8.1 nas estações.
Segue abaixo meu arquivo de configuração, se alguém puder me ajudar ficaria muito feliz.
#PARAMETROS DE AUTENTCAÇÃO
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic credentialsttl 1 hour
auth_param basic realm Para obter um loguin e senha ligue para (12) 97404-5120
auth_param basic casesensitive off

#Porta default do proxy
http_port 3128

#O nome do servidor
visible_hostname proxy.wmti.com.br


#Cache
cache_mem 1024 mb
maximum_object_size_in_memory 64 kb
cache_swap_low 90
cache_swap_high 95
cache_mgr will@wmti.com.br
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
error_directory /usr/share/squid/errors/pt-br
cache_dir ufs /usr/local/squid/var/cache 20000 16 256
cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
cache_store_log /usr/local/squid/var/logs/store.log
pid_filename /usr/local/squid/var/logs/squid.pid

#Regras de acesso para rede local
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 #http
acl Safe_ports port 21 #ftp
acl Safe_ports port 70 #gopher
acl Safe_ports port 210 #wais
acl Safe_ports port 280 #http-mgmt
acl Safe_ports port 488 #gss-http
acl Safe_ports port 591 #filemaker
acl Safe_ports port 777 #multiling http
acl Safe_ports port 901 #swat
acl Safe_ports port 443 563 #https e snews
acl Safe_ports port 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

#Bloqueando por dominios e palavras
acl bloqueados url_regex "/etc/squid/bloqueados"
http_access deny bloqueados
acl palavras dstdom_regex "/etc/squid/palavras"
http_access deny palavras
error_directory /usr/share/squid/errors/Portuguese

acl redelocal src 192.168.1.0/24
http_access allow redelocal
http_access allow localhost
acl all src 0.0.0.0/24
http_access deny all.



Esse é meu arquivo pessoal.
Estou a disposição pra ajuda-los se precisar de alguma coisa relacionado a Windows Server... 10 anos de profissão.
Forte abraço a todos.

[8] Comentário enviado por LucasTeixeira em 18/10/2015 - 12:43h


Bom dia parceiro ,

Sou iniciante em linux , então pode ser que tenha feito algo obvio errado hehe , mas colei essas linhas no squid.conf e aqui não funcionou.

O que mais preciso verificar ?

[9] Comentário enviado por lemic em 20/10/2016 - 19:44h

é simplesmente porque não funciona, isso aqui ja fom bom um dia, agora ta cheio de gente postando nada.

[10] Comentário enviado por lemic em 20/10/2016 - 19:46h

squid3 foi uma evolução que lhe traz problemas que antes não existia. saudades do VOL quando tinha moderadores de verdade.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts