O arquivo de configuração do Squid
O arquivo de configuração do Squid é um arquivo de texto Linux com diretivas comuns ao Squid. No arquivo de configuração podemos controlar o acesso à internet das estações de trabalho de uma rede interna.
O arquivo é lido de cima para baixo, ou seja, a ordem de alguns parâmetros do arquivo de configuração influencia na execução correta do Squid (veremos isso mais adiante).
Também é possível colocar comentários no arquivo de configuração do Squid colocando o caractere # no inicio da linha, assim o Squid irá ignorar a linha quando for ler o arquivo de configuração.
Veremos agora os parâmetros de configuração do Squid:
http_port [porta]
Determina qual a porta tcp que será usada pelos os browsers das estações clientes para se conectar ao Squid.
cache_mem [quantidade]
Determina quanto de espaço da memória RAM será usado para cache imediato.
maximum_object_size [quantidade]
Determina qual será o tamanho máximo de objetos guardados no cache local do Squid.
minimum_object_size [quantidade]
Determina qual será o tamanho mínimo de objetos guardados no cache local do Squid.
cache_dir [tipo] [dir] [TAM] [L1] [L2]
Determina qual será o diretório de armazenamento do cache local do Squid, onde:
tipo Tipo do algoritmo usado para o armazenamento do cache no disco.
dir Diretório onde será armazenado o cache.
TAM Tamanho em Megabytes, do cache.
L1 Quantidade de pastas primarias dentro de dir.
L2 Quantidade de pastas secundarias dentro de cada pasta de L1.
cache_access_log [dir/access.log]
Diretório onde serão armazenados os logs de acesso as páginas de internet.
cache_log [dir/cache.log]
Diretório onde será armazenado os logs do estado do cache local do Squid.
cache_store_log [dir/store.log]
Diretório onde será armazenado os logs do conteúdo armazenado no cache local do Squid.
emulate_httpd_log [on/off]
Diretiva usada para facilitar, para nós usuários, a forma de como o arquivo access.log é escrito.
cache_mgr [email_administrador]
E-mail do administrador do Squid que será apresentado no browser no caso de negação/erro de acesso.
cache_effective_user [usuário]
Usuário no qual o Squid usará para iniciar e executar o servidor com todas suas tarefas.
cache_effective_group [grupo]
Grupo no qual o Squid usará para iniciar e executar o servidor com todas suas tarefas.
visible_hostname [nome_servidor]
Nome do servidor Squid que será mostrado na janela do browser do cliente no caso de negação/erro.
error_directory [dir]
Diretório que contem as paginas de erro/negação do Squid de acordo com o idioma desejado.
acl [nome] [tipo] [argumento/arquivo]
Todas as definições de lista de acessos devem ser definidas com um nome e um tipo, seguido também por seu argumento ou um arquivo especifico. Quando usamos um arquivo, o mesmo deve ter apenas um item por linha.
Segue abaixo alguns dos tipos suportados pela clausula acl:
acl [nome] src
Especifica o ip de origem de um computador ou rede.
acl [nome] dst
Especifica o ip de de destino de um computador ou rede.
acl [nome] srcdomain
Especifica o domínio de origem a partir do DNS reverso do ip do cliente, caso houver.
acl [nome] dstdomain
Especifica o domínio da URL de destino.
acl [nome] time [abreviação-do-dia] [h1:m1-h2:m2]
Especifica o(s) dia(s) e a hora inicial – hora final em que esta acl deve agir, onde:
S – Domingo
M – Segunda-Feira
T – Terça-Feira
W – Quarta-Feira
H – Quinta-Feira
F – Sexta-Feira
A – Sábado
acl [nome] port [porta]
Especifica uma porta tcp para acl.
acl [nome] proto
Especifica um protocolo de requisição.
acl [nome] method
Especifica um método de conexão HTTP do tipo GET ou POST.
acl [nome] url_regex [-i]
Especifica um expressão a ser verificada na URL. A opção –i é opcional, mas quando usada ignora o case sensitive da URL.
http_access [allow/deny] [nome_acl]
A clausula http_access irá permitir (allow) ou negar (deny) um acesso baseado em uma lista de acesso (acl). A ordem de como é colocado as clausulas http_access dentro do arquivo de configuração altera o comportamento do Squid.