Como fazer o Squid funcionar da maneira mais simples possível no Xubuntu e derivados

Este artigo é para quem está iniciando com o Squid, mostro como instalar e configurar o Squid da forma mais simples possível no Xubuntu, além de gerar um relatório de acesso com o Sarg e um pequeno script para liberar e restringir determinados sites que estão na lista de proibidos do Squid.

[ Hits: 43.859 ]

Por: Fernando Eckhardt Valle em 25/02/2010


Instalação e configuração do Squid



A distro escolhida foi o Xubuntu 9.10, que é a versão mais recente agora em fevereiro de 2010. Depois de instalada e configurada a rede, instalamos o Squid:

# apt-get install squid

Bom, só lembrando que no Ubuntu e derivados você deve colocar antes de dar qualquer comando de super usuário o termo sudo, eu particularmente não gosto muito disso, prefiro colocar um su e ficar assim o quanto for necessário, mas tudo bem.

Logo após termos instalado o Squid, vamos acessar seu diretório:

# cd /etc/squid/

Neste diretório encontraremos, por ora, somente o arquivo squid.conf, que é onde se encontram as configurações do Squid. O arquivo é bem grande, tecnicamente não usaremos ele, por isso, seria interessante fazermos um backup para estudo posterior, mas se você quiser pode apagá-lo e pegar uma conf pronta das milhares que tem na net ou usar a minha, que postarei logo abaixo.

Mas, façamos um backup em todo caso, no arquivo de configurações do Squid:

# mv squid.conf squid.conf.bkp

Agora vamos criar um arquivo squid.conf novo, vamos abrir um editor de texto, usarei o pico que é um editor simples que vem no Xubuntu e é menos ortodoxo que o "vi", que muitos temem:

# pico

Bom, precisamos criar uma configuração agora, em seguida a que eu estou usando, basta copiar e colar no editor, depois salve o arquivo, CTRL+O, dê o nome do arquivo squid.conf e em seguida feche-o, CTRL+X; logo abaixo explico o mais importante para que possam ser feitas as mudanças necessárias em cada caso:

http_port 3128
visible_hostname servidor
error_directory /usr/share/squid/errors/pt-br/


cache_mem 64 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
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

acl all src 0.0.0.0/0.0.0.0
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 443 563 # https, snews
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 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

acl palavrasproibidas dstdom_regex "/etc/squid/bloqueadas"
http_access deny palavrasproibidas

acl redelocal src 192.168.1.0/24
http_access allow localhost
http_access allow redelocal

http_access deny all

Explicando o que eu entendo como o mais importante no momento:

Na 1ª linha temos http_port 3128, esta é a porta que o Squid usará para se comunicar, você pode alterá-la, 3128 é o valor padrão.

Em error_directory /usr/share/squid/errors/pt-br/ temos o diretório em que se encontram as páginas de erro do Squid, veja bem, a pasta que se encontra o idioma português é a pt-br, isso na versão do Xubuntu, na do Debian era no diretório Portuguese, as versões eram diferentes, dentro desta pasta se encontram vários arquivos HTML que você pode alterar como quiser.

Eu queria alterar com um editor HTML para facilitar o trabalho, então resolvi instalar o Kompozer, para quem quiser:

# apt-get install kompozer

É só entrar no diretório de erros, digitar o comando que executa o kompozer, que é o nome do programa mesmo seguido do nome do arquivo, daí é só fazer as alterações que quiser e salvar, pronto.

Bom, a parte do cache e das ACLs padrão não irei comentar, depois de muito pesquisar cheguei nisso que está no arquivo, que é uma coisa um quanto tanto padrão, mas enfim, seria interessante você dar uma olhada na parte do cache, para mim, de acordo com minhas intenções, até que não tem uma importância assim primordial.

Então chegamos aqui:

acl palavrasproibidas dstdom_regex "/etc/squid/bloqueadas"
http_access deny palavrasproibidas

Aqui é a parte mais interessante para mim, criamos uma ACL chamada "palavrasproibidas", estas palavras se encontram dentro do arquivo bloqueadas, então criaremos este arquivo:

# pico

No editor faça uma lista, linha por linha, de palavras que se estiverem na barra de endereços e tentar ser acessada, serão bloqueadas pelo Squid, é aqui que coloquei orkut, torrent, isohunt, mininova etc.

Salve o arquivo com o comando CTRL+O, o pico pedirá o nome do arquivo, dê o nome bloqueadas e então feche o arquivo, CTRL+X.

acl redelocal src 192.168.1.0/24
http_access allow localhost
http_access allow redelocal

Agora nesta parte onde tem a faixa de IP 192.168.1.0 você coloca a da sua rede, o 24 é a netmask, 24 corresponde a 255.255.255.0.

Depois de feitas as suas alterações, salvas e tudo o mais, temos que reiniciar o Squid, faça o seguinte comando:

# /etc/init.d/squid restart

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação e configuração do Squid
   3. Testando e descobrindo o fake Squid
   4. Script para bloquear/desbloquear orkut e acesso em qualquer PC da rede
Outros artigos deste autor

Usando G4U, ProFTP e DHCP para clonar partições pela rede

Ubuntu no Samsung Chromebook com processador ARM

Leitura recomendada

Corrigindo a falha "WARNING! Your cache is running out of filedescriptors" - Squid2.7STABLE9 Slackware 12

Destrinchando a compilação do Squid

Servidor proxy (Squid)

Squid3 com bloqueio HTTPS [que realmente funciona] - Versão 3.5.22

DansGuardian versões 2.9.3.0 e superiores em Debian 5.01

  
Comentários
[1] Comentário enviado por neuroprodigy em 25/02/2010 - 15:45h

Um artigo simples, mas de forma comentada e sendo um case prático que supriu a necessidade. Legal !

[2] Comentário enviado por QUESTLODER em 10/03/2010 - 11:14h

Caro pherde,

Show de bola....o artigo...

[3] Comentário enviado por fabinho_sp83 em 20/04/2012 - 13:52h

Só me surgiu uma dúvida.
Caso eu escolha colocar duas placas de rede no meu server o que eu preciso mudar? Porque aqui na escola que trabalhos os alunos fuçam em tudo e descobririam logo como mudar o proxy no navegador.

Valew


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts