Cache Full Squid + WebHTB

Neste artigo, ensinarei a configurar o WebHTB e o Squid, para não controlar os pacotes do Cache do Squid. Com isso,
melhoramos a performance na Internet junto com o Controle de Banda, pois iremos marcar os pacotes do Cache do Squid
e iremos configurar o WebHTB para não controlar estes pacotes.

[ Hits: 68.463 ]

Por: William Fonseca Salvador em 01/03/2012


Introdução



Este tutorial tem como objetivo, configurar o WebHTB para não controlar a velocidade dos pacotes que estão no cache do Squid.

Com isso, fazendo o conhecido CACHE FULL.

Afinal, o que é Cache Full?

Cache Full é uma configuração onde marcamos os pacotes que estão no cache do servidor de Proxy e configuramos o controlador de banda para não controlar a banda desdes pacotes marcados.

Para ficar mais fácil de entender, vejas as animações (clique para ampliar):
Linux: Cache Full Squid + WebHTB
Linux: Cache Full Squid + WebHTB
Conseguiu entender?

A diferença está na hora que o segundo computador requisita a mesma página que o primeiro computador requisitou.

A página será carregada mais rapidamente, pois o pacote estará marcado e então o controlador de banda fará leitura desta marca, e não irá controlará a banda deste pacote.
    Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação, Atualização e Configuração
   3. Adicionando Regras e Clientes
   4. Finalizando
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Destrinchando a compilação do Squid

Automatic ACL Blocking List - Sistema automático de listas de bloqueio de ACLs

Squid - Entendendo um pouco as configurações

Implementação de um servidor Linux Squid + Iptables + DHCP

Squid balanceado com LVS

  
Comentários
[1] Comentário enviado por fernandoborges em 01/03/2012 - 17:59h

Parabéns pelo artigo, que é de grande utilidade.

[2] Comentário enviado por Mguft em 06/03/2012 - 15:44h

Parabéns pelo Artigo, muito bom!

Só não entendi o cadastro de clientes (sou iniciante em Squid), tenho que cadastrar todos os clientes (computadores) da rede, é isso?

Abraços!

[3] Comentário enviado por william-fonseca em 06/03/2012 - 16:08h

Olá @Mguft

Você tem que adicionar sim todos os clientes da rede no webhtb de 1 por 1, recomendo a você que está começando a mecher no webhtb a leitura do artigo: Gerenciamento de tráfego com o WebHTB, que foi publicado na revista linux magazine, segue o link : http://pt.scribd.com/doc/55920752/5/Controle-de-trafego

abraços

[4] Comentário enviado por removido em 08/03/2012 - 08:41h

Gostei do Artigo,

A ferramenta frontend + squid fica massa, porém tenho uma pergunta:

O acesso ao WebHTB pode ser feito de outra máquina da rede ou só localmente, pois não quero instalar a parte gráfica no servidor ?

Abraço...

[5] Comentário enviado por william-fonseca em 08/03/2012 - 08:58h

Olá @eabreu

O acesso ao Webhtb pode ser feito de qualquer maquina de sua rede local, o acesso ao webhtb é feito via navegador, e dentro dele ainda dá pra restringir quais ips terão acessos ao webhtb. Em relação a parte gráfica do servidor não é necessaria você instalar pois o servidor apenas irá "hospedar" o webhtb, e então voce poderá mecher por outro pc via navegador.

Abraçoss

[6] Comentário enviado por dalveson em 20/03/2012 - 11:08h

Bom dia william-fonseca,
Parabens pelo artigo irei fazer alguns testes seguindo ele como base, porem gostaria que vc me tirasse uma duvida a aplicação WebHTB consegue controlar trafegos apenas de www(porta 80) ou consegue https(443)?
Abraços

[7] Comentário enviado por william-fonseca em 20/03/2012 - 16:20h

Olá @dalveson

O webhtb consegue controlar o trafego http 80, https 443, ssh, telnet, ftp..... enfim, de qualquer porta, basta pôr a porta la na configuração, mas em geral quando vou configurar um servidor eu faço o seguinte, adiciono um novo cliente e na area de IP DEST eu coloco o ip da maquina cliente, assim o webhtb controla a banda de todas as portas daquele ip.

abraços!

[8] Comentário enviado por dalveson em 22/03/2012 - 16:28h

william-fonseca muito obrigado pela atenção e esclarecimetnos prestados, mais uma vez parabens pelo artigo

[9] Comentário enviado por Tarius em 23/03/2012 - 17:48h

Meus caros eu uso o Slack 13.1 32bits e achei muito bom e aparentemente é tudo que eu precisso no momento, porem com o pouco conhecimento que tenho não consegui fazer o webhtb funcionar no slack.
Segue minha pergunta. Existe a possibilidade de usar o WebHtb no slack? Se exite seria muito complicado? E existe alguem tem alguma dica a respeito?


Desde já grato a todos!

[10] Comentário enviado por william-fonseca em 01/04/2012 - 19:31h

Olá @Tarius

Eu nâo uso o slack, fiz os testes do artigo no debian 5 e 6 e funcionaram perfeitamente. Para lhe ajudar postei no forum do webhtb perguntando como faz para instalar o webhtb no slack, até então to esperando uma resposta. Veja o meu post e acompanhe, em breve eles estarão mostrando como faz pra instalar http://www.webhtb.ro/forum/details/q/8/

[]'s

[11] Comentário enviado por williamkevenis em 05/08/2012 - 12:20h

E como fazemos o controle de banda não achei a opção.

Já que a classe dar toda velocidade. Não entendi você tem MSN?

[12] Comentário enviado por williamkevenis em 05/08/2012 - 12:32h

Tá adicionado! williamke[...]@hotmail.com

[13] Comentário enviado por wtcosta em 08/02/2013 - 15:06h

Olá, não sei o que ocorre, o usuário CACHE-SQUID some!!! Fiz e refiz todos os passos. Será problema com o mysql? Uso Debian Squeeze....

[14] Comentário enviado por william-fonseca em 08/02/2013 - 15:33h


[13] Comentário enviado por wtcosta em 08/02/2013 - 15:06h:

Olá, não sei o que ocorre, o usuário CACHE-SQUID some!!! Fiz e refiz todos os passos. Será problema com o mysql? Uso Debian Squeeze....


Olá wtcosta, poste aqui o seu squid.conf para ver ser consigo lhe ajudar, Qualquer coisa me adicione no skype: williamfonsecax

abraços

[15] Comentário enviado por wtcosta em 16/02/2013 - 03:25h


[14] Comentário enviado por william-fonseca em 08/02/2013 - 15:33h:


[13] Comentário enviado por wtcosta em 08/02/2013 - 15:06h:

Olá, não sei o que ocorre, o usuário CACHE-SQUID some!!! Fiz e refiz todos os passos. Será problema com o mysql? Uso Debian Squeeze....

Olá wtcosta, poste aqui o seu squid.conf para ver ser consigo lhe ajudar, Qualquer coisa me adicione no skype: williamfonsecax

abraços



Olá, Willian, desculpa a demora, segue meu squid.conf, bem básico, adaptei do livro do Morimoto:

# /etc/squid3/squid.conf
http_port 3128 transparent
visible_hostname UBUNTU_SERVER
cache_mem 64 MB
maximum_object_size_in_memory 1024 KB
maximum_object_size 700 MB
cache_dir ufs /var/spool/squid3 81920 16 256
cache_access_log /var/log/squid3/access.log
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 21 280 443 488 563 591 777 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl redelocal src 10.0.0.0/24
http_access allow localhost
http_access allow redelocal
http_access deny all
zph_mode tos
zph_local 4
zph_parent 0
cache_effective_user proxy
cache_effective_group proxy
error_directory /usr/share/squid3/errors/pt-br

##fim

Fico grato desde já!

[16] Comentário enviado por william-fonseca em 16/02/2013 - 19:34h


[15] Comentário enviado por wtcosta em 16/02/2013 - 03:25h:


[14] Comentário enviado por william-fonseca em 08/02/2013 - 15:33h:


[13] Comentário enviado por wtcosta em 08/02/2013 - 15:06h:

Olá, não sei o que ocorre, o usuário CACHE-SQUID some!!! Fiz e refiz todos os passos. Será problema com o mysql? Uso Debian Squeeze....

Olá wtcosta, poste aqui o seu squid.conf para ver ser consigo lhe ajudar, Qualquer coisa me adicione no skype: williamfonsecax

abraços


Olá, Willian, desculpa a demora, segue meu squid.conf, bem básico, adaptei do livro do Morimoto:

# /etc/squid3/squid.conf
http_port 3128 transparent
visible_hostname UBUNTU_SERVER
cache_mem 64 MB
maximum_object_size_in_memory 1024 KB
maximum_object_size 700 MB
cache_dir ufs /var/spool/squid3 81920 16 256
cache_access_log /var/log/squid3/access.log
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 21 280 443 488 563 591 777 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl redelocal src 10.0.0.0/24
http_access allow localhost
http_access allow redelocal
http_access deny all
zph_mode tos
zph_local 4
zph_parent 0
cache_effective_user proxy
cache_effective_group proxy
error_directory /usr/share/squid3/errors/pt-br

##fim

Fico grato desde já!


Olá wtcosta
Use estas configurações nela contem algumas configuraçõess adicionais que ajudam no cache do squid, faça o teste de nos informe o resultado.

http_port 3128 transparent
visible_hostname william-squid
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mem 50 MB
maximum_object_size_in_memory 200 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 95
cache_swap_high 98
cache_dir diskd /var/spool/squid3 81920 64 256
cache_access_log /var/log/squid/access.log
cache_store_log none
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
# ---- Cache do Windows Update ----
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern msgruser.dlservice.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern windowsupdate.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern www.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern update.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.windows.update.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
acl all src 0.0.0.0/0.0.0.0
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
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 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#half_closed_clients off
#aqui estão as máquinas de nosso cenário
acl redelocal src 10.0.0.0/24
http_access allow redelocal
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all
zph_mode tos
zph_local 4
zph_parent 0
forwarded_for off
error_directory /usr/share/squid3/errors/Portuguese
coredump_dir /var/spool/squid3
detect_broken_pconn on
pipeline_prefetch on

[17] Comentário enviado por wtcosta em 18/02/2013 - 23:37h

Desculpe estar demorando mas complicado aqui. Prometo que no máximo sexta(22/02) posto o resultado.

[18] Comentário enviado por vns em 14/03/2013 - 22:07h

Cara funciona para a seguinte infra:

Clientes <----> controle de banda <-----> proxy <-----> internet ???

ou seria somente para o squid instalado no Gateway??

[19] Comentário enviado por william-fonseca em 14/03/2013 - 22:34h


[18] Comentário enviado por vns em 14/03/2013 - 22:07h:

Cara funciona para a seguinte infra:

Clientes <----> controle de banda <-----> proxy <-----> internet ???

ou seria somente para o squid instalado no Gateway??


Olá vns... pelo que entendi você quer instalar o controle de banda em um servidor separado do proxy/gateway... é isso? ... se for ... na meu entendimento não funciona... tem q instalar no gateway pra funcionar .. aonde passa todos os pacotes que vão pra internet... pq voce nao instala no proxy ?


[20] Comentário enviado por vns em 14/03/2013 - 22:51h

pq tenho um tproxy e gostaria de fazer um cache full com ele, para torna-lo mais rapido.. mais com artigo creio que conseguirei fazer funcionar perfeitamente e futuramente postarei os resultados.

[21] Comentário enviado por william-fonseca em 14/03/2013 - 22:55h


[20] Comentário enviado por vns em 14/03/2013 - 22:51h:

pq tenho um tproxy e gostaria de fazer um cache full com ele, para torna-lo mais rapido.. mais com artigo creio que conseguirei fazer funcionar perfeitamente e futuramente postarei os resultados.


Certo vns... poste o resultado pra gente

[22] Comentário enviado por vns em 14/03/2013 - 23:37h

Cara nesse esquema vc tem q fazer algum redirect para uma porta especifica do squid tipo a 3128?

[23] Comentário enviado por william-fonseca em 26/03/2013 - 17:09h


[22] Comentário enviado por vns em 14/03/2013 - 23:37h:

Cara nesse esquema vc tem q fazer algum redirect para uma porta especifica do squid tipo a 3128?


Olá @vns, neste esquema tem sim um redirect da porta 80 para a 3128 (squid transparente) mas nao vai importar muito por que nesta configuração demostrada no tutorial, o webhtb controla tudo que vier em direção ao determinado ip setado pelo sysadmin nas configurações do mesmo.

[24] Comentário enviado por vns em 15/04/2013 - 03:36h

opa.. cara me da um help.. fiz via script htb.. porem não consigo controlar o upload.. consegui fazer o controle somente via porta e não por ip.. poderia me ajudar?

[25] Comentário enviado por pinguintux em 23/06/2014 - 09:02h

Bom dia!
Prezado Willian Fonseca, inicialmente gostaria de parabenizá-lo pelo excelente material disponibilizado e aproveito a oportunidade para perguntar se você tem alguma solução para o Squid 3 (3.1.20), pois as configurações para marcar os pacotes (zph_mode tos, zph_local 4 e zph_parent 0) estão obsoletas para a versão 3 do Squid. Então, caso o companheiro tenha alguma dica para esta situação, eu desde já agradeço!





Contribuir com comentário