Tabela de Conteúdos
Página desactualizada Esta página contém uma versão anterior deste guia que pode estar desatualizada. Para a consultar a versão mais recente clique aqui.
3.3.1 Cache web: Squid
Objectivo
O pacote squid é um proxy Internet com uma cache integrada. A vantagem de uma cache internet é a de guardar localmente dados pedidos anteriormente para, numa utilização futura, serem servidos localmente, evitando acessos repetidos a servidores distantes.
Instalação
server:~# apt-get install squid
Configuração
A configuração do squid é guardada no ficheiro /etc/squid/squid.conf.
O squid aceita ligações na porta 3128, por omissão. No entanto esta pode ser alterada:
#[...] # Squid normally listens to port 3128 http_port 3128 #[...]
Por segurança o squid só responderá a pedidos originados na rede local ou no próprio servidor. Esta restrição é conseguida definindo uma lista de controlo de acesso ou ACL (Access Control List) (acl home.lan src 192.168.1.0/24) e autorizando o acesso aos sistemas incluídos nessa lista (http_access allow home.lan):
# [...] # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # Example rule allowing access from your local networks. Adapt # to list your (internal) IP networks from where browsing should # be allowed #acl our_networks src 192.168.1.0/24 192.168.2.0/24 #http_access allow our_networks http_access allow localhost acl home.lan src 192.168.1.0/24 http_access allow home.lan # And finally deny all other access to this proxy http_access deny all # [...]
O tamanho total da cache do squid pode ser afinado para um valor conveniente, como por exemplo, 2048Mb:
# [...] #Default: # cache_dir ufs /var/spool/squid 100 16 256 cache_dir ufs /var/spool/squid 2048 16 256 # [...]
Opcionalmente, pode-se também configurar o tamanho máximo de um objecto a guardar em cache definindo o parâmetro maximum_object_size com um valor em Kbytes:
# [...] # TAG: maximum_object_size (bytes) # Objects larger than this size will NOT be saved on disk. The # value is specified in kilobytes, and the default is 4MB. If # you wish to get a high BYTES hit ratio, you should probably # increase this (one 32 MB object hit counts for 3200 10KB # hits). If you wish to increase speed more than your want to # save bandwidth you should leave this low. # # NOTE: if using the LFUDA replacement policy you should increase # this value to maximize the byte hit rate improvement of LFUDA! # See replacement_policy below for a discussion of this policy. # #Default: # maximum_object_size 4096 KB maximum_object_size 8192 KB # [...]
Reiniciar o serviço squid:
server:~# /etc/init.d/squid restart
Configuração de clientes
É possível configurar o browser Firefox para utilizar um proxy, acedendo ao menu Ferramentas –> Opções… –> Avançadas –> Rede –> Definições…, activar a opção Configuração manual do proxy e inserir o endereço do servidor proxy (192.168.1.100) e a porta (3128). Podem-se definir excepções para o próprio posto (127.0.0.1) e para a rede local (192.168.1.0/24):
No caso de sistemas Linux, é possível declarar a variável “http_proxy” com a URL do proxy a utilizar:
fribeiro@server:~$ export http_proxy="http://192.168.1.100:3128/"
No entanto, na próxima sessão terá que ser declarada novamente.
Um método mais duradouro é declarar a variável automaticamente a cada login, incluindo a declaração no ficheiro ~/.profile do utilizador:
fribeiro@server:~$echo 'http_proxy="http://192.168.1.100:3128/"' >> ~/.profile
A declaração pode ainda ser feita de modo automático e para todos os utilizadores, se incluída no ficheiro de sistema /etc/profiles:
server:~# echo 'http_proxy="http://192.168.1.100:3128/"' >> /etc/profile
Links relacionados
- Wikipedia: Proxy (*http://pt.wikipedia.org/wiki/Proxy)
- Wikipedia: Cache (*http://pt.wikipedia.org/wiki/Cache)
- Squid Web Proxy Cache (*http://www.squid-cache.org/)