Há pouco tempo eu resolvi entrar no mundo Linux e minha maior dificuldade era entender o que o pessoal falava. Neste artigo vou explicar como montar um servidor
Squid passo a passo, explicando cada etapa. Estou usando Debian Netinst, disponível para download no
site oficial do Debian.
Desculpem, mas não será possível divulgar o material bibliográfico, pois ao longo da pesquisa este referencial não foi salvo. Mas uma coisa é certa, o pessoal do VOL está sempre disposto a ajudar, 80% do aprendizado foi pesquisando no
www.vivaolinux.com.br e
google.com/linux.
Squid Web Proxy Cache
Squid é um proxy, o mesmo tem como principal utilidade filtrar e definir regras para o acesso a web. Uma grande vantagem de usar o Squid é a sua função cache, a mesma guarda no cache os sites acessados, e quando o acesso a um site presente no cache é solicitado, automaticamente é retornado ao usuário o site do cache. Sendo assim uma parte da banda é liberado. Tem dois tipos de cache, na memória principal e na secundaria. Com base na explicação passada recomenda-se um computador com HD de rápido acesso e uma quantia considerável de memória RAM.
Obs: Neste artigo será necessário acesso a internet para instalação dos pacotes.
Instalando o Squid
O apt é um comando de instalação remoção e modificação de programas, muito simples de usar.
Obs.: Sempre que o "#" estiver a frente de um comando, isto significa que tem que ser executado como root.
# apt-get install squid3
O arquivo de configuração padrão do Squid fica em
/etc/squid/squid.conf, porém como estamos instalando o squid3, o caminho altera para
/etc/squid3/squid.conf.
Vamos editar o squid.conf:
# vi /etc/squid3/squid.conf
Optei por utilizar o arquivo padrão do squid fazendo apenas as alterações necessárias, portanto para chegar ao material abaixo será necessário percorrer o squid.conf. Repare que no squid.conf existem as ACLs, como padrão ele já vem com as seguintes ACLs:
acl SSL_ports port 443 #https
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
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 CONNECT method CONNECT
Logo abaixo das ACLs padrões tem um espaço, e ai é o lugar determinado para edição das suas ACLs. As ACLs podem ser entendidas como o link que o Squid faz com as regras. Porém o que dita as regras são as http_access.
Exemplo - você quer criar uma lista de sites a serem bloqueado:
# vi /etc/squid3/sites_bloqueados
No squid.conf teremos a seguinte ACL:
acl block_sites url_regex "/etc/squid3/sites_bloqueados"
Obs: block_sites é o nome da acl, e a mesma está encarregada de trazer para o Squid a lista presente no arquivo sites_bloqueados.
Para autorizar um computador a acessar a internet também é necessário criar uma ACL.
Exemplo:
acl rede src 192.168.0.0/24
acl gerente src 192.168.0.ip_gerente
Mas como dito acima, as regras são ditas pelas http_access. Veja o simples caso de bloquear os sites para rede, mas o gerente tem acesso total.
#O gerente tem acesso total e está no topo
http_access allow gerente
#A partir daqui quem acessar está proibido de acessar os sites da lista block_sites
http_access deny block_sites
#Todo o range de rede declarado pode acessar a internet, exceto os sites bloqueados
http_access allow rede
#Se não se encaixa em nenhuma das alternativas acima, não usa a internet
http_access deny all
Nas http_access a ordem é feita de cima para baixo, sendo que os níveis superiores tem privilégios aos inferiores.
Sempre ao fazer alterações no squid.conf, para não ter que reiniciar o serviço, use o comando "
squid3 -k reconfigure" para colocar em prática as alterações feitas.
Agora ao tentar acessar a internet ainda não estará funcionando, pois o Squid configurado acima não está em modo transparente. É necessário configurar no browser os parâmetros do proxy.
Ex.: Firefox > Ferramentas > Avançado > Rede > Configurar > Coloque o IP do servidor e a porta do Squid, que por padrão é 3128 (pode-se alterar).
Para que o seu servidor proxy esteja completo é preciso configurar a rede e compartilhar a internet. Não entraremos em detalhes, mas um material muito bom é:
E o arquivo de configuração da rede é
/etc/network/interfaces.
Exemplo de interfaces:
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
network 192.168.0.0
broadcast 192.168.0.255
auto eth1
iface eth1 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
network 192.168.1.0
broadcast 192.168.1.255
Dica: coloque cada placa em um range.
Mais detalhes em: