Vous êtes sur la page 1sur 3

Como configurar o Squid

Atendendo a pedidos, escrevi este artigo que mostra como configurar o Squid. Para quem no
conhece, o Squid um servidor proxy, ou seja, um programa que permite que vrios
computadores naveguem na internet atravs do computador na qual o Squid est instalado. Com o
Squid tambm possvel bloquear o acesso internet, liberando sites ou IPs, bloqueando sites
como o Orkut e programas como o MSN Messenger. Atualmente um dos melhores (seno o
melhor) na sua rea. um programa leve que pode ser rodado at em mquinas antigas, como 486 e
Pentium 100 mhz, sem perda de performance.
O Squid pode ser instalado tanto em Linux quando em Windows, porm neste ltimo necessria a
instalao do Cygwin, que nada mais do que um emulador do shell do Linux para Windows. Para
escrever este artigo, estarei utilizando o Cygwin, rodando em uma mquina com o Windows XP.
A maioria das distribuies Linux j vem com o Squid, sendo necessria apenas a instalao do
pacote. Para Windows, a instalao bem simples: baixe o Cygwin, comece a instalao e selecione
o Squid na lista de pacotes. No Windows, existe um problema no arquivo executvel do squid que
instalado com o Cygwin. Para corrigir o problema, necessrio fazer uma alterao no arquivo
utilizando um editor hexadecimal. Para simplificar as coisas, coloquei para download o arquivo j
modificado: O arquivo est zipado; descompacte-o e substitua o arquivo original por este.
Feita a instalao, comearemos a configurar o Squid de acordo com as nossas necessidades. O
arquivo de configurao squid.conf fica na pasta /etc/squid no Linux ou c:\cygwin\etc no Windows.
Abrindo este arquivo com o bloco de notas [ou notepad ;-)], iniciamos ento a configurao
propriamente dita.
Podemos criar regras de acesso de vrias maneiras. O mais comum bloquear determinados sites
deixando os outros liberados ou bloquear todos os sites e apenas alguns liberados. E pra complicar
mais um pouco, existe o caso de estaes que devem ter o acesso liberado, no caso dos fdp dos
chefes, por exemplo.
A sintaxe bsica para criar uma regra :
acl nome_da_regra tipo IP_ou_domnio
onde:
acl comando para regra
nome_da_regra nome de identificao da regra
tipo para bloquear/liberar domnios, usamos dstdomain. Para partes de endereos de sites, usamos
url_regex e para endereos de IPs, usamos src.
Ex.:
acl joao dstdomain .centenaro.org
acl maria url_regex centenaro
acl chefe src 192.168.1.1
Existe tambm a opo de se criar uma lista em um arquivo texto (.txt) contendo todos os sites a
serem bloqueados ou liberados, sendo colocado cada site em uma linha diferente. Assim, ao invs
de informarmos o domnio ou IP, passamos o caminho do arquivo com a lista. Ex:
acl joao dstdomain c:\cygwin\etc\liberados.txt
No arquivo de texto, teramos:
.centenaro.org
.terra.com.br
.orkut.com
Note o ponto (.) no incio da linha. Devemos sempre comear uma linha com ponto (.) e depois o
domnio ou expresso. Outra questo importante criar a lista de acordo com o tipo da regra. Se
formos bloquear domnios, a lista deve ser formada na forma de domnios (.centenaro.org) e para
partes de endereo (url_regex), utilizamos .*centenaro*, que bloqueia qualquer endereo contendo a
palavra centenaro.
A regra para liberar ou bloquear TODOS os endereos :
acl all src 0.0.0.0/0.0.0.0
At aqui apenas criamos as regras de acesso: se vamos permitir que determinados sites sejam
acessados ou no. Agora vamos ver como fazer com que as regras tenham efeito. O comando para
isso http_access, cuja sintaxe :
http_access tipo nome_regra
onde:
tipo usa-se allow para liberar e deny para bloquear.
nome_regra o nome da regra definido anteriormente
Ex.:
http_access deny restricao
http_access deny porn
http_access allow chefe
http_access deny msn
http_access allow all
Aqui est o meu arquivo squid.conf, com as linhas comentadas (este um arquivo real, rodando em
produo em alguns clientes):
*O caractere # indica que um comentrio, ou seja, o squid ignora o que vem depois disso, at o
fim da linha.
http_port 8080 #indica a porta a ser usada.
dns_nameservers 200.199.252.68 #DNS do provedor que acesso a internet. No caso, Brasil Telecom
acl msn url_regex -i /gateway/gateway.dll #bloqueio do MSN Messenger
acl restricao url_regex -i C:\cygwin\etc\liberados.txt #pega a lista de sites liberados
acl orkut url_regex .*orkut* #Bloqueio do orkut
acl chefe src 192.168.200.150 #conf. do micro do chefe, acesso liberado
acl all src 0.0.0.0/0.0.0.0
http_access deny orkut
http_access allow chefe
http_access deny msn
http_access allow all
request_body_max_size 0 MB #linha para permitir uploads de qualquer tamanho. Para sites em que
necessrio enviar arquivos.
cache_mem 32 mb #tamanho do cache
cache_effective_user administrador #usurio para gravao do cache em disco
cache_effective_group administradores #grupo do usurio para gravao do cache
Feitas as configuraes, o ltimo passo agora rodar o squid. Abra a janela do Cygwin e digite as
seguintes linhas:
squid -z (Enter)
squid -d 1 (Enter)
Agora j possvel comear a navegar atravs do proxy. No se esquea de configurar o navegador
(Internet Explorer, Firefox) para utilizar o proxy.
Esta foi apenas uma viso geral, com o bsico para colocar este poderoso servidor proxy em
funcionamento. A partir disso, possvel compartilhar a conexo com a internet entre os
computadores da rede, restringindo acessos. :-)
Aps fazer alteraes nos arquivos de configurao, para que elas tenham efeito, necessrio usar o
comando:
squid -k reconfigure
ATUALIZAO (06-09-2007):
Bloqueando e liberando sites em determinados horrios:
O script abaixo serve para liberar (ou bloquear) sites em determinados horrios.
#regra para bloquear o MSN Messenger
acl msn url_regex -i /gateway/gatewway.dll
#lista dos sites a serem bloqueados
acl bloqueados url_regex -i /etc/squid/block.txt
#lista de sites a serem desbloqueados
acl desbloqueados url_regex -i /etc/squid/unblock.txt
#define a faixa de horrios
acl mail src 000.000.0.0
acl manha time MTWHF 08:00-12:00
acl almoco time MTWHF 12:00-13:00
acl tarde time MTWHF 13:00-17:00
#faz as devidas liberaes e bloqueios
http_access allow mail !bloqueados
http_access allow mail sites almoco
http_access deny mail sites manha
http_access deny mail sites tarde

Vous aimerez peut-être aussi