Página 1 de 3 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1

    Padrão Mikrotik + Squid 3.0-Stable8 Paralelo(rota estática) + 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 solução excelente. Acredito que muitos estão tentando buscar algo parecido e para contribuir com o forum onde sempre consegui muitas informações vou postar minha solução.

    Primeiro vamos definir a 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á fazendo o masquerade para a rede dos clientes 172.25.0.0/16 e para a rede do Debian 192.168.2.0/30.

    Referencia:
    Linux: Proxy em paralelo com o mikrotik [Artigo]

    No debian configure os endereços de IP 192.168.2.2/30, gateway e DNS 192.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 endereço:

    ip firewall mangle chain=prerouting action=mark-routing new-routing-mark=proxy-flow dst-port=80 passthrough=no protocol=tcp src-address=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 também:

    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 também 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 endereço da sua interface neste caso 192.168.2.2.

    Baixe o thunder versão 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 manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl to_localhost dst 127.0.0.0/8
    acl SSL_ports port 443 # https
    acl SSL_ports port 563 # snews
    acl SSL_ports port 873 # rsync
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    acl Safe_ports port 443 # https
    acl Safe_ports port 70 # gopher
    acl Safe_ports port 210 # wais
    acl Safe_ports port 1025-65535 # unregistered ports
    acl Safe_ports port 280 # http-mgmt
    acl Safe_ports port 488 # gss-http
    acl Safe_ports port 591 # filemaker
    acl Safe_ports port 777 # multiling http
    acl Safe_ports port 631 # cups
    acl Safe_ports port 873 # rsync
    acl Safe_ports port 901 # SWAT
    acl purge method PURGE
    acl CONNECT method CONNECT

    http_access deny !Safe_ports
    http_access deny purge
    http_access allow purge localhost
    http_access deny manager
    http_access allow manager localhost

    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 [email protected]

    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 permissões 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 endereços de memoria alocados pelo squid definidos no squid.conf.

    Espero ter ajudado
    Abs!

  2. #2

  3. #3

  4. #4

  5. #5

  6. #6

  7. #7

    Smile

    Cliquem no agradecer que tá otimo rsrsrsrsrs

  8. #8

    Padrão

    Citação Postado originalmente por darklinux3 Ver Post
    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 solução excelente. Acredito que muitos estão tentando buscar algo parecido e para contribuir com o forum onde sempre consegui muitas informações vou postar minha solução.
    ...
    Muito bom,
    É disso que o forum precisa, pessoas que fazer e mostram todo o conteúdo do que tem a fazer.
    Parabéns.

  9. #9

    Padrão

    amigos, eu ja estou usando algo parecido:
    squid 2.6 stable no debiam4 em paralelo com mikrotik 2.9.x

    esta fazendo cache transparente http normal e muito bem, porem eu tb to querendo fazer cache do MSN, aqueles arquivos de cache do proprio msn, onde fica os contatos, as fotos e as configuraçoes deles.

    alguem sabe como devo fazer?

  10. #10

    Question

    Cache dos arquivos enviados por msn?
    Não sei se entendi direito sua pergunta.
    Até hoje não vi nada parecido, acredito que exista uma dificuladade nisso por que o arquivo utiliza o protocolo do msn pra ser enviado.

  11. #11

    Padrão

    Citação Postado originalmente por darklinux3 Ver Post
    Cache dos arquivos enviados por msn?
    Não sei se entendi direito sua pergunta.
    Até hoje não vi nada parecido, acredito que exista uma dificuladade nisso por que o arquivo utiliza o protocolo do msn pra ser enviado.

    nao, cache da lista de contatos.

  12. #12

    Padrão

    Bom pessoal

    tenho 1 problema aki !!!

    eu tinha antigamente a regra por dstnat pro proxy e modifiquei por essa proposta aki

    e funfo 100%

    porem precisei tirar o srcnat masquerade pra rolar e agora os outros servicos nao funfam !!!

    oq pode ser??? alguma luz????

    tks

  13. #13

    Padrão

    Amigo tentei as três modelos de instalações postadas aqui no forum e com as duas mais populares funcionava mais ou menos, sempre dando problemas no youtube, com o seu modelo de configuração está funcionando 100%! Obrigado!! Tive que mudar algumas coisas no squid.conf pra ficar 100% aqui na minha rede!

  14. #14

    Smile

    Citação Postado originalmente por ZeXP Ver Post
    Amigo tentei as três modelos de instalações postadas aqui no forum e com as duas mais populares funcionava mais ou menos, sempre dando problemas no youtube, com o seu modelo de configuração está funcionando 100%! Obrigado!! Tive que mudar algumas coisas no squid.conf pra ficar 100% aqui na minha rede!
    Excelente! Muitos aqui do forum tem dificuldade de construir esta solução, talvez pelo fato de eu nao ter colocado exatamente todos os passos, mas para alguém que ja manja de linux é possivel fazer tranquilamente.

    Abs!
    Sucesso!

  15. #15
    Sempre na luta Avatar de jacksonezidio
    Ingresso
    Jun 2008
    Localização
    São Paulo - SP
    Posts
    208
    Posts de Blog
    1

    Post

    Excelente! Isso foi de grande ajuda parceiro!

  16. #16

    Padrão

    Citação Postado originalmente por darklinux3 Ver Post
    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 solução excelente. Acredito que muitos estão tentando buscar algo parecido e para contribuir com o forum onde sempre consegui muitas informações vou postar minha solução.

    Primeiro vamos definir a 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á fazendo o masquerade para a rede dos clientes 172.25.0.0/16 e para a rede do Debian 192.168.2.0/30.

    Referencia:
    Linux: Proxy em paralelo com o mikrotik [Artigo]

    No debian configure os endereços de IP 192.168.2.2/30, gateway e DNS 192.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 endereço:

    ip firewall mangle chain=prerouting action=mark-routing new-routing-mark=proxy-flow dst-port=80 passthrough=no protocol=tcp src-address=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 também:

    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 também 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 endereço da sua interface neste caso 192.168.2.2.

    Baixe o thunder versão 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 manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl to_localhost dst 127.0.0.0/8
    acl SSL_ports port 443 # https
    acl SSL_ports port 563 # snews
    acl SSL_ports port 873 # rsync
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    acl Safe_ports port 443 # https
    acl Safe_ports port 70 # gopher
    acl Safe_ports port 210 # wais
    acl Safe_ports port 1025-65535 # unregistered ports
    acl Safe_ports port 280 # http-mgmt
    acl Safe_ports port 488 # gss-http
    acl Safe_ports port 591 # filemaker
    acl Safe_ports port 777 # multiling http
    acl Safe_ports port 631 # cups
    acl Safe_ports port 873 # rsync
    acl Safe_ports port 901 # SWAT
    acl purge method PURGE
    acl CONNECT method CONNECT

    http_access deny !Safe_ports
    http_access deny purge
    http_access allow purge localhost
    http_access deny manager
    http_access allow manager localhost

    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 [email protected]

    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 permissões 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 endereços de memoria alocados pelo squid definidos no squid.conf.

    Espero ter ajudado
    Abs!
    Amigo começei a montar mas me pintou uma duvida referente ao comando
    iptables -t nat -A PREROUTING -i eth0 -s 172.25.0.0/16 -p tcp --dport 80 -j REDIRECT --to-ports 3128 esse comando ira no debian em qual parte dentro do arquivo squid.conf ou em algum outro lugar!

    Desde já agradeço sua atenção!

    Obrigado.

  17. #17

    Padrão

    Todos os comandos do iptables sao comando de firewall devem ser digitados no console, caso queira automatizar o processo é necessario criar um script.

  18. #18

    Padrão

    Desculpe a ingorância mas me fiquei meio perdido, terei que digitar isso em algum scprits com gerar algum arquivo ou simplesmente digitar o comando na linha de comando do linux, desculpe to começando agora no mundo linux, se eu fizer isso quando reiniciar o computador vai perder essa configuracão ou é somente digitar dentro de arquivo para que ele carregue na inicialização!

    Desde já agradeço atenção!

    Obrigado!

  19. #19

    Padrão

    Amigo, as configurações que passei são para que você configure uma vez. Para fazer a incializacao dos comandos no boot é necessario criar scripts que sejam executaveis e sejam chamados durante o processo de boot(rc.d2).
    Veja : shell script [ame=http://pt.wikipedia.org/wiki/Shell_script]Shell script - Wikipédia, a enciclopédia livre[/ame]

    Veja: Inicializacao https://lists.ubuntu.com/archives/ub...er/001406.html

  20. #20

    Padrão

    Amigo muito obrigado pela força! vou checar aqui agora e volto a postar o resultado mas uma vez parabens pelo post, fico excelente!