Você está na página 1de 4

Mikrotik + Squid 3.

0-Stable8 Paralelo(rota esttica) + Thunder Cache + Sarg


Ol Pessoal, Depois de muitas tentativas de fazer funcionar o squid3 em paralelo com mikrotik e ver os relatorios do Sarg de cada cliente da minha rede, fazendo cache full tanto com o thunder cache quanto com a directiva "X-Cache: HIT" do squid. A algum tempo consegui chegar a uma soluo excelente. Acredito que muitos esto tentando buscar algo parecido e para contribuir com o forum onde sempre consegui muitas informaes vou postar minha soluo. Primeiro vamos definir la topologia : 1)Mikrotik 3.15 ether1(clientes) = 172.25.1.100/24 ether2(proxy) = 192.168.2.1/30 ether3(Internet)= 200.200.xxx.xxx 2)Debian 5.0 Lenny eth0 = 192.168.2.2/30 Considerando que o mikrotik esta com a internet a todo vapor, e est Configurado con masquerade la rede de clientes 172.25.0.0/16 e para a rede do Debian192.168.2.0/30. Referencia: Linux: Proxy em paralelo com o mikrotik [Artigo] No debian configure os endereos de IP 192.168.2.2/30, gateway e DNS192.168.2.1. Referencia: How to Assign an IP Address on a Linux Computer - wikiHow No mikrotik, menu ip firewall, marque a rota que vem dos clientes com destino a porta 80 de qualquer endereo: ip firewall mangle chain=prerouting action=mark-routing new-routingmark=proxy-flow dst-port=80 passthrough=no protocol=tcp srcaddress=172.25.0.0/16 No menu ip route crie uma rota redirecionando o fluxo marcado(proxy-flow) e mostrando que o gateway o servidor debian : ip route add routing-mark=proxy-flow gateway=192.168.2.2 Compartilhe a internet no debian tambm: echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE At aqui, a navegacao deve ser testada atraves da interface dos clientes, e deve funcionar normalmente, pois o compartilhamento foi ativado no servidor debian.

Como o proximo passo instalar o squid3 vamos adiantar a regra para o proxy na porta 3128 transparente. iptables -t nat -A PREROUTING -i eth0 -s 172.25.0.0/16 -p tcp --dport 80 -j REDIRECT --to-ports 3128 Vamos instalar o squid3, para isso abra o arquivo do apt sources.list e acrescente um repositorio: deb ftp://ftp.br.debian.org/debian stable main contrib non-free deb-src ftp://ftp.br.debian.org/debian stable main contrib non-free Atualizamos os repositorios do apt e instalamos o squid3. (aqui instalei tambm o bind9 pois estava tendo problemas de dns e o thunder nao estava funcionando direito): apt-get update apt-get install squid3 apache2 php5 php5-cli bind9 sarg #vim /etc/resolv.conf altere o arquivo para o endereo da sua interface neste caso 192.168.2.2. Baixe o thunder verso 2.1 http://ecache.svn.sourceforge.net/vi...ar.gz?view=tar Descompacte os arquivos no diretorio /etc/squid3 e siga as instrucoes do arquivo INSTALL_PTBR. Seu squid.conf deve semelhante a este. http_port 3128 transparent hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin \? cache deny QUERY acl apache rep_header Server ^Apache cache_mem 256 MB cache_swap_low 90 cache_swap_high 95 maximum_object_size 20096 KB minimum_object_size 0 KB maximum_object_size_in_memory 10000 KB cache_dir ufs /var/spool/squid3/cache1 2000 16 256

access_log /var/log/squid3/access.log squid cache_log /var/log/squid3/cache.log cache_store_log /var/log/squid3/store.log hosts_file /etc/hosts refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 acl acl acl acl acl acl acl acl acl acl acl acl acl acl acl acl acl acl acl acl acl manager proto cache_object localhost src 127.0.0.1/255.255.255.255 to_localhost dst 127.0.0.0/8 SSL_ports port 443 # https SSL_ports port 563 # snews SSL_ports port 873 # rsync Safe_ports port 80 # http Safe_ports port 21 # ftp Safe_ports port 443 # https Safe_ports port 70 # gopher Safe_ports port 210 # wais Safe_ports port 1025-65535 # unregistered ports Safe_ports port 280 # http-mgmt Safe_ports port 488 # gss-http Safe_ports port 591 # filemaker Safe_ports port 777 # multiling http Safe_ports port 631 # cups Safe_ports port 873 # rsync Safe_ports port 901 # SWAT purge method PURGE CONNECT method CONNECT deny !Safe_ports deny purge allow purge localhost deny manager allow manager localhost

http_access http_access http_access http_access http_access

acl our_networks src 192.168.0.0/16 url_rewrite_children 20 acl store_rewrite_list dstdomain .avast.com .avg.com .windowsupdate.com .grisoft.com avgate.net .googlevideo.com .globo.com .mais.uol.com.br .terra.com .redtube.com .ytimg.com .pornhub.com .tube8.com .eset.com .4shared.com .xvideos.com .kaspersky-labs.com .geo.kaspersky.com .microsoft.com .youtube.com .orkut.com url_rewrite_access allow store_rewrite_list url_rewrite_access deny all url_rewrite_program /etc/squid3/loader.php acl localcache dstdomain 192.168.2.2 acl localcache2 dstdomain .orkut.com .avast.com .avg.com .windowsupdate.com

.grisoft.com .avgate.net .googlevideo.com .globo.com .mais.uol.com.br .redtube.com .ytimg.com .pornhub.com .tube8.com .eset.com .4shared.com .xvideos.com .kaspersky-labs.com .geo.kaspersky.com .microsoft.com cache deny localcache localcache2 http_access allow localhost http_access deny all http_reply_access allow all icp_access allow all cache_mgr user@isp.com.br cache_effective_user proxy cache_effective_group proxy visible_hostname myhost error_directory /usr/share/squid3/errors/Portuguese coredump_dir /var/spool/squid3 Depois de dadas todas as permisses para os arquivos e diretorios dos thunder conforme o arquivo INSTALL_PTBR. Reinicie o squid: #invoke-rc.d squid3 restart Para configurar o sarg: crie um diretorio dentro de /var/www/ caso nao exista: #mkdir /var/www/squid-reports Depois abra o arquivo: #vim /etc/squid/sarg.conf Verifique as linhas e altere se necessario: output_dir /var/www/squid-reports access_log /var/log/squid3/access.log Salve o arquivo e rode o sarg no console Aqui deve estar tudo funcionando. NOTA: As instancias do thunder alem de armazenarem os arquivos em um diretorio diferente do cache do proprio squid, nao compartilham os mesmos endereos de memoria alocados pelo squid definidos no squid.conf.

Você também pode gostar