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