A configuração do servidor é muito simples, mas precisamos prestar atenção nos passos a serem realizados para que possamos ter um servidor configurado e rodando de modo a cumprir com o seu objetivo, que é administrar o tráfego de conteúdo na internet.
1° passo:
Instalar o
Squid. Para isso basta estarmos no shell como root e digitarmos o seguinte comando:
# apt-get install squid
E esperar até que ele termine de baixar e instalar o pacote.
2° passo:
Agora vem a parte mais crucial, que é a edição do arquivo que nos garantirá todo o controle entre as máquinas clientes e o mundo externo. Este arquivo é o
/etc/squid/squid.conf. Estando no shell como root digite:
# vim /etc/squid/squid.conf
O vim abrirá o arquivo e você notará que é uma arquivo gigantesco, de mais de 3.000 linhas, mas não se assuste, pois a maior parte dessas linhas são comentários. Ele parece mais um manual do que um arquivo de configuração... rsrsrs
As linhas que devem ser editadas ou criadas são as seguintes:
http_port 3128
Quando você conseguir encontrar essa linha ela pode estar comentada com um "#" antes dela, então você deve removê-lo. Esta linha indica ao Squid em que porta ele ficará escutando as requisições de tráfego. Na internet a mais comum é a porta 3128.
cache_dir
Esta linha pode estar comentada ou nem existir. Se tiver comentada, basta remover, se não existir, basta criá-la e complementá-la da seguinte forma:
cache_dir ufs /var/spool/squid 100 16 256
Esta configuração serve para que o servidor reserve um espaço em disco para armazenar as páginas mais navegadas pelos clientes, fazendo com que o acesso às mesmas seja mais rápido e que o servidor só as atualize se realmente houver essa necessidade, diminuindo, assim, o tráfego na internet. O 100 diz que será reservado 100 MB em disco, o 16 que poderá haver 16 diretórios e o 256 indica o número máximo aceito de arquivos por diretório.
cache_mem
Aqui será especificado o tamanho de memória RAM que o servidor disponibilizará para realizar as consultas. Essa linha deve ficar assim:
cache_mem 8 MB
Geralmente 8 MB de memória.
visible_hostname
Esta linha serve para informar qual servidor bloqueou o acesso a um site, exemplo: a máquina 192.168.10.104 tentou acessar o Orkut e não conseguiu devido ao proxy ter barrado essa solicitação, então ao navegador do cliente é informado o servidor que barrou, para que ele não pense que foi um erro do computador. Essa linha deve ficar assim:
visible_hostname lab1-pc01
No caso meu servidor se chama: lab1-pc01.
Atenção: Geralmente as linhas a seguir devem ser criadas por você, se elas já existirem, comente-as e faça com que a suas sejam as válidas no arquivo. Para comentar uma linha basta adicionar um "#" na linha que desejar que seja um comentário.
acl máquinas src 192.168.10.0/24
Com esta linha estamos criando uma ACL de nome "máquinas", onde esta define que "máquinas" é um grupo de máquinas que vão do intervalo de 192.168.10.0 até 192.168.10.244.
acl proibir url_regex "/etc/squid/proibidos/sites_proibidos"
Com esta linha estamos criando uma ACL de bloqueio chamado "proibir", que posteriormente será aplicada ao grupo "máquinas". Note que o comando
url_regex está fazendo referência a um arquivo chamado
sites_proibidos, onde este arquivo contém os endereços que devem ser bloqueados. Mais adiante vou ensinar como este arquivo deve ser criado. Também ensinarei como colocar esse arquivo em outra máquina que não seja a que tenha o servidor Squid instalado.
http_access deny máquinas proibir
Esta linha está aplicando a ACL de bloqueio chamada "proibir" à acl "máquinas", bloqueando assim, este grupo de máquinas.
acl lab1 src 192.168.10.0/24
Agora que definimos o que não pode acessar, precisamos por último definir o que pode ser acessado, senão não irá acessar nada, hehehe. Para isso estou criando uma ACL que tem a mesma faixa de IP da ACL "máquinas", porém eu preciso especificar um nome diferente, pois as ACLs nunca podem ter o mesmo nome.
http_access allow lab1
Por fim estou liberando a ACL "lab1" para acessar qualquer conteúdo (site) que não seja os que estão dentro do arquivo de bloqueio.
3° passo:
Este passo é o mais simples: salvar o arquivo! ;-)