Este artigo tem por objetivo ensinar como configurar um servidor Squid com configurações mínimas para seu funcionamento adequado. Para isso temos que aprender o que é um servidor proxy Squid e como ele funciona para depois podermos configurá-lo.
Este tópico só deve ser seguido se você desejar que o arquivo fique em outro servidor (pode ser um computador comum da rede).
Nesta parte precisaremos entender de NFS, que serve para compartilharmos arquivos pela rede. Já existe um tutorial de minha autoria que ensina como instalar e configurar um, bem como seus conceitos. Como aqui o foco é configurar servidor proxy Squid, vou levar em conta que já foi configurado e instalado o NFS, tanto na máquina que estará servindo o arquivo como na que deseja ter o arquivo, que é a máquina que tem o Squid instalado.
1° passo:
Criar o arquivo em uma máquina que não seja o servidor. Para isso escolha um diretório onde deseja que o arquivo fique. No caso do tutorial, coloquei o arquivo sites_proibidos em uma máquina de IP 192.168.10.102 no diretório /home/aluno1/proibidos/ e configurei para exportar da seguinte forma:
Estando no shell como root, entre no diretório /etc e edite o arquivo exports com o vim. No final do arquivo basta acrescentar a seguinte linha:
/home/aluno1/proibir *(rw,sync,no_root_squash)
Esta linha está exportando todo o conteúdo do diretório home/aluno1/proibir, onde este conteúdo é o nosso arquivo sites_proibidos, que deve estar lá dentro. Salve o arquivo.
2° passo:
Vá ao servidor que está instalado o Squid e edite o arquivo fstab encontrado no diretório /etc, adicionando o seguinte conteúdo:
Não deve haver "enter", isso tudo é uma linha única. Essa linha está dizendo que meu servidor vai solicitar o arquivo sites_proibidos, que está em outro computador, que é o 192.168.10.102 no diretório /home/aluno1/proibir e que deve ser montado no servidor no diretório /etc/squid/proibidos, que se você notar, é o diretório onde especificamos que haveria o arquivo em uma de nossas ACLs.
5 - Finalização
Após todas essas configurações, reinicie o servidor para que entre em vigor as nossas configurações.
Agora, para que os clientes necessitem passar pelo proxy Squid, antes de navegar na internet bastar ir ao navegador que você utiliza e localizar o local que se informa o proxy.
Neste local basta colocar o IP da segunda placa do servidor, no caso deste tutorial ele tem duas: uma que conecta à internet e outra que transmite o sinal. Essa que transmite o sinal é a que deve ser informada, seguida da porta, no caso ficará assim:
proxy: 192.168.10.170
porta: 3128
Feitas todas essas configurações, é certo que na sua empresa ou instituição haverá um controle do tráfego das máquinas ao mundo externo, e com isso evitará transtornos como vírus, pornografia, downloads que consomem a banda da internet deixando-a lenta etc.
No mais, qualquer dúvida, é só pesquisar no Google ou me enviar um e-mail, hehehe.
[1] Comentário enviado por lucasguara em 03/09/2009 - 16:22h
Olá parabéns pelo artigo estou com uma duvida talvez vc pode me ajudar to querendo instalar o squid e configurar aqui na minha rede tenho duas placas e rede na minha maquina a internet chega na eth1 e a rede interna e eth0 como faço para direcionar a internet pra eth0 rede interna ? e através de rota ou iptables estou começando agora
[3] Comentário enviado por nox6000 em 03/09/2009 - 23:30h
Ola Lucassquara.
Olha como o amigo nunesdutra falou é simples vc compartilhar a internet, mas vou lher dar duas dicas que acredito que uma delas sera 100% perfeita para vc.
Primeira Dica:
Se o seu modem for roteado e já realiza a conexão com a internet sozinho
use esse codigo dentro do arquivo rc.local que fica no diretorio /etc
# Compartilha a Conexão
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -eth1 -j MASQUERADE # note que eth1 é qual palca de rede esta conectada diretamente ao modem se for a eth0 troque por eth0 se for eth1 deixe eth1 lembrando que isso é para quando seu modem é roteado (Conecta sozinho).
# Abre para a rede local:
iptables -A INPUT -p tcp --syn -s 192.168.10.0/255.255.255.0 -j ACCEPT
# Fecha o resto da rede:
iptables -A INPUT -p tcp --syn -j DROP
exit 0
Feito isso basta salvar o arquivo. Então vc terar sua placa eth1 recebendo a internet do modem e liberando para a rede atraves da eth0.
Segunda Dica:
Caso seu modem não seja roteado siga um artigo da minha autoria que explica como fazer a confgiração de um discador PPPoE e compartilhar a internet
ATENÇÃO: Neste artigo a unica diferença é que eu não uso eth1 pra receber a internet do modem e liberar por eth0 e sim o inverso eth0 para eth1 e na hora de adicionar os comandos que fazem o compartilhamento eu não coloco nem eth0 nem eth1 e sim ppp0.
arquivo: rc.local que fica no diretorio /etc
# Compartilha a Conexão
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -ppp0 -j MASQUERADE # note que agora eu utilisei ppp0, pois minha conexão é feita via ppp0.
# Abre para a rede local:
iptables -A INPUT -p tcp --syn -s 192.168.10.0/255.255.255.0 -j ACCEPT
# Fecha o resto da rede:
iptables -A INPUT -p tcp --syn -j DROP
[8] Comentário enviado por HelderC em 05/09/2009 - 00:43h
Pessoal, adorei o artigo, mas tenho duas dúvidas..
1- Para redirecionar a rede interna (eth0) da porta 80 para a porta 3128 (porta do squid) como faço?
2- Redirecionando para a porta 3128, todo acesso a sites passa pelo squid certo?
[9] Comentário enviado por removido em 08/09/2009 - 01:50h
Esse artigo mostra o squid e a configuração do mesmo de um forma simples e objetiva, muito bom. Parabéns nox6000.
@HelderC
Acho que a regra abaixo vai te ajudar, ela redireciona todo o tráfego gerado em eth0 com destino a porta 80 e manda para a porta 3128, que é a porta do squid. Não esquecendo antes de dar o comando modprobe iptable_nat.
[11] Comentário enviado por s.r.e.lan house em 23/10/2009 - 13:35h
Muito bom seu artigo estou tentando configurar o squid através dele só que estou esbarrando no terceiro tópico, não consigo salvar o arquivo bloqueio na pasta squid como você fez no artigo.
[12] Comentário enviado por nox6000 em 23/10/2009 - 13:50h
Ola s.r.e.lan house,
Para instalar configurar e etidar os arquivos de configuraçõs vc deve sempre
estar como super usuário "root" do contrario já mais conseguira editar e salvar
sempre surgira a mensagem dizendo que vc não tem permissão para tal.
[14] Comentário enviado por May_gyn em 07/04/2010 - 10:36h
Ola,
tentei utilizar esse código e não deu certo, minha máquina esta comunicando com o servidor do proxy, mas não esta tendo acesso a internet, porem meu servidor esta comunicando com a internet. Minha porta de entrada é a eth0 e de saida a eth1. O squid já esta configurado e mesmo desabilitando a passagem pelo proxy nao comunica com a internet...
Alguém poderia me ajudar...
[15] Comentário enviado por marcos.ths em 17/01/2011 - 22:13h
caro amigo, otimo o artigo... mas estou com um problema. qndo vejo o diretorio /etc/squid ele esta vazio ... não arquivo nenhum nem mesmo o squid.conf .
estou usando uma maquina virtual (VMWare Player) 512 mb de memoria e 20 gb de espaço ... ubuntu 10 ..
estou instalando o squid normamente não esta dando nehum erro.
[19] Comentário enviado por hepta em 18/07/2013 - 18:40h
[15] Comentário enviado por marcos.ths em 17/01/2011 - 22:13h:
caro amigo, otimo o artigo... mas estou com um problema. qndo vejo o diretorio /etc/squid ele esta vazio ... não arquivo nenhum nem mesmo o squid.conf .
estou usando uma maquina virtual (VMWare Player) 512 mb de memoria e 20 gb de espaço ... ubuntu 10 ..
estou instalando o squid normamente não esta dando nehum erro.
se puder me ajudar fico grato.
obrigado
alguma razão em particular para estares a usar a versão 10?
[20] Comentário enviado por soluz em 06/08/2013 - 09:56h
Pessoal,
Preciso de ajuda sobre autenticar o Squid através da base LDAP do Windows Server 2012. Simplesmente não tenho sucesso ao tentar fazer o Squid autenticar através dos grupos do AD.
[22] Comentário enviado por DellOver em 07/08/2016 - 20:49h
nox6000 no caso que vc falou que vai direcionar a conexão de um eth para o outro, esse que vai receber a conexão tem que estar conectado a um switch ou pode ser outro roteador? Estou tentando fazer um rede com oque tenho em mãos no momento e encontro está dificuldade, qualquer ajuda é bem vinda!!!