Anonymous escrever O proxy/cache squid, tem a função de controlar o acesso à Internet e Cache de páginas para acelerar a conexão.
O controle de acesso pode ser feito através de ip's, nomes de sites, palavras contidas na url, endereço físico da placa de rede (MAC), entre outras.
Squid Proxy/Cache Server
Copyright e Licença Rodrigo Ap. F. Tomazin rodrigo@infobr.com
Este documento pode ser encontrado em http://www.guiadereferencia
Os direitos autorais deste documento estão reservados para Rodrigo Ap. F. Tomazini em 26/08/2003, podendo ser copiado, modificado e distribuído, desde que mantenha este cabeçalho. O Autor não se responsabiliza por danos causados a pessoas que utilizem este documento para instalar seus programas.
Conteúdo
1 - Objetivo
2 - Introdução
3 - Baixando o software
4 - Instalando
5 - Configurando
6 - Utilizando
7 - Observações finais
1 - Objetivo
O proxy/cache squid, tem a função de controlar o acesso à Internet e Cache de páginas para acelerar a conexão.
O controle de acesso pode ser feito através de ip's, nomes de sites, palavras contidas na url, endereço físico da placa de rede (MAC), entre outras.
2 - Introdução
Vamos utilizar para realizar nossa instalação uma máquina executando Linux Slackware 9.0.
Esta máquina será o GateWay de nossa rede, por onde todas as conexões vão passar, podendo assim serem auditadas ou bloqueadas pelo nosso squid.
3 - Baixando o software
Para baixar o squid acesse o site http://www.squid-cache.org, vou utilizar a versão 2.5-STABLE3, que é a mais atual até hoje, dia que estou escrevendo este documento. Fique à vontade para baixar a versão mais nova.
4 - Instalando
Acesse o sistema como root, e descompacte o arquivo em um diretório de sua preferência, eu escolhi o diretório /tmp
cd /tmp
tar jxf /root/squid-2.5-STABLE3.tar.bz2
entre no diretório fonte do programa
cd squid-2.5-STABLE3
Vamos agora configurar, compilar e instalar o programa.
Para configurar, utilizamos o script configure, que está dentro do mesmo diretório, você poderá obter um help com todas as opções executando o comando:
./configure --help
Vamos utilizar a seguinte linha para configurar nosso squid:
./configure --prefix=/usr --sysconfdir=/etc/squid --localstatedir=/var/squid --enable-default-err-language
Explicando a linha de configuração:
--prefix=/usr -> Informa o diretório base, onde será instalado o squid.
--sysconfdir=/etc/squid -> Informa o diretório padrão onde o squid vai procurar pelos arquivos de configuração.
--localstatedir=/var/squid -> Indica o diretório onde serão gravados os logs do squid. O programa de instalação cria um subdiretório logs dentro desta árvore.
Algumas pessoas costumam especificar apenas a opção --prefix, apontando para o diretório /usr/local/squid. Não há nada de errado nisso, nem nada de tão certo na maneira como estamos fazendo, é uma questão de gosto ou organização própria.
--enable-default-err-language
--enable-err-languages=Portugue
--enable-linux-netfilter -> Usado para trabalhar com Linux kernel série 2.4.x com proxy transparente.
--enable-basic-auth-helpers=
Depois deste procedimento precisamos compilar o programa, entao execute:
make
Após terminar a compilação sem erros, vamos instalar o programa
make install
pronto, o squid agora está instalado, precisamos configurá-lo e colocá-lo na inicialização do sistema.
5 - Configurando
Usando seu editor de texto preferido, edite o arquivo squid.conf que está localizado no diretório /etc/squid. Eu aqui estou utilizando o vi, então executei os comandos:
cd /etc/squid
vi squid.conf
Procure pela linha cache_dir, para definirmos o tamanho do cache e também a localização do diretório, e informe a seguinte linha.
cache_dir ufs /var/squid/cache 100 16 256
Isso informa ao squid para usar 100MB de cache no diretório /var/squid/cache, dentro deste, serão criados 16 diretórios raízes e dentro de cada um destes 256 subdiretórios, tudo isso para guardar arquivos acessados na Internet.
Agora vamos definir as acls para liberar o acesso para nossa rede, a rede que estou usando aqui em meu exemplo é: 10.0.0.0/8 (10.0.0.0/255.0.0.0)
Procure pela linha
acl CONNECT method CONNECT
e na linha abaixo inclua a nossa acl
acl intranet src 10.0.0.0/8
Nossa acl já está definida, agora precisamos liberar o acesso dela, procure pela linha
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
e na linha abaixo inclua a liberação para a nossa acl
http_access allow intranet
Você pode querer utilizar seu servidor proxy como transparente, a diferença entre o proxy transparente e o proxy normal, é que no transparente é necessário configurar o navegador para utilizá-lo, e sim é necessário configurar o gateway da rede para fazer este serviço. Se você não quer utilizar seu proxy como transparente, pode pular este procedimento.
Vamos supor que o gateway da rede é a própria máquina que está instalado o Squid, então precisamos habilitar as seguintes configurações no squid.conf
httpd_accel_port 80
httpd_accel_host virtual
httpd_accel_single_host off
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
forwarded_for on
Estas entradas já existem no squid.conf, apenas encontre elas e defina o valor correto.
Salve o arquivo, e saia do editor
Pronto, nosso squid está com sua configuração básica agora. Vamos agora iniciá-lo.
Primeiro precisamos modificar as permissões do diretório /var/squid, para que o programa posso gravar os logs e o cache. O usuário padrão que o squid utiliza é o nobody e também este grupo. Execute os comandos para mudar o proprietário do diretório e dos subdiretórios:
chown -R nobody:nobody /var/squid/
Agora vamos criar os diretórios que serão utilizados para gravação do cache, execute:
squid -z
Pronto, agora é só iniciar o squid
squid -D
Você pode adicionar este comando no seu diretório /etc/rc.d/rc.local para iniciá-lo no boot do sistema automaticamente.
6 - Utilizando
Para testar se o squid está funcionando, abra seu navegador, acesse as configurações de proxy e informe o endereço IP da máquina que tem o squid e a porta 3128, no meu caso
10.0.0.1 porta 3128
Agora é só acessar a Internet, pelo seu proxy.
Se você quiser utilizar o seu servidor proxy como roteador da rede e como proxy transparente, execute os seguintes comandos para ativar o repasse de pacotes e redirecionamento do conteúdo para o proxy:
# As duas linhas abaixo habilitam o servidor trabalhar como roteador de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -d 0/0 -j MASQUERADE
# A linha abaixo habilita o proxy transparente
iptables -t nat -A PREROUTING -s 10.0.0.0/8 -d 0/0 -p TCP --dport 80 -j DNAT --to-destination 127.0.0.1:3128
Se desejar, você pode adicionar estas linhas também no arquivo /etc/rc.d/rc.local, para que as regras sejam carregadas automaticamente no próximo reboot do computador.
7 - Observações finais
Para ver os sites que estão sendo acessados no momento, execute
tail -f /var/squid/logs/access.log
para sair deste comando, pressione CTRL+C.
para encerrar o processo do squid, execute:
kill `cat /var/squid/log/squid.pid`
Pronto, agora nós temos um proxy configurado. A configuração básica está feita, existem outros recusos que também podem ser ativados, como autenticação de acesso, proxy transparente (em conjunto com o iptables). Procure alguma configuração na Internet e boa diversão.
Nenhum comentário:
Postar um comentário