Squid - Configuração Inicial

Vejo em vários fóruns o pessoal encontrando dificuldade de rodar o squid pela 1ª vez! Eu mesmo confesso que quebrei bem a cabeça para rodá-lo transparente. Bom, resolvo postar aqui então, de forma rápida, os primeiros passos para seu Squid funcionar! No caso, o ambiente utilizado é uma distribuição Ubuntu Server. Os comando deverão ser executados como root.
Primeiro, vamos atualizar os pacotes:

apt-get update

Agora, instalar o Squid

apt-get install squid

Durante o download e instalação, será perguntado se deseja realmente instalar o pacote. Confirme sempre que requisitado.
Com o pacote já baixado e instalado, o squid já estará rodando, porém, com suas configurações originais. Então, é necessário editar o seu arquivo de configuração, o squid.conf.

nano /etc/squid/squid.conf

O arquivo que será aberto é bem extenso, pois contém toda a configuração comentada do squid. Para facilitar nossa locomoção pelo documento, o editor de textos nano (que usamos para abrir o squid.conf) nos permite, através da combinação CTRL+W buscar por expressões no documento.
A primeira expressão que iremos procurar é a seguinte:

#http_port 3128

Esta linha define qual a porta que o squid "ouvirá" as requisições. Devemos tirar o # da frente da linha e mudar a porta se assim desejarmos. Configurado dessa forma, deveremos configurar em todos os cliente o ip do servidor proxy com esta porta. Dá um pouco de trabalho, mas se for uma Lan onde você tem fácil acesso às máquinas, vale a pena configurar o Squid para trabalhar dessa forma. Entretanto, se a rede de atuação desse proxy for de proporções maiores, de modo que fique complicado configurar isso em todas as máquinas (como um provedor, por exemplo) vale optar pela configuração transparente, isto é, não será necessário informar a porta do proxy nas máquinas, apenas colocar o IP do servidor proxy como gateway nas mesmas. Bom, para configurar transparente, a linha ficaria assim:

http_port 3128 transparent

Vale lembrar que para que funcione transparente teremos de adicionar algumas regras no iptables, que mais adiante mostrarei. Agora, busque essa linha:

#cache_mem 8 MB

Este parâmetro determina a quantidade de memória RAM que o Squid poderá utilizar. Claro que há de se analisar cada caso, mas recomenda-se em torno de 40% do total da RAM para servidores dedicados (que só rodam o Squid) e 25% do total para servidores que rodam outros softwares. Configure o valor adequado ao seu caso e descomente a linha.
Procure agora este parâmetro:

#cache_dir ufs /var/spool/squid 100 16 256

Aqui é determinado o espaço em disco e a estrutura de pastas e subpastas que o Squid usará para fazer seu cache. O primeiro valor (100) é o valor em Megabytes que será reservado. Se você quiser um cache de 10GB, por exemplo, a linha ficará assim:

cache_dir ufs /var/spool/squid 10240 16 256

Lembrando de descomentar a linha sempre que alterar, certo?
Procure agora pela expressão:

#acl localnet src

A expressão acima determinará a rede que terá acesso ao proxy. No caso, vamos supor que o IP configurado no Ubuntu seja 192.168.0.1 e os clientes que acessarão o proxy tenham IPs 192.168.0.x, então, a linha ficará assim:

#acl localnet src 192.168.0.0/24

Configurada a rede de acesso, temos agora que liberá-la. Procure por:

#http_access allow localnet

Pronto! É só descomentar a linha acima, pressionar F2 para salvar as modificações do arquivo e sair do nano.
No terminal, dê o comando:

/etc/init.d/squid stop (para o squid)
squid -z (refaz a estrutura do cache)
/etc/init.d/squid start (inicia o squid)

O Squid já está rodando, mas não de forma transparente ainda. Para que ele rode de forma transparente, teremos que fazer mais alguns passos que podem ser seguidos detalhados de forma excelente por Ricardo Antônio Duarte no link abaixo:

http://wiki.ubuntu-br.org/RicardoAntonioDuarte/UbuntuComoRouter%2BSquid%2BIptables

Como disse incialmente, a configuração aqui postada é muito, mas muito básica mesmo. O Squid nos permite configurar o tamanho dos objetos cacheados no disco e na memória, a política de substituição desses objetos, a forma de busca a gravação do cache em disco... enfim, uma boa quantidade de parâmetros que com certeza determinarão a performance do seu proxy. Recomendo um excepcional artigo, de Wagner Assis, onde é explanada grande parte dessa configuração mais profunda do squid.conf. Segue o link do artigo:

http://linuxadm.blogspot.com/2008/02/otimizando-o-squid-verso-2008.html

É isso pessoal!
Dúvidas? Comentem abaixo!

Ps. agradecimentos à Wagner Assis e Ricardo Duarte que gentilmente autorizaram as citações aqui feitas. Muito obrigado!

Comentários

Postagens mais visitadas deste blog

Cálculo de Horas Úteis - Excel (horas úteis entre duas datas)

Notebook não desliga completamente

Ajustar horário de verão 2013/2014 no Mikrotik