Para a instalação do Squid usaremos o terminal como super-usuário. Podemos fazer isso de diversas maneiras: usando o comando sudo antes de qualquer comando no terminal, usando o comando sudo su para usar o terminal o tempo todo como super-usuário ou ativando o usuário root com o comando sudo passwd root e logar-se como root no terminal. Como não é seguro manter o usuário root ativado, usaremos o comando sudo su para usar poderes de administrador no terminal. Para ter certeza se está logado como superusuário, observe o símbolo no terminal, se for um sustenido (#) está como super-usuário, se for um cifrão ($) está como usuário comum, sem poderes de administrador.
A instalação do Squid é feita com o seguinte comando no terminal:
#apt-get install Squid
Esse comando fará o download e a instalação do serviço Squid.
Os comandos mais usados na manipulação do Squid são:
#service Squid start
Inicia o serviço do Squid.
#service Squid stop
Para o serviço do Squid.
#service Squid restart
Reinicia o serviço do Squid.
#service Squid reload
Recarrega o serviço do Squid sem para a execução.
Após a instalação do Squid, faremos a configuração do arquivo squid.conf que fica localizado na pasta /etc/Squid.
Para isso podemos abrir um editor de texto pelo terminal, que pode ser o gedit (um editor gráfico), o vi, o emacs ou o nano (são editores de linha de comando).
Antes de alterar o arquivo principal, faremos um backup do arquivo original, pois se algo der errado, voltamos o arquivo original.
#mv /etc/Squid/squid.conf /etc/Squid/squid.conf.old
O comando acima renomeia o arquivo principal para squid.conf.old.
Agora vamos editar o arquivo principal propriamente dito:
#gedit /etc/Squid/squid.conf
Ao abrir o arquivo, ele não irá conter nada, podemos fazer uma configuração básica apenas para encaminhamento de requisições, o que na prática não traz nenhum benefício. E podemos fazer uma configuração mais completa, como o exemplo abaixo:
Após colocar as informações no Squid, é necessário reiniciá-lo para que as configurações tenham efeito:
#service squid restart
Porém, nesse momento o Squid ainda não estará funcionando, pois o firewall não está configurado para encaminhar as requisições da porta 80 (porta de internet) para a porta 3128 do Squid. Vamos então configurar as regras do firewall de maneira que ele encaminhe as requisições. O Iptables é um firewall complexo, que possui diversas opções de segurança para bloqueio e liberação de portas entre outras opções, no entanto, iremos ver apenas as funções básicas de encaminhamento de pacotes.
O script abaixo possui configurações de rede e informações para o encaminhamento de pacotes, assim como a ativação de módulos usados pelo Iptables.
No script usaremos a variável $rede_interna para que, caso o endereço da rede mudar, possamos alterar apenas o endereço que a variável recebe e não todas as opções do firewall.
Em computadores com mais de uma placa de rede é importante usar o endereço da placa da rede interna e não a placa de rede conectada à internet.
No começo do script repare que são usadas regras para “limpar” o firewall, apagando as regras antigas do iptables. Isso faz com que o firewall funcione corretamente a cada inicialização sem ter interferência de regras anteriores que foram executadas.
O Comando ECHO, assim como no msdos é usado para apresentar mensagens. Neste caso as mensagens são encaminhadas para arquivos, isso ocorre porque está sendo usado o símbolo de maior (>) que é o símbolo de encaminhamento de shell script.
A linha abaixo contém as informações necessárias para encaminhamento das requisições da rede interna para o proxy.
O item Iptables é o comando das regras do firewall.
A opção –I permite que passemos parâmetros de PREROUTING (recebimento) ou POSTROUTING (Envio).
A opção –t permite que eu escolha o tipo de encaminhamento a ser usado. Nesta opção usaremos Nat que é o tipo de encaminhamento mais comum, pois é transparente para o usuário final.
A opção –p permite a escolha do protocolo que o encaminhamento irá usar. O tipo de protocolo mais usado é o tcp. Em alguns casos, como nos bloqueios de “ping mortal”, é passada como parâmetro a opção icmp.
A opção –s permite que passemos o endereço ip da rede. Neste caso usaremos a variável $rede_interna, que recebeu o endereço ip no começo do script. O endereço ip passado pode ser com a máscara de rede completa (192.168.70.0/255.255.255.0) ou em forma de notação (192.168.70.0/24).
A opção –dport indica em qual porta é recebida a solicitação. Neste caso, a porta 80, que é a de solicitação da internet.
A opção –j indica a ação a ser executada> Neste caso, REDIRECT para redirecionar o tráfego da rede.
A opção –to-port indica para qual porta as solicitações serão encaminhadas. Neste caso para a porta 3128, do firewall.
Após o arquivo estar configurado com as opções corretas da rede, devemos salvá-lo na pasta /etc/init.d com o nome firewall.sh
Para que ele seja executado a cada inicialização do sistema sem que seja necessário fazer isso manualmente, após salvar os arquivos, utilizamos o seguinte comando:
Esse comando coloca qualquer script que estiver salvo na pasta /etc/init.d na inicialização do sistema, basta trocar o nome firewall.sh pelo nome do script desejado.
Após essa configuração, basta reiniciar o computador e o Proxy estará funcionando corretamente.
Caso ainda não possua um servidor DHCP na rede, basta colocar um ip fixo nas máquinas da rede, colocando como gateway padrão o ip do servidor Proxy.
Esse foi mais um post do Blog do Curso de Hardware Microcamp.
Faça um curso completo na melhor escola do Brasil >> microcamp.com.br
