Anda di halaman 1dari 4

Servidor Proxy Tutorial SQUID

Publicado em 08/03/2011 por Daniel Oliveira

O Squid um servidor proxy que suporta HTTP, HTTPS, FTP e outros. Ele reduz a utilizao da conexo e melhora os tempos de resposta fazendo cache de requisies freqentes de pginas web numa rede de computadores. Ele pode tambm ser usado como um proxy reverso. Wikipdia Para este tutorial est sendo usado uma pequena rede, contendo: Modem ADSL (10.1.1.1) Servidor no qual ser instalado o SQUID (com duas placas de rede) Switch 8 portas Mquinas na Rede Local (192.168.0.x) Entendendo o processo: A conexo de Internet chega pela modem e entra na placa de rede eth0(10.1.1.2) do Servidor SQUID (aqui o squid faz seu papel de filtro) e manda a conexo adianta pela placa de rede eth1(192.168.0.1) para a rede local. Para instalar o SQUID no Ubuntu ou algum deb-like: sudo apt-get install squid3 Para instalar o SQUID em outras distribuies voc pode baixa-lo em : http://www.squid-cache.org Depois de instalar o SQUID, para verificar se ele est rodando voc pode fazer um: ps -ax | grep -i squid Voc deve ter um retorno de algo parecido com: 15190 ? Ss 0:00 Squid -D A porta padro do SQUID TCP:3128 > mas voc pode alterar essa porta. Vamos aqui fazer uma pausa na configurao do servidor e adicionar o proxy numa estao. V at uma estao de trabalho local e abra o navegador. Exemplo firefox: V em Editar > Preferncias | Abra a guia Avanado e v na aba Rede agora clique em Configurar Conexo.

Agora tente neste mquina acessar o site do Google:

Voc deve ter esbarrado numa pgina como essa da imagem acima. Isso normal por enquanto. Vamos agora modificar o conf do squid que est presente em: /etc/squid3/squid.conf Para alterar a porta que o SQUID est usando procure por: http_port 3128 Caso queira alterar essa porta somente mude o numero para a porta que deseja usar! Recomendo que deixa a porta padro. Agora na conf do SQUID encontre essas linhas: 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 aps elas adicione:

acl redelocal src 192.168.0.0/24 Na regra acima no esquece de adicionar a faixa de IP certa. Agora ache as linhas: # And finally deny all other access to this proxy http_access deny all Vamos adicionar ANTES delas uma regra permitindo acesso nossa acl redelocal: http_access allow redelocal Salve o arquivo! E agora vamos fazer o SQUID ler novamente essa conf com: sudo squid -k reconfigure Agora volte estao de trabalho onde voc configurou o proxy manualmente e tente acessar o site do Google, agora voc conseguiu n? [Caso no tenha conseguido verifique os passos at aqui] Caso queira acompanhar o LOG do SQUID no servidor faa: sudo tail -f /var/log/squid3/access.log Logs de proxy acabam por consumir enorme quantidade de espao, o ideal que voc tenha uma partio separada no seu Linux para salvar os LOGs. Vamos agora deixar o nosso proxy transparente (para no ter que adicionar o proxy manualmente em cada mquina). Primeiro vamos habilitar o forwarding com [no terminal]: echo 1 > /proc/sys/net/ipv4/ip_forward E agora vamos adicionar as regras no iptables para redirecionar as requisies da porta 80(http) e 443(https) para passarem pelo SQUID na porta 3128 com [no terminal] : iptables -t nat -A PREROUTING -i eth1 -p tcp dport 80 -j REDIRECT to-port 3128 iptables -t nat -A PREROUTING -i eth1 -p tcp dport 443 -j REDIRECT toport 3128 Agora edite novamente a squid.conf alterando a linha http_port 3128 para:

http_port 3128 transparent As regras de ip_forwarding e iptables vo perder o efeito com um reboot, portanto adicione esses comando ao /etc/rc.local Notas: Este um tutorial bsico do SQUID, ele muito mais poderoso do que exploramos aqui! Percorra o arquivo de configurao e v descobrindo as possibilidades do SQUID, ele muito bem documentado e a melhor maneira de ir aprendendo com a mo na massa. Uma parte no explorada aqui so as ACLs para controlar quem acessa o que na sua rede, assim que possvel escrevo sobre como usar esse recurso.