Squid (squid.conf)

Squid 3.0.STABLE13 (comentado)

Categoria: Networking

Software: Squid

[ Hits: 45.584 ]

Por: Andrio Prestes Jasper


Depois de muito pesquisar (outros configs e para que serve cada regra/acl/etc), escrevi meu primeiro .conf (comentado). Um Squid transparente adaptado às novas versões, não barra nada (skype, msn, hotmail), controla o cache e ainda vem com algumas melhorias de segurança/velocidade. Ainda estou em busca de melhorá-lo, quem tiver dicas do que pode mudar, acrescentar ou retirar, por favor, diga!


##############################
# Copyright © 2009 - Andrio Jasper           ##
# Todos os direitos reservados.                 ##
# Ao utilizar este aquivo manter os          ##
# direitos autorais                            ##       
############################

# Opcoes para suportar proxy transparente.
#nao esquecer de trocar a faixa de ip pela da sua rede
http_port 192.168.70.1:3128 transparent

#Está porta é usada para troca de informações entre servidores proxy.
#Não use o ICP se você tem um único proxy-pai que você sempre usa.
#Para desabilitar, bastacolocar um 0. Padrão: 3130
icp_port 0

#Especifica o número da porta através do qual o Squid irá receber e
#enviar requisições HTCP de e para caches vizinhos. Para desabilitar,
#colocar 0. O padrão é 4827.
htcp_port 0

#Ela é responsável por dizer ao Squid que ele deve buscar os dados diretamente
#na origem, sem passar pelos vizinhos na hierarquia. Padrao do squid
hierarchy_stoplist cgi-bin ?

#Esta ACL diz ao squid para não armazenar em cache o conteúdo dos CGI's, pois
#obviamente não é interessante por tratar-se de conteúdo dinâmico
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

#Quantidade de memoria usada pelo squid
cache_mem 256 MB

#esvazia o cache
cache_swap_low 80
cache_swap_high 85

#tamanho maximo para gravacao no cache squid
maximum_object_size 64 MB

#tamanho minimo para gravacao no cache squid
minimum_object_size 0 KB

# Tamanho maximo dos objetos mantidos em memoria.
maximum_object_size_in_memory 128 KB
ipcache_size 3072
ipcache_low 90
ipcache_high 93

# politica de substituicao dos objetos quando se esgota o espaco destinado ao cache em disco.
# lru: mantem os objetos referenciados recentemente.
# heap GDSF: otimiza o "hit rate" por manter objetos pequenos e
# e populares no cache, guardando assim um numero maior de objetos.
# heap LFUDA: otimiza o "byte hit rate" por manter objetos populares
# no cache sem levar em conta o tamanho. Se for utilizado este, o
# maximum_object_size devera ser aumentado para otimizar o LFUDA.
cache_replacement_policy heap LFUDA

#define a politica de substituicao dos objetos em memoria
#da mesma forma como o cache_replacement_policy
memory_replacement_policy heap GDSF

#Esta TAG determina onde e como será feito o cache e o tamanho
#a cada 1GB (1024), deve separar 15mb de memoria
cache_dir ufs /var/spool/squid/cache1 2048 16 64
cache_dir ufs /var/spool/squid/cache2 2048 16 64
cache_dir ufs /var/spool/squid/cache3 2048 16 64
cache_dir ufs /var/spool/squid/cache4 2048 16 64
cache_dir ufs /var/spool/squid/cache5 2048 16 64

# Log de requisicoes.
cache_access_log /var/log/squid/access.log
# Log do cache.
cache_log /var/log/squid/cache.log
# Log de objetos guardados. Pode ser desativado.
cache_store_log none

#Pode ser usada para especificar uma lista de servidores DNS no
#lugar no /etc/resolv.confdns_nameservers Endereço_IP
#nao esquecer de trocar a faixa de dns pela da sua faixa
dns_nameservers 201.10.128.2
dns_nameservers 201.10.120.3

#TAG's referentes ao processo de autenticação. 
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

#Estas opções são o padrão do Squid e
#configuram como serão tratados os tempos de vida dos objetos no cache
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern (cgi-bin|\?)    0       0%      0
refresh_pattern .      0   20%   4320

#O cache pode ser configurado para continuar com o download de requisições abortadas
quick_abort_min 0 KB
quick_abort_max 0 KB
quick_abort_pct 100

#Tempo de vida para requisições falhas. Certos tipos de erros (como
#conexão recusada ou página não encontrada) são marcados como
#"sem-cache" por um determinado tempo. Padrão de 5 minutos
negative_ttl 3 minutes

#Tempo de vida para resultados bem sucedidos de resolução DNS. Se você
#realmente precisar alterar esse valor, não deixe inferior a 1 minuto.
#Padrão de 6 horas.
positive_dns_ttl 5 minutes

#Alguns clientes podem parar o envio de pacotes TCP enquanto deixam o recebimento em aberto.
#Algumas vezes o Squid não consegue diferenciar conexões TCP totalmente fechadas e parcialmente fechadas.
#Mudando essa opção para off fará com que o Squid imediatamentefeche a conexão quando a leitura do socket
#retornar "sem mais dados para leitura"
half_closed_clients off

#Estas ACL's fazem parte da configuração padrão do Squid e é o mínimo
#recomendável para seu uso não sendo necessária nenhuma alteração nas mesmas
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl BADPORTS port 7 9 11 19 22 23 25 53 110 119 513 514 3128 8080
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
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 CONNECT method CONNECT

# ---- Cache do Windows Update ----
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern msgruser.dlservice.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern windowsupdate.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern www.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims

##nao esquecer de trocar a faixa de ip pela da sua rede
acl rede src 192.168.70.0/255.255.255.0
http_access allow localhost
http_access allow rede

#Definição de regras de acesso referentes as ACL's da parte da configuração
#padrão do Squid, também não é necessária nenhuma alteração, portanto apenas
#acrescente as suas próprias regras a estas;
http_access allow  manager localhost
http_access deny  manager
http_access deny !Safe_ports
http_access deny BADPORTS
http_access deny CONNECT !SSL_ports

#Esta regra de acesso é recomendada para uso como última regra da lista define
#o acesso ao proxy. Ela diz ao Squid que se nenhuma das regras anteriores for
#aplicada o acesso será então negado
http_access deny all

#Permite o acesso a porta icp de acordo com a configuração feita na ACL all
#que no nosso caso representa qualquer origem. Está porta é usada para troca
#de informações entre servidores proxy.
#Não use o ICP se você tem um único proxy-pai que você sempre usa.
#icp_access allow rede

# Usuario sob o qual ira rodar o Squid.
cache_effective_user squid
# Grupo sob o qual ira rodar o Squid.
cache_effective_group squid

#Mostra o nome do servidor configurado nas mensagens de erro
visible_hostname andrio.jasper@lgmtecnologia.com.br

#Desligando essa variavel, faz com que o squid descarregue a memoria nao
#utilizada, chamando uma funcao interna free() do squid, ao inves de ficar
#com ela para futuras operaçoes.
memory_pools off

#Por padrão o Squid irá incluir o ip ou nome da sua máquina nas solicitações HTTP.
#Ele irá saber o ip da sua máquina interna como também saber qual classe ip você usa internamente.
#Para o site visitado não interessa para ele qual seu ip interno, o importante é que você visitou o site.
forwarded_for off

#Apresenta as mensagens de erro em Portugues
error_directory /usr/share/squid/errors/Portuguese

#Por padrão o Squid já possui essa configuração como ativa. Ela serve para não colocar no log os
#parâmetros que são passados junto ao endereço acessado pelo usuário. Assim garante a privacidade.
#As vezes quando se usa filtro por palavras e um site apresenta acesso negado é interessante setar
#essa opção como off para verificar no log o endereço completo.
strip_query_terms off

#Local para gravar os arquivos core em caso de falhas do squid (/var/spool/squid)
# ou Evitar que sejam feitos coredumps (none).
coredump_dir none

# Resolve um problema com conexões persistentes que ocorre com certos servidores,
# e que provoca delays em nosso cache.
detect_broken_pconn on

# Provoca um ganho de performance ao usar conexões Pipeline (requisições em paralelo)
#o Squid irá trabalhar com 2 requisições paralelamente
pipeline_prefetch on
  


Comentários
[1] Comentário enviado por andriopj em 12/05/2009 - 19:30h

para fazer cache das atualizacoes do windows, basta adicionar no conf:

# ---- Cache do Windows Update ----
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern msgruser.dlservice.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern windowsupdate.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern www.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims

[2] Comentário enviado por darioeluan em 03/07/2009 - 00:51h

Olá! Aproveitando este tópico, gostaria realmente de saber este cache do Windows Upadte, alguém já viu isso funcionar ? Aproveitando também alguém já consegui fazer que funcionar um link somente para download e outro sirvar como Upload, sei que a Ragio faz isso, mas ai vai a minha dúvida como fazer isso linux funcionar e ele entender isso ? Obrigado

[3] Comentário enviado por andriopj em 03/07/2009 - 09:12h

sim, funciona sim
para vc ter uma ideia, eu formatei 2 maquinas...
depois de tudo terminado, fiz atualizacao na primeira... demorou aproximadamente 3 horas tudo...
depois, fui atualizar a outra... demorou mto mais tempo para instalar do que para fazer o download das atualizacao...
a atualizacao em si (download) nao passou de 10 min!

[4] Comentário enviado por minduim em 21/07/2009 - 16:33h

Tem como utilizar proxy transparente com autenticação de usuario?

[5] Comentário enviado por alemaorsl em 15/10/2009 - 15:39h

Ola

deu erro aki

Starting Squid HTTP proxy squid
2009/10/15 16:40:03 ACL name 'all' not defined! FATAL: Bungled squid.conf line: 161: http_access deny all Squid Cache (version 2.7.STABLE3): Terminated abnormally.

[6] Comentário enviado por andriopj em 15/10/2009 - 18:41h

o erro esta na linha 161... procure por ela, e escreva aqui... vamos ver qual o erro

[7] Comentário enviado por alemaorsl em 16/10/2009 - 11:07h

a linha diz do: http_access deny all

no .conf desse tutorial é a parte

#Esta regra de acesso é recomendada para uso como última regra da lista define
#o acesso ao proxy. Ela diz ao Squid que se nenhuma das regras anteriores for
#aplicada o acesso será então negado
http_access deny all

[8] Comentário enviado por andriopj em 16/10/2009 - 13:16h

mto estranho amigo, nao deveria dar erro nessa linha, tendo em vista q ela eh padrao em todos os squid.conf... mas vi q vc usa a versao 2.7 do squid... pode ser algum bug.... tenta atualiza-la para o squid 3.0...

[9] Comentário enviado por alemaorsl em 16/10/2009 - 16:08h

valeu.... atualizei e agora não deu mais erro

[10] Comentário enviado por andriopj em 16/10/2009 - 21:07h

disponha... precisando, estamos ai!

[11] Comentário enviado por Carlos_Cunha em 02/10/2012 - 17:23h

opa! Amigo ficou show de bola so não entendi um coisa, nas linhas do windows update
o que são esse valores finais??

Abraço
# ---- Cache do Windows Update ----
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern msgruser.dlservice.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern windowsupdate.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern www.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims


Contribuir com comentário

  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts