+ Responder ao Tópico



  1. #1

    Padrão Rodando duas (ou mais) instâncias do Lusca no mesmo HOST

    a) Motivo:
    Implementar o cache do conteúdo do Windows Uptdate (WU) atravéz da opção range_offset_limit

    b) Material de apoio:
    Configuring Hierarchical Squid Caches
    SquidFaq/WindowsUpdate - Squid Web Proxy Wiki
    Como fazer cache do Windows Update utilizando apenas o Squid | lucianopinheiro.net
    SourceForge.net: inComum: incomum-users

    c) Preliminaremente:
    Chamaremos a primeira instância de PRINCIPAL e a segunda de WU.
    Todas as conexões originadas pelos clientes serão recebidas pela instância PRINCIPAL.
    A instância PRINCIPAL fará a requisição a instância WU quando o conteúdo for relativo a Windows Update.
    Desta forma, as requisições dos clientes não serão diretamente aceitas pela instância WU.

    d) Mão a obra:
    Iremos montar dois arquivos de configuração, um para cada instância do Lusca.
    Podemos utilizar cópias do arquivo squid.conf padrão, ou mesmo uma cópia de squid.conf que já está rodando em seu host.
    Identificaremos como squid.conf o da PRINCIPAL e de wu.conf o da WU.
    Cuidados a serem tomados:
    1. Usar diretório/disco de cache distintos para cada instância
    2. Usar portas distintas para cada instância
    3. Usar arquivos de log distintos para cada instância
    4. Usar pid_file distintos para cada instância
    5. Usar visible_hostname distintos para cada instância

    Abaixo segue os detalhes dos cuidados a serem tomados:

    squid.conf
    Código :
    http_port aaa.bbb.ccc.ddd:3128 transparent http11 tcpkeepalive=30,30,60
    http_port 127.0.0.1:3128
    visible_hostname principal
     
    cache_dir aufs /cache0/cache 5000 128 128
     
    cache_swap_log /cache0/logs/swap.state
    coredump_dir /cache0/logs
    cache_access_log /cache0/logs/access.log
    #cache_access_log none
    cache_log /cache0/logs/cache.log
    cache_store_log none
     
    cache_effective_user nobody
    cache_effective_group nogroup
    pid_filename /var/run/squid.pid
     
    #### Cache Peer ####
    acl windowsupdate dstdomain .windowsupdate.com .microsoft.com
    cache_peer 127.0.0.1 parent 8080 0 proxy-only no-query no-digest no-netdb-exchange name=wu
    cache_peer_access wu allow windowsupdate
    always_direct deny windowsupdate
    never_direct allow windowsupdate
    always_direct allow all
    ###

    wu.conf
    Código :
    http_port 127.0.0.1:8080 http11
    visible_hostname wu
     
    cache_mem 8 MB
    maximum_object_size 1500 MB
    minimum_object_size 8 KB
    maximum_object_size_in_memory 64 KB
    cache_dir aufs /cache1/cache 300000 128 128
     
    cache_swap_log /cache1/logs/swap.state
    coredump_dir /cache1/logs
    cache_access_log /cache1/logs/access.log
    #cache_access_log none
    cache_log /cache1/logs/cache.log
    cache_store_log none
     
    cache_effective_user nobody
    cache_effective_group nogroup
    pid_filename /var/run/wu.pid
     
    range_offset_limit -1
    quick_abort_min -1
     
    acl internal_net src aaa.bbb.ccc.ddd
    http_access allow internal_net
    http_access deny all

    e) Colocando no ar
    A instância WU vai rodar com o seguinte comando:
    # squid -f /etc/squid/wu.conf
    Mas não esqueça de:
    Criar a estrutura para a instância WU (particionamento do disco, formatação, criação de diretórios e permissões).
    Criar a estrutura de diretórios do cache com a flag -z
    # squid -f /etc/squid/wu.conf -z
    Editar o arquivo /etc/hosts
    Código :
    127.0.0.1    localhost
    aaa.bbb.ccc.ddd    principal
    127.0.0.1    wu
    Última edição por marcos do vale; 06-02-2012 às 17:18. Razão: wu.conf: tamanho dos objetos

  2. #2

    Padrão Re: Rodando duas (ou mais) instâncias do Lusca no mesmo HOST

    Parabens.

    Fico muito alegre em saber que já esta de pé.

  3. #3

    Padrão Re: Rodando duas (ou mais) instâncias do Lusca no mesmo HOST

    Como tô de molho, dá tempo pra botar no papel e compartilhar as idéias com o pessoal.
    Bom proveito ... outra hora posto mais umas "brincadeiras" que dá pra fazer.

  4. #4

    Padrão Re: Rodando duas (ou mais) instâncias do Lusca no mesmo HOST

    Alguém poderia me dar uma mão?
    Não estou conseguindo colocar pra rodar. É como se a principal passasse a requisição pra wu, mas ela não chegasse a ele.


    Acess.log da principal
    Código :
    1341324334.033 240027 201.xx.xx.10 TCP_MISS/504 302 GET http://windowsupdate.microsoft.com/ - FIRST_UP_PARENT/wu text/html

    No access.log da wu não consta nada.


    squid.conf
    Código :
    #### Cache Peer ####
    acl windowsupdate dstdomain .windowsupdate.com .microsoft.com
    cache_peer 127.0.0.1 parent 8080 0 proxy-only no-query no-digest no-netdb-exchange name=wu
    cache_peer_access wu allow windowsupdate
    always_direct deny windowsupdate
    never_direct allow windowsupdate
    always_direct allow all
    ###


    wu.conf
    Código :
    http_port 127.0.0.1:8080
    visible_hostname wu
     
    cache_mem 20 MB
    maximum_object_size 1500 MB
    minimum_object_size 0 KB
    maximum_object_size_in_memory 64 KB
     
    icp_port 0
     
    cache_dir aufs /cache/wu 2000 128 128
     
    access_log        /var/log/squid-wu/access.log squid
    cache_store_log     /var/log/squid-wu/store.log
    netdb_filename      /var/log/squid-wu/netdb.state
    cache_log        /var/log/squid-wu/cache.log
    pid_filename        /var/run/squid-wu.pid
    coredump_dir         /var/log/squid-wu/
    cache_swap_log        /var/log/squid-wu/swap.state
     
    cache_effective_user proxy
    cache_effective_group proxy
     
    range_offset_limit -1
    quick_abort_min -1
     
    acl all src all
    acl internal_net src 201.xx.xx8.0/24
    acl internal_net src 201.xx.xx9.0/24
    acl internal_net src 201.xx.xx0.0/24
    acl internal_net src 201.xx.xx1.0/24
    http_access allow internal_net
    http_access deny all

    Netstat -nl
    Código :
    Proto Recv-Q Send-Q Local Address               Foreign Address             State      
    tcp        0      0 127.0.0.1:8080              0.0.0.0:*                   LISTEN      
    tcp        0      0 127.0.0.1:3128              0.0.0.0:*                   LISTEN      
    tcp        0      0 201.xx.xx.58:3128          0.0.0.0:*                   LISTEN

  5. #5

    Padrão Re: Rodando duas (ou mais) instâncias do Lusca no mesmo HOST

    Declarou wu no /etc/hosts ?

    127.0.0.1 localhostaaa.bbb.ccc.ddd principal
    127.0.0.1 wu

  6. #6

    Padrão Re: Rodando duas (ou mais) instâncias do Lusca no mesmo HOST

    Olá marcos.

    Sim, havia declarado sim.

    Eu arrumei o problema: era TPROXY. Adicionei a linha no-tproxy onde declaro o cache_peer e ficou ok. O problema é que meus clientes vão sair pro windows update com o IP do cache.