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: 70.249 ]

Por: William Fonseca Salvador em 01/03/2012


Instalação, Atualização e Configuração



Instalação

A instalação do WebHTB é feita conforme este artigo: Instalando o WebHTB

ATENÇÃO: Os testes foram feitos na distribuição Debian 5.0, codinome Lenny.

Atualização

Passo 1 - Logo após a instalação ser completada, faça a atualização do programa.

Acesse o WebHTB pelo navegador de sua preferência, e digite:

https://SEUIP

Digite a senha cadastrada no WebHTB. E então, clique em 'Help' e em seguida, em 'Update Webhtb'.

Passo 2 - Caso apareça o seguinte erro:
cannot find "version.xml" from extracted.zip, or update.zip cannot be extracted.

Passo 3 - Efetue a instalação do ZIP, com o comando:

# apt-get install zip

Após instalar o ZIP, repita o Passo 1.

Configuração do Squid

Para configurar o Squid para marcar os pacotes, é adicionada a configuração no arquivo “squid.conf”:

zph_mode tos
zph_local 4
zph_parent 0


Obs.: O Squid foi instalado através do repositório oficial do Debian Lenny 5. A versão instalada foi: 2.7 STABLE3.

Esta versão já vem compilada junto com o Plugin ZPH, responsável por marcar os pacotes no Squid.

Configuração do Firewall

Para que os pacotes sejam reconhecidos no WebHTB, é preciso também configurar o Firewall.

Adicione a seguinte regra:

# iptables -A OUTPUT -t mangle -m tos --tos 0x04 -j MARK --set-mark 0x04
Página anterior     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

Squid + proxy transparente + autentificação + SSL

Grace - Usando a função "Regression"

Analisando log Squid do Mikrotik no SARG

Limitando acesso ao Team Viewer com Squid e IPTables

Destrinchando a compilação do Squid

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts