Antes de mais nada quero deixar claro que a intenção aqui não é mostrar a instalação ou configuração total do
Squid ou do
Dansguardian, tratarei de parte de suas configurações, ou seja, fazer com que as políticas de
Delay Pools sejam implementadas tendo nesse cenário o Dansguardian como filtro de conteúdo.
Partirei do pressuposto que o destinatário deste tutorial já tem instalado o Squid e Dansguardian, e claro, tem domínio básico sobre eles, seja em sua instalação, seja em sua configuração.
Cenário:
- Distro: Ubuntu 8.04 Server Linux
- Iptables 1.3.8
- Squid 2.6.STABLE18
- Dansguardian 2.8.0.6
Nesse cenário o Squid está funcionando como Proxy Cache e o Dansguardian como filtro de conteúdo. O Iptables faz simplesmente o redirecionamento de portas.
Problematização
O uso de Delay Pools no Squid é bem simples e com bastante material na internet, inclusive excelentes materiais aqui no VIVA O LINUX, como dito antes essa não será nossa abordagem. Da mesma forma com o Dansguardian. O iptables não merece comentários nesta dica, pelo simples fato que como dito antes, parto do pressuposto que o IPTABLES/SQUID/DANSGUARDIAN estejam em funcionamento e sendo a tarefa do iptables, apenas e tão somente a de redirecionamento.
Pois bem, eis que com esse cenário em funcionamento surge um problema. Como nós sabemos, todas as requisições recebidas pelo iptables na porta 80 serão redirecionadas para porta do Dansguardian (não mencionarei porta aqui, pois cada administrador coloca a que mais lhe convém, particularmente uso a porta 9xxx), em seguida e tendo feito os filtros pré-definidos, o Dansguardian encaminha para o Squid tudo aquilo que não foi por ele negado.
Até aí sem nenhuma novidade. Porém, quando o Dansguardian encaminha os pacotes para o Squid, eles vão sem o SOURCE, ou seja, no log do Squid só estará como source LOCALHOST e/ou LOCALDOMAIN, ou seja, não existe a origem da requisição. Dessa forma as DELAY POOLS não funcionam, ora, como o Squid vai fazer algo se não existe "autor", origem, IP!?
Solução
Bem, agora vamos a parte que realmente nos interessa, como dito antes, serei objetivo.
1. NO SQUID:
No Squid acrescentaremos as seguintes linhas ao seu arquivo
squid.conf:
acl (nome) src 127.0.0.1
follow_x_forwarded_for allow (nome)
2. NO DANSGUARDIAN:
No Dansguardian descementaremos ou mudaremos a seguinte linha no arquivo
dansguardian.conf:
forwardedfor = on
Pronto!
Eis que seu Squid agora sabendo a origem(IP) poderá aplicar as políticas Delay Pools.
Obs.: Isso servirá também para a aplicação do mecanismo de controle de tamanho de arquivos feito pelo:
reply_body_max_size
Pois sem feito isso o reply_body_max_size terá aplicação para todos.
Olá,
Cara, eu sei que já faz tempo que você fez esse tutorial.
Mas to passando aqui só pra te agradecer!!!
Esses dias precisei instalar o Dansguardian e passei umas 2 semanas fritando os miolos, a principio pensei que era problema na logica do meu conf do squid, porque ele não respeitava regras com ips, mais tarde reparei que era alguma coisa com a localhost, mais ainda sim não entendia tecnicamente o que era.
E ai com o seu tuto eu entendi tudoo, e agora tudo voltou a funcionar como antes + o Dansguardian.
Salvou minha vida kkkk, :)
Um grande abraço e mais uma vez obrigado!!