Quando se tem na rede um Mikrotik e precisa-se fazer controle do que os usuários acessam, existem algumas formas, uma delas é o proxy em paralelo com o Mikrotik e a outra o proxy em uma bridge no meio do caminho. Nesse artigo demonstro como configurar o Squid em bridge, assim como a aplicação dos patches necessários.
Agora vamos fazer alguns ajustes no diretório do iptables, primeiramente vamos fazer uma cópia de segurança do diretório "linux", que se encontra dentro da pasta iptables, mas antes, como fizemos com o kernel, vamos criar um link simbólico do diretório do iptables:
# ln -s /usr/src/iptables-1.3.6.0debian1 /usr/src/iptables
# cd /usr/src/iptables
# mv linux linux-default
# mkdir linux
# for x in COPYING Makefile include net;do cp -va ../linux-2.6-2.6.18.dfsg.1/$x linux/$x;done
Agora vamos entrar no diretório iptables, aplicar o patch e compilar o pacote. Note que existe dentro do diretório iptables um subdiretório iptables.
# cd iptables
# patch -p1 < ../../cttproxy-2.6.18-2.0.6/iptables/iptables-1.3-cttproxy.diff
# chmod +x extensions/.tproxy-test
# dpkg-buildpackage -rfakeroot -us -uc -b
# cd /usr/src/
# cd ..
[1] Comentário enviado por lopan em 12/07/2009 - 08:57h
Leandro, essa solução de TProxy é velha e complexa!
O Kernel do Linux já tem suporte nativo ao TProxy, sem a necessidade de Patch (versões >= 2.6.28).
O TProxy também evoluiu para a versão 4.1, a versão do Squid 3.1 já conta com isso e a configuração é extremamente simples, como pode ser visto no link: http://wiki.squid-cache.org/Features/Tproxy4
[2] Comentário enviado por leandromoreirati em 13/07/2009 - 15:06h
lopan,
Me desculpa pelo artigo então, ja o escrevi a um ano e meio e so publiquei pois nas listas que frequento tenho percebido que muitas pessoas pedem documentação sobre o tproxy, a proposito quem usa a versão estable do debian (kernel 2.6.26) não tem esse modulo embracado no kernel, portando e uma escolha que a pessoa tera de fazer, ou aplica o patch e recompila o kernel, ou usa o kernel nao disponível, mas sua observação é valida pois nao consegui aplicar de forma alguma o tproxy no squid3, vou olhar o seu link e testar a versção 3.1, obrigado pela dica.
[3] Comentário enviado por josefilhobr em 14/08/2009 - 10:17h
Precisei da solução neste momento e tentei a configuração a partir da versão mais nova disponível no site do SQUID enviada por lopan. Até agora não obtive sucesso. O IP SPOOFING está acontecendo, porém não está fazendo cache, nem o access.log é gravado.
As permissões dos arquivos estão ok e a configuração dos parâmetros do access_log no squid.conf está direcionada também ok, bem como o diretório do cache.
[4] Comentário enviado por Rafaelmcosta em 26/08/2009 - 00:49h
LEandro,
muito bom artigo,
uma dúvida...vc nao usou tcp_outgoing_address?
Como ficou a saída dos endereços dos clientes? Estão saindo independentes, ou seja, sai cada um com seu IP e nao com o do proxy, evitando problemas com Rapidshare e afins.
[5] Comentário enviado por leandromoreirati em 26/08/2009 - 11:31h
Ramc,
Nao usei o tcp_outgoin, na verdade eles saem com o ip do gateway da rede, pois o gateway-tproxy, fica entre a rede o gateway da rede. Com relaçao ao rapidshare e afins, os problemas que tem e os problemas corriqueiros de multiplos acessos de um mesmo IP, creio eu pois os meus clientes pedem o bloqueio de acesso a esses serviços. Com relacao a saida, fica listado o ip de origem. Pra evitar problemas, eu restinjo acesso a porta 3128 a apenas a minha(s) rede (s) interna(s).
Qualquer duvida estou a disposiçao.
[7] Comentário enviado por modesto916 em 28/04/2010 - 17:15h
Cara, otima atitude de postar sobre o que voce ja teve experiencia, mas sinceramente, na minha opinião, o TPROXY no linux continua uma gambiarra, uso essa solução com FreeBSD, nas versões do FreeBSD inferiores à 8.0, é necessario aplicar um patch e recompilar o kernel, mesmo assim, é muito simples, agora ja no 8.0 ja tem o suporte nativo e 100% funcional.
[8] Comentário enviado por leandromoreirati em 29/04/2010 - 10:43h
Modesto,
No linux no kernel acima de 2.6.28 ele também é nativo, mas infelizmente ainda nao pude testar por falta de tempo, acredido que seja necessário apenas complila-lo sem a necessidade de aplicar o patch.