Dando continuidade ao post sobre squid, aonde mostrei o arquivo de configuração básica do squid e sua toria de funcionamento, darei prosseguimento na explicação do funcionamento do squid de uma forma um pouco mais detalhada, ou não =P
ACL
Antes de começarmos a destrinchar o squid.conf, vamos explicar o que é uma acl. A acl ou lista de controle de acesso, é aonde tu definirás o que será liberado ou negado para acesso à internet. Uma coisa que devemos sempre atentar é, o squid interpreta às acl's de cima para baixo, então tu deves ficar atento no momento da criação de tuas acl's.
Squid.conf detalhado
http_port 192.168.10.1:3128 : Esta linha indica o IP do squid e a porta que ele responderá na rede. Por padrão a porta utilizada é a 3128, mas tu ao configurares o squid, pode utilizar outra porta sem problemas.
visible_hostname fw-linux: Esta linha indica o nome do servidor.
cache_mem 64 MB : Esta linha define a quantidade de memória que será dedicada ao cache. Neste caso colocamos 64 MB. O ideal de uso de memória para o cache é 1/3 da memória RAM do micro.
maximum_object_size_in_memory 64 KB : Esta opção determina o tamanho máximo de arquivos que serão guardados no cache feito na memória RAM.
maximum_object_size 128 MB : Esta linha se refere ao cache de memória em disco, o padrão do squid é 16 MB. Neste caso colocamos 128 MB como exemplo, em casos aonde tu utilizas muito o windows update, tu podes colocar mais memória para o cache em disco, dessa forma agilizando às atualizações na rede e minimizando o consumo de banda.
minimum_object_size 0 KB: Esta linha se refere ao valor mínimo da memória cache em disco, que é sempre 0 KB.
Tu podes ainda, definir a porcentagem de uso do cache, que ao chegar no valor limite que foi setado, começa a descartar arquivos mais antigos. Por padrão sempre que o cache em disco atingir 95 % de uso, o squid começa a descartar arquivos. Nas linhas abaixo setamos o cache para exclusão ao chegar em 85% e manter no mínimo 80% de cache.
cache_swap_low 80
Tu podes ainda, definir a porcentagem de uso do cache, que ao chegar no valor limite que foi setado, começa a descartar arquivos mais antigos. Por padrão sempre que o cache em disco atingir 95 % de uso, o squid começa a descartar arquivos. Nas linhas abaixo setamos o cache para exclusão ao chegar em 85% e manter no mínimo 80% de cache.
cache_swap_low 80
cache_swap_high 85
cache_dir ufs /var/spool/squid 256 10 20 : Essa opção que possuí "quatro campos", indica primeiro, a pasta aonde o squid armazenará o cache em disco (/var/spool/squid), enquanto o segundo campo( 256) indica, a quantidade de disco que será utilizada( 256 MB), o terceiro campo(10) indica a quantidade de pastas que haverão no diretório e o último campo (20) a quantidade de subdiretórios, que haverá em cada diretório de cache.
cache_access_log /var/log/squid/access.log : Nesta linha definimos aonde será gerado o arquivo de log. Por padrão o squid armazena os log's no valor setado acima. Este arquivo de log é utilizado pelo Sarg, para geração de relatórios.
Às três linhas abaixo, indicam o padrão de atualização do squid, estas regras devem sempre ser utilizadas em conjunto. Se eliminares uma linha, o squid ignora às que restarem e utiliza o default. Os números indicam o tempo que o squid irá aguardar se um item de cache foi atualizado para cada um dos três protocolos. O primeiro campo(15) indica que o squid verificará ( a cada acesso) se as páginas e arquivos com mais de 15 minutos foram atualizados. A verificação efetuada é rápida, checando o tamanho do arquivo e, se o arquivo não tiver mudado, ele continua fornecendo aos clientes o arquivo que está no cache, economizando banda.
O terceiro campo(2280, equivalente à dois dias) indica o tempo máximo, depois que o objeto é sempre verificado. Além do http e ftp, o squid suporta o protocolo gopher, que era usado em larga escala no início da internet para localizar documentos de texto, mas caiu em desuso hoje em dia.
refresh_pattern ^ftp: 15 20% 2280
O terceiro campo(2280, equivalente à dois dias) indica o tempo máximo, depois que o objeto é sempre verificado. Além do http e ftp, o squid suporta o protocolo gopher, que era usado em larga escala no início da internet para localizar documentos de texto, mas caiu em desuso hoje em dia.
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 : Essa linha se refere as mensagens exibidas ao usuário no navegador. Neste caso está setado o idioma português do Brasil.
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl SSL_ports port 443 563
acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901
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
As regras acimas estão dispostas dessa forma no arquivo de configuração criado, porém vou explicar fora de ordem, assim ficará mais claro para quem lê.
acl manager proto cache_object
acl localhost src 127.0.0.1/32
http_access allow manager localhost
http_access deny manager
A primeira acl, se refere ao cache_object, que verifica as informações sobre o estado do squid. O ideal é deixar sempre que, apenas o micro aonde se encontra o squid verifique tal estado, por isso tu deixarás somente o localhost liberado. O IP do squid é referenciado na acl "localhost".
As regras acimas estão dispostas dessa forma no arquivo de configuração criado, porém vou explicar fora de ordem, assim ficará mais claro para quem lê.
acl manager proto cache_object
acl localhost src 127.0.0.1/32
http_access allow manager localhost
http_access deny manager
A primeira acl, se refere ao cache_object, que verifica as informações sobre o estado do squid. O ideal é deixar sempre que, apenas o micro aonde se encontra o squid verifique tal estado, por isso tu deixarás somente o localhost liberado. O IP do squid é referenciado na acl "localhost".
acl SSL_ports port 443 563
acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
As acl's "Safe ports", definem as portas que estarão liberadas na saída do servidor proxy. O caractere "!", significa negação, ou seja, negará tudo que for diferente das acl's "Safe_ports" e "SSL_ports".
acl purge method PURGE
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
As acl's "Safe ports", definem as portas que estarão liberadas na saída do servidor proxy. O caractere "!", significa negação, ou seja, negará tudo que for diferente das acl's "Safe_ports" e "SSL_ports".
acl purge method PURGE
http_access allow purge localhost
http_access deny purge
O método "PURGE" serve para limpar / excluir objetos do cache do squid. Tu deverás deixar liberado somente o próprio squid, ou seja, o localhost.
Por último tu criarás uma acl chamada "redelocal" aonde colocarás o range da tua rede interna e logo abaixo liberará a mesma para navegação.
O método "PURGE" serve para limpar / excluir objetos do cache do squid. Tu deverás deixar liberado somente o próprio squid, ou seja, o localhost.
Por último tu criarás uma acl chamada "redelocal" aonde colocarás o range da tua rede interna e logo abaixo liberará a mesma para navegação.
acl redelocal src 192.168.10.0/24
http_access allow redelocal
http_access deny all : Por último a regra "deny all", essa regra fará com que tudo que não estiver especificado no teu arquivo squid.conf seja negado.
Have a nice day =D
Have a nice day =D
Nenhum comentário:
Postar um comentário