Squid 2.6 + HTB-tools com cache full

Olá a todos da comunidade, já procurei muito como aplicar o zero penalty hit (zph) no Squid 2.6, então depois de muitos erros e tentativas aqui estão alguns passos que fiz pra conseguir.

[ Hits: 112.638 ]

Por: kernel em 22/07/2007


Configurando o iptables



Para o nosso exemplo vamos criar algumas regras pro iptables, novamente neste ponto você vai adaptar de acordo com sua rede. No nosso exemplo ficaria assim:

# vim net

#!/bin/bash
iptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F POSTROUTING -t nat
iptables -F PREROUTING -t nat
iptables -P FORWARD ACCEPT

WAN="eth0"

iptables -t nat -A PREROUTING -s 192.168.254.1 -p tcp --dport 80 -j REDIRECT --to-port 3128 #máquina01
iptables -t nat -A PREROUTING -s 192.168.254.2 -p tcp --dport 80 -j REDIRECT --to-port 3128 #máquina02
iptables -t nat -A PREROUTING -s 192.168.254.3 -p tcp --dport 80 -j REDIRECT --to-port 3128 #máquina03
iptables -t nat -A PREROUTING -s 192.168.254.4 -p tcp --dport 80 -j REDIRECT --to-port 3128 #máquina04

iptables -A POSTROUTING -t nat -s 192.168.254.1 -o $WAN -j MASQUERADE #máquina01
iptables -A POSTROUTING -t nat -s 192.168.254.2 -o $WAN -j MASQUERADE #máquina02
iptables -A POSTROUTING -t nat -s 192.168.254.3 -o $WAN -j MASQUERADE #máquina03
iptables -A POSTROUTING -t nat -s 192.168.254.4 -o $WAN -j MASQUERADE #máquina04

# chmod +x net
# ./net


Pronto, vamos ver se tudo deu certo, você pode medir sua velocidade em:
Que deve de acordo com nosso exemplo de aproximadamente 256kbps, depois disso faça um download numa máquina, vá em outra máquina e faça o mesmo download, se tudo deu certo você nem vai ver a barra de progresso do download, de tão rápido que é.

Conclusão

Este é meu primeiro artigo e ele foi baseado em várias fontes, tentei fazê-lo o mais simples possível, espero não ter deixado de fora nenhuma informação importante, qualquer duvida estou a disposição.

Página anterior    

Páginas do artigo
   1. Introdução
   2. Instalando o Squid
   3. Instalando o HTB-tools
   4. Configurando o iptables
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando Squid a partir do código fonte

Squid e firewall em 5 minutos

Controlando acesso às páginas do Apache na rede interna

Autenticando usuários do Squid em um banco de dados MySQL

Tutorial de instalação do Squid no CentOS

  
Comentários
[1] Comentário enviado por davidsonbhz em 22/07/2007 - 10:51h

Cara, muito bom o artigo! Direto ao ponto e sem frescuras!

Parabens!

[2] Comentário enviado por ratodeporao em 22/07/2007 - 10:58h

Muito bom mesmo cara!

[3] Comentário enviado por balani em 22/07/2007 - 13:28h

muito bom, parabens!

[4] Comentário enviado por chaplinux em 22/07/2007 - 17:01h

Tem como balancear? ou seja, balancear diacordo com a quantidade de maquina no momento?

[5] Comentário enviado por kerneldark em 23/07/2007 - 06:56h

Também ainda não encontrei uma forma efetiva de fazer isto, mas pensei em algum script que verificasse a cada minuto ou menos quantos ips com mac completo estava na tabela arp, depois disso ele mudaria os valores de acordo com o numero de ips encotrado, e reiniciaria o htb com os novos valores.

[6] Comentário enviado por rebinat em 23/07/2007 - 15:00h


tem como fazer isso usando cbq????

[7] Comentário enviado por kerneldark em 23/07/2007 - 20:53h

Se tem como, infelizmente não sei te dizer, antes eu usava o cbq e resisti muito a mudar, depois vi que o htb-tools é muito mais fácil pra configurar, você pode ver no exemplo acima, tudo pode ser configurado num único arquivo enquanto no cbq era preciso 2 arquivos para cada cliente.

[8] Comentário enviado por marx599 em 23/07/2007 - 22:06h

Olá amigo, primeiramente ótimo artigo me ajudo muito, fiz tudo como ensinado no artigo e o limite funcionou sussegado junto com o squid a FULL porem fiquei com um problema, quando o HTB está ativado na eth1 (placa da rede local) a rede entre servidor > clientes começa a perder muitos pacotes e os que retornam estam vindo com tempo em ms muito alto, você saberia qual pode ser o motivo disso???

[9] Comentário enviado por kerneldark em 24/07/2007 - 09:44h

Olá, estou analizando o seu problema e pelo visto você tem algum servidor de arquivos como samba ou ftp no mesma maquina que está o htb, também não consegui fazer o samba não ser limitado pelo htb-tools, mas você pode da uma olhada nestes links. Se você conseguir me de uma alô. :-D
http://www.wasare.net/home/node/17
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4042&pagina=1
http://slackbr.org/forum/viewtopic.php?t=13147
Antes dos links acima pra copiar ~380mb do servidor demorar 179min, depois dos links, demora 30min, mesmo assim é alto pois sem o htb controlando é menos de 10 minutos.
Até mais.

[10] Comentário enviado por marx599 em 24/07/2007 - 10:23h

Olá, no meu servidor não é usado o samba, apenas um servidor de ftp o PROFTPD com alguns arquivos de suporte que quase nem é usado. Quero lembrar que os pings altos e a perda de pings só ocorre quando o HTB está ativo quando ele é desativado tudo se normaliza. Irei dar uma olhada nos links que você me mandou e te retorno. Beleza. Valeu pela dica.

[11] Comentário enviado por marx599 em 24/07/2007 - 11:30h

Ae amigo, concegui usando a dica do primeiro link que vc me mandou http://www.wasare.net/home/node/17 mesmo assim irei continuar fazendo alguns testes por aqui para ver se está tudo normal mesmo. Muito obrigado pelo artigo que afinal está muito bem feito. Valeu mesmo.

[12] Comentário enviado por kerneldark em 24/07/2007 - 11:47h

Ok, no forum do htb-tools tem a seguinte dica pra diminuir os pings altos adicione um cliente para o broadcast, tipo, vamos supor que o ip do seu servidor é 192.168.0.1, você vai adiconar no /etc/htb/eth1-qos.cfg o cliente 192.168.0.255.
Até mais.

[13] Comentário enviado por marx599 em 24/07/2007 - 14:23h

Olha, o problema dos pings já foi resolvido e estou muito contente com o resultado, só está acontecendo algo estranho quando eu paro o HTB e inicio ele denovo da esse aviso quando iniciado:

Checking the config file ...OK
Checking kernel support for HTB: present.
RTNETLINK answers: invalid argument <=(HÁ ALGO DE ERRADO AKI?)
HTB-tools was successfuly started on eth1.

Porém mesmo assim está funcionando certinho.

[14] Comentário enviado por agk em 24/07/2007 - 17:20h

Parabéns pelo artigo.

Esse HTB-tools deve ser algo tipo o CBQ, só que esses scripts limitam um pouco as funcionalidades do TC (trafic control), não é necessário fazer scripts para monitorar os clientes e distribuir a banda, é só cadastrar as classes no tc e quanto de link o kra tem no mínimo e quanto ele pode pegar quando o link estiver ocioso.

Para quem quiser se aprofundar um pouco sobre controle de banda é bom ler sobre iproute2, lá tem tudo, as ferramentas ip e tc são formidáveis.

[15] Comentário enviado por balani em 24/07/2007 - 19:03h

Só uma duvida, essas acl's aceitam faixa de rede, só para confirmar.

[16] Comentário enviado por thyagomax em 04/08/2007 - 01:42h

Cara, depois que segui todas suas dicas meu firewall bloqueou o porta 80. O que vc acha q fiz de errado ? Pode me esclarecer essa dúvida ? Agradeço desde já. Abração !!!

[17] Comentário enviado por kerneldark em 04/08/2007 - 12:51h

Poste as regras que você colocou no seu firewall.

[18] Comentário enviado por vander_adm em 14/08/2007 - 10:10h

Bom dia!!!
Estou com a seguinte duvida.... segui todos os passos desritos acima...
Só que quando uso o comando /etc/init.d/rc.htb show_eth1.. Pois a minha eth1 é a rede local só aparece o primeiro cliente cadastrado no eth1-qos.cfg
Voce saberia me dizer o porque não mostra todos os clientes que está cadastrados lá.... mesmo estando todos navegando..

[19] Comentário enviado por vander_adm em 16/08/2007 - 14:43h

Consegui o problema está em utilizar os ip com a mascara 24 por exemplo 192.168.20.25/24 o certo tem que colocar 192.168.20.25/32

[20] Comentário enviado por rebinat em 22/08/2007 - 09:30h

no arquivo eth1-qos.cfg

tem que haver tabulaão como no exemplo acima ou pode ficar tudo do lado esquerdo...

eh porque to fazendo um script pra add ou remover clientes...

Rebinat

[21] Comentário enviado por kerneldark em 22/08/2007 - 20:16h

Opa, pode ficar tudo do lado esquerdo.

[22] Comentário enviado por danielarruda em 23/08/2007 - 21:48h

Homi muito complicado mas vale apena!!!!!!!!!!!!!!!

[23] Comentário enviado por marcosantiago em 12/09/2007 - 22:24h

Parabens pelo artigo !
Mas tenho uma duvida...
No meu servidor, meus clientes conectam via PPPoE. E é o HTB quem faz o controle de banda. A diferença é que é automatizado.
Existe a possibilidade de funcionar ?
Ou somente essa versão do HTB-TOOLS que tem essa funcionalidade ?

Grato desde já.

[24] Comentário enviado por kerneldark em 16/09/2007 - 15:37h

Não sei se entendi direito, mas se você não quiser utilizar o htb-tools, basta criar as regras manualmente, algo semelhante a isso aqui:

tc qdisc add dev eth1 root handle 1: htb default 90

tc class add dev eth1 parent 1: classid 1:1 htb rate 100Mbit burst 6k

tc class add dev eth1 parent 1:1 classid 1:40 htb rate 100Mbit ceil 100Mbit burst 6k quantum 1536

e aqui o segredo:
tc filter add dev eth1 parent 1: protocol ip prio 1 u32 match ip protocol 0x6 0xff match ip tos 0x10 0xff flowid 1:40

Até mais.

[25] Comentário enviado por cytron em 21/09/2007 - 02:03h

Muito bom artigo, só que aquela coisa de zph_tos_local e zph_tos_parent não sei de onde você tirou, porque meu squid 2.6 não reconheceu, e não encontrei nada sobre isso na documentação.

A promessa de "funcionar a toda velocidade" seria realmente ótimo, se é que temos um referencial de velocidade para comparar.

[26] Comentário enviado por cobrabatida em 22/09/2007 - 00:07h

parseConfigFile: line 54 unrecognized: 'zph_tos_local 16 ta dando esse erro sera porque?

[27] Comentário enviado por kerneldark em 24/09/2007 - 10:17h

cytron, você tem que baixar o patch, cujo link esta no artigo e aplicar, inclusive um deles é o 90_all_squid-2.6.STABLE13-ToS_Hit_ToS_Preserve.patch que vai da acesso a essas opções, quando você compilar o squid com o patch aplicado, vai criar um arquivo exemplo dentro do diretório de configuração do squid, geralmente /etc/squid/ chamado squid.conf.default, de uma olhada.

[28] Comentário enviado por kerneldark em 24/09/2007 - 10:21h

cobrabatida, isso geralmente acontece quando não aplica o patch no squid, tem que seguir o tutorial, baixando squid, patch e etc, se não, não vai funcionar. Qualquer dúvida estou a disposição.

[29] Comentário enviado por aps167 em 15/10/2007 - 12:42h

Artigo interessante,mas não implementei ainda pois antes queria fazer uma pergunta:

Você disse:

"Gostaria de esclarecer que utilizei os patches do Gentoo pro Squid 2.6, por isso peço que baixe as versões postadas aqui, pois se utilizar uma versão diferente, pode ser que o patch precise ser novamente adaptado."

Para que server este patch? eu uso Debain eu terei que consegui esse patch para o debian? como consigo?

[30] Comentário enviado por kerneldark em 16/10/2007 - 17:01h

Deve funcionar em qualquer distro, os patchs que referenciei do gentoo é que ele funciona certinho pra squid 2.6stable13. e é este que você deve utilizar, os links para o squid como para os patchs, estão no artigo. Qualquer coisa estamos ai.

[31] Comentário enviado por cout lestat em 22/11/2007 - 08:23h

ótimo artigo, o cache sai a toda velocidade mesmo, comprovado. Só que amigo, encontrei um erro que acho que se orgina do HTB, no arquivo modificado q_parser.c , por que quando e configurado no HTB mais que 63 clientes os proximos e o HTB ao ser iniciado fica dando um erro de

NETLINK file exists
not camando `/tmp/eth1-qos.sh`

essas duas linhas aparecem quando é iniciado o HTB, se eu excluir o cliente de numero 64, deixando 63 clientes cadastrado no contrle de banda, o HTB não dá aqueles erro funciona normal.

amigo caso vc consiga encontrar este erro. informa aí. pq até 63 cliente funciona blz.

[32] Comentário enviado por bfmano em 04/01/2008 - 23:03h

cara meu patch não está aplicando não, quando vou aplicar dá a seguinte msg!!!
> patch: **** Only garbage was found in the patch input.
o que pode está acontecendo, ja tentei com o squid-2.6.STABLE2/ e o squid-2.6.STABLE13, e todos os dois dão o mesmo erro!

[33] Comentário enviado por tianguapontocom em 22/01/2008 - 21:20h

e quase um plagio do meu artigo 99%

[34] Comentário enviado por kerneldark em 23/01/2008 - 21:50h

tianguapontocom
Se você prestar atenção não tirei uma linha do seu e sem falar que eu quero é ver quem vai conseguir aplicar o seu artigo no squid 2.6, pois o seu é pro squid 2.5, pro 2.5 é só o que tem por ai. Pro 2.6 na época não tinha e acho que ainda hoje você não vai encontrar não.
Mas estamos aqui pra compartilharmos informações certo.
Um abraço.

[35] Comentário enviado por MorpheusX em 26/01/2008 - 23:40h


Starting HTB-tools on eth1 ...
Checking the config file ...OK
Checking kernel support for HTB: present.
RTNETLINK answers: File exists
Command failed /tmp/eth1-qos.sh:198 <--- QUE ERRO E ESSE???
HTB-tools was successfuly started on eth1.

E porque quando dou HTB ETH1 START todas as maquinas param de navegar???

Sendo que eu ja uso o HTB mas nao a versao a cima...

mas no meu tenho que colodar DST e SRC, Donw e Up, tudo separado!!! sera que esse e o problema???


[36] Comentário enviado por kerneldark em 27/01/2008 - 13:22h

O HTB-tools precisa de apenas um arquivo de configuração que vai ser nomeado de acordo com sua placa de rede interna.

[37] Comentário enviado por ivanway em 30/01/2008 - 14:18h

Olá pessoal gostei muiito do artigo do amigo kerneldark!!!
Parabéns cara!!!!!! Precisamos de pessoas humildes e atenciosas como vc para crescer cada vez mais este site!!!
Esse tianguapontocom(Emanuel) é um tremendo de um orgulhoso ignorante q se acha o melhor dos melhores e passa por cima daqueles q são como ele um dia foi, um curioso em linux... Afinal de contas ninguém nasce sabendo!!!
Faz um tempo q trabalho com linux e confesso, não sei 10% do q este orgulhoso sabe, mas com certeza sei compartilhar informações com aqueles q se igualam a mim ou estão abaixo de mim... Creio q a função principal deste site seja o compartilhamento de informações e não links quebrados ou “placas estampadas” dizendo: EU SEI E VC NÂO SABE E NÂO VOW LHE DAR A MINIMA CONDIÇÂO DE FAZER E NEM VOW AJUDAR VC A FAZER!!!!
Fica aqui meus agradecimentos ao amigo kernel e minha indignação por permitirem pessoas desse tipo neste site.

Um abraço a todos e fiquem com DEUS!!!

[38] Comentário enviado por ratodeporao em 07/02/2008 - 21:31h

kerneldark,
Fiz tudo como manda o figurino e esta dando erro:

Starting HTB-tools on eth0 ...
Checking the config file ...OK
Checking kernel support for HTB: present.
RTNETLINK answers: File exists
Command failed /tmp/eth0-qos.sh:261 <--- AQUI O ERRO
HTB-tools was successfuly started on eth0.

Sem aplicar o q_parser.c ao HTB não da esse erro mas tmb o cache full não funciona.

[39] Comentário enviado por andre_mandrake em 18/03/2008 - 10:16h

Applying traffic rules for device eth0
Checking the config file....FAILEDThe configuration file contains errors.


Estou tentando inicializar htb eth1 start e estou recebendo esta mensagem poderia me ajudar por favor

[40] Comentário enviado por kerneldark em 18/03/2008 - 22:19h

Posta seu arquivo de configuração do htb.

[41] Comentário enviado por cybernetico em 03/04/2008 - 20:16h

Pessoal...segui o artigo passo a passo...está acontecendo um erro muito estranho. Criei o arquivo pra eth1 e rodou blz...depois parei o serviço e criei um novo arquivo pra eth0 e tentei rodar e nada. Agora o que acontece quando tento rodar tanto na eth0 quanto na eth1 com arquivos diferentes ele fica na etapa
Checking the config file... o cursor fica aí e nada feito...já resetei o micro refiz os arquivos de configuração e nada...
Alguém por acaso teve esse problema???

[42] Comentário enviado por kerneldark em 03/04/2008 - 23:01h

Tem que ver por que voce quer ligar o htb na eth0, pois ele precisa apenas da eth1 pra fazer controle de download e upload.

[43] Comentário enviado por Good_speed em 23/04/2008 - 11:10h

Kerneldark,

Parabéns pelo seu artigo, estou com duas duvidas;

1. Vc manda start o squid com as opções -DYC certo, só que notei que meu rc.squid estava sendo executado só com a opção -D, e não estava conseguindo baixar o arquivo na velocidade full na segunda maquina, isso pode ter acontecido devido este erro?

2. Não consegui executar nenhuma das linhas dos patch como esta descrito no artigo. mais consegui executar a linha removendo um dos "<" da linha de comando, isso tem alguma coisa a ver?

# cd squid-2.6.STABLE13
# patch -p1 << ../80_all_squid-2.6.13-gentoo.patch
# patch -p1 << ../81_all_squid-i2d-13_of_void.patch
# patch -p1 << ../90_all_squid-2.6.STABLE13-ToS_Hit_ToS_Preserve.patch

Grato,

[44] Comentário enviado por kerneldark em 24/04/2008 - 00:45h

Beleza, realmente pra aplicar os patchs, seriam:

# cd squid-2.6.STABLE13
# patch -p1 < ../80_all_squid-2.6.13-gentoo.patch
# patch -p1 < ../81_all_squid-i2d-13_of_void.patch
# patch -p1 < ../90_all_squid-2.6.STABLE13-ToS_Hit_ToS_Preserve.patch

Qualquer coisa, estamos ai.

[45] Comentário enviado por Good_speed em 24/04/2008 - 08:53h

Kerneldark

Nao conseguei fazer o cache full funcionar utilizando seu artigo,
ja revisei todo o artigo e nao achei nenhum erro, cara me dar uma forca ai,
onde vc acha que estou errando?, dei uma olhada na configuracoes do squid e
fiquei na duvida se nao esta faltando alguma linha de configurcao do zph?,
outro detalhe estou usando o slack 12 com Iptables-1.3.8, Squid-2.6.STABLE13, ]
HTB-tools-0.3.0a, Kernel-2.6.21.5-smp.


===================== squid.conf ========================

http_port 10.10.1.11:3128 transparent
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mem 128 MB
maximum_object_size 4096 KB
cache_swap_low 90
cache_swap_high 95
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log

#cache do squid, fique atento pra deixar o cache neste local /var/cache/squid
#cache_dir aufs /cache/squid 8000 16 256
cache_dir aufs /cache/squid1 2000 16 256
cache_dir aufs /cache/squid2 2000 16 256
cache_dir aufs /cache/squid3 2000 16 256
cache_dir aufs /cache/squid4 2000 16 256

access_log none
cache_store_log none
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
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

#aqui estão as máquinas de nosso cenário
acl máquina01 src 10.10.1.254
acl máquina02 src 10.10.1.253
#acl máquina03 src 192.168.254.3
#acl máquina04 src 192.168.254.4
http_access allow máquina01
http_access allow máquina02
#http_access allow máquina03
#http_access allow máquina04

http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all
#valor do tos necessário para o cache funcionar a toda velocidade.
zph_tos_local 16
zph_tos_parent off
forwarded_for off
error_directory /usr/share/squid/errors/Portuguese
coredump_dir /cache/squid
detect_broken_pconn on
pipeline_prefetch on

Grato pela ajuda!!!

[46] Comentário enviado por kerneldark em 24/04/2008 - 09:31h

Quando você está compilando squid, ou htb não dá nenhum erro? o controle de banda e squid estão funcionando?

[47] Comentário enviado por emersonwifi em 26/04/2008 - 21:34h

ola amigo !
seu artigo e show
mais meu cahe so esta funcionando a full quando baxo o winrar.
e eu quria saber se tem alguma maneira de automatizar o controle de banda

[48] Comentário enviado por Good_speed em 28/04/2008 - 11:06h

Kernekdark,

Na compilacao do squid e htb nao ouve nenhum tipo de erro, o controle de banda esta funcionando muito bem, o squid tb, so nao consigo baixa com velicidade full na segunda maquina de teste.

[49] Comentário enviado por emersonwifi em 28/04/2008 - 14:20h

o meu cache ta ate passando a full so nao esta na velocidade total da rede, so esta baixando o que esta no cache a 2Mbps
como faço para colocar a 100 Mbps

[50] Comentário enviado por mastergbi em 14/05/2008 - 14:29h

Não sei se alguem passou por isso, mais o eu "net" so funcionou quando add a linha:
echo 1 > /proc/sys/net/ipv4/ip_forward
Sem essa linha as maquinas clientes ficam sem internet...

[51] Comentário enviado por mastergbi em 14/05/2008 - 15:54h

Respondendo a resposta do amigo "emersonwifi", só baixa o winrar porque o winrar é menor q 4096 KB, ou seja ele baixa todo arquivo ate essa velocidade, eu também so tava baixando o winrar, mais quando eu teste outro de 2,11(brazip) ficou no proxy tb, para aumentar o limite eh so ir em /etc/squid/squid.conf e alterar de "maximum_object_size 4096 KB" para "maximum_object_size 10096 KB" coloquei 10M, ou vc eh q sabe...

[52] Comentário enviado por thiagobruno em 26/06/2008 - 17:02h

Estou com o mesmo problema do amigo cout lestat tenho hj 63 clientes cadastrados no HTB + Cache Full, porém quando eu add o cliente 64 da erro na linha 198.
Alguém teria uma luz sobre esse problema? ou entao uma solução p usar o cache full sem precisar aplicar o q_parser.c modificado???

desde já agradeço a atenção de todos.

[53] Comentário enviado por xterminal em 01/09/2008 - 11:39h

Ola pessoal, estou montando um servidor com controle de banda e cache full.... Estou com dificuldades na hora de compilar o HTB-tools, aparece o seguinte erro no shell.

# tar xvzf HTB-tools-0.3.0a.tar.gz
# cd HTB-tools-0.3.0a
# cd sys/
# rm -rf q_parser.c
# wget http://kerneldark.googlepages.com/q_parser.c
# cd ..
# make

Da uma olhadinho oq acontece ae...

flex -i sys/parse_cfg.l
make: flex: Comando não encontrado
make: ** [lex_parser] Erro 127

Ja fiz de tudo, so que nao tenho sucesso.!!! pesquisei mt no google e nada que possa me ajudar.

( Xterminal )

[54] Comentário enviado por paulo32 em 17/09/2008 - 11:08h

consigo aplicar o path sem problemas , mas quando digito a linha de comando ./configue \--perfix *... então ele executa depois eu dou um make e make install , mas não sei aonde vai parar o diretorio do squid. aonde vai parar o diretorio do squid quando faço asssim? e

[55] Comentário enviado por removido em 13/12/2008 - 02:02h

Estou com o mesmo problema "andre_mandrake", você já conseguiu resolver este problema?

alguém sabe o que pode ser?


eth0 - 192.168.10.202
eth1 - 192.168.10.203


______________________________+__________________________
root@rafael2:/etc/htb# htb eth1 start

Starting HTB-tools on eth1 ...
Checking the config file ...FAILEDThe configuration file contains errors.

_ já ate formatei e refiz tudo e nada...


obrigado!

[56] Comentário enviado por shinobi.do.vento em 26/12/2008 - 17:26h

Olá, amigo!

Estou com dificuldades em instalar o patch -p1 <../90, quando tento, aparece a seguinte mensagem de erro:

(Stripping trailing CRs from patch.)
patching file src/cf.data.pre
Reversed (or previously applied) patch detected! Assume -R? [n].

Poderia me ajudar??

Como se configura o squid como esses comandos:

# ./configure \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--datadir=/usr/share \
--sysconfdir=/etc \
--localstatedir=/var/lib \
--sysconfdir=/etc/squid \
--libexecdir=/usr/libexec/squid \
--localstatedir=/var \
--datadir=/usr/share/squid \
--enable-auth=basic,digest,ntlm \
--enable-removal-policies=lru,heap \
--enable-ident-lookups \
--enable-useragent-log \
--enable-cache-digests \
--enable-delay-pools \
--enable-referer-log \
--enable-arp-acl \
--with-pthreads \
--with-large-files \
--enable-htcp \
--enable-carp \
--enable-follow-x-forwarded-for \
--disable-snmp \
--enable-ssl \
--enable-storeio=ufs,diskd,coss,aufs,null \
--enable-async-io \
--enable-linux-netfilter

Eu digite no konsole do mesmo jeito que esta postado acima e não acontece nada. Perdão pelo desconforto, mas estou perdido nestas linhas de comando.

Desde já agradeço quem possa me ajudar.

[57] Comentário enviado por jgama em 27/12/2008 - 16:15h

Estou usando o Centos 5.2 e tive problema na hora de copilar o HTB, mas resolvir o problema pois faltava criar uma pasta asm e criar um link simbolico.

Uso Squid autenticado e depois de tudo configurado, fui fazer o teste e me supreendi, fiz um Download do jogo do fifa 2007 que demorou 2 horas e meia, pois o meu link é de 1MB "que lixo" ADSL com IP fixo.

Mas depois de termionado o download fui em outra estação e baixei o mesmo download de 564MB em 15 segundos.

Porém acho que as paginas da internet mesmo aquelas que já foram acessadas em outras máquinas demoram um poquinho para aparecer, não teria que ser rapinho como foi com o download?

Mesmo sabendo que hoje em dia a maioria da paginas são dinâmicas.

Estou usando esta configuração do eth1-qos-cfg

###############
# eth1-qos.cfg #
################
# for how to configure and use see docs/HowTo/


class redeInterna {
bandwidth 1000000;
limit 1000000;
burst 32;
priority 1;


client microsDaRede {
bandwidth 1000000;
limit 1000000;
burst 32;
priority 1;
upload 256;
src {
192.168.0.2/24;
192.168.0.3/24;
192.168.0.4/24;
192.168.0.5/24;

};
dst {
192.168.0.2/24;
192.168.0.3/24;
192.168.0.4/24;
192.168.0.5/24;

};

};
};

#Classe responsavel para controle de banda de internet

class download{
bandwidth 400;
limit 480;
burst 2;
priority 1;

client maquina01 {
bandwidth 120;
limit 400;
burst 2;
priority 1;
dst {
192.168.0.2/32;
};
};

client maquina02 {
bandwidth 120;
limit 400;
burst 2;
priority 1;
dst {
192.168.0.3/32;
};
};

client maquina03 {
bandwidth 120;
limit 400;
burst 2;
priority 1;
dst {
192.168.0.4/32;
};
};
};

class default { bandwidth 8; };

# Thank you for using this script <liviudm[AT]gmail.com>
# End of the script

Abraço

[58] Comentário enviado por kerneldark em 11/01/2009 - 10:10h

Como venho recebendo muitos emails com dúvida sobre o arquivo q_parser.c, venho esclarecer.

o q_parser.c modificado nada mais é do que o arquivo original adicionado o seguinte depois da classe raiz:

printf("$TC class add dev $DEV parent 1: classid 1:60 htb rate 100mbit ceil 100mbit burst %dk quantum 1536\n", max_burts);
printf("$TC filter add dev $DEV parent 1: protocol ip prio 1 u32 match ip protocol 0x6 0xff match ip tos 0x10 0xff flowid 1:60\n");

ou seja, na primeira linha é criada uma classe de 100 mbit
e na segunda é adicionado um filtro que joga os pacotes com marca 16 (0x10) pra classe de 100 mbit.

Eu apenas coloquei ele já modificado pra facilitar a vida.

Espero que assim acabe a dúvida sobre o arquivo modificado.

Um abraço a todos.


[59] Comentário enviado por mauromx em 11/05/2009 - 14:32h

Desculpe o encomodo.

Copiei o seu ultimo comentário e colei no q_parser.
É normal essa falha de segmentação?

Obrigado!

[60] Comentário enviado por rodriguesoline em 23/07/2009 - 18:11h

Starting HTB-tools on eth0 ...
Checking the config file ...OK
Checking kernel support for HTB: present.
RTNETLINK answers: File exists
Command failed /tmp/eth0-qos.sh:261 <--- AQUI O ERRO
HTB-tools was successfuly started on eth0

Na hora de compilar o HTB-tools modifique a linha do q_parser abaixo

printf("$TC class add dev $DEV parent 1: classid 1:60 htb rate 100mbit ceil 100mbit burst %dk quantum 1536\n", max_burts);
printf("$TC filter add dev $DEV parent 1: protocol ip prio 1 u32 match ip protocol 0x6 0xff match ip tos 0x10 0xff flowid 1:60\n");

1:60 por 1:90 po exemplo

cada usario cadastrado no htb-tools ele cria
filter parent 1: protocol ip pref 1 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:50
filter parent 1: protocol ip pref 1 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:51
algo parecido, quando chega no 1:60 o erro acontece. Pois o mesmo já foi criado anteriormente no print acima
Solução troque a marcacão.

[61] Comentário enviado por raifnunes em 28/07/2009 - 13:24h

Estava com um problema : /bin/cp: impossÍvel fazer stat em `q_show': Arquivo ou diretório não encontrado

mais ja encontrei a solução, deviria ser colocado no turial de cara, ja que todos q htb q testei deu esse erro:

Pra quem ta com esse pro ai vai a solução:


$cd HTB-tools.0.3.0
$mkdir include/asm
$cp /usr/src/linux/include/linux/bitops.h ./include/asm/
$make

[62] Comentário enviado por ametalleiro em 01/09/2009 - 08:57h

raifnunes se não fosse sua dica... estaria me matando neste momento. Nos tutoriais que encontrei, nenhum havia essa dica. Obrigado mesmo!

[63] Comentário enviado por paulo32.nunes em 25/11/2009 - 18:57h

Kernel , parabéns pelo trabalho! comigo funcionou, e olhe que fazia tempo que procurava como aplicar este o cache full...valeu mesmo.

[64] Comentário enviado por kerneldark em 28/11/2009 - 12:39h

Obrigado, também agradeço a todos que comentaram com duvidas, criticas e soluções, assim ajudando a complementar o artigo.

[65] Comentário enviado por blooddragon em 31/03/2010 - 18:06h

Caros colegas,

ao executar comando make da o seguinte erro


imperium:~/pacotes/HTB-tools-0.3.0a# make
flex -i sys/parse_cfg.l
make: flex: Comando não encontrado
make: ** [lex_parser] Erro 127
imperium:~/pacotes/HTB-tools-0.3.0a#

se alguem poder ajudar agradeço...

Rodrigo R. dos Santos
Manaus-AM

[66] Comentário enviado por tosko em 08/07/2010 - 23:48h

seguinte tenho uma duvida,
pelo que ja estudei existe duas formar de se configurar o HTB certo?
uma é atravez daqueles comandos do pacote IPROUTE2
tc, qdisc, etc..
e outra atravez deste simples script que é o htb-tools certo ou errado?
a meu ver o kernel interpreta o que esta no script e transforma nos comandos complexos, mas istu tudo transparente para o usuario
é assim mesmo que funciona?
tenho uma outra duvida, se eu deixar uma maquina fora dos arquivos do htb, ela vai ficar sem controle de banda? baixando a tanto que puder?

[67] Comentário enviado por pakitao em 16/08/2010 - 11:47h

estou tendo problemas com a função follow_x_forwarded_for allow localhost, como posso resolver??

[68] Comentário enviado por kerneldark em 17/08/2010 - 21:12h

Respondendo ao blooddragon, como a própria mensagem já diz, você precisa instalar o pacote flex.
E ao Tosko, quem não for colocado vai cair na class default, que no exemplo é 8. Ou seja o cliente vai navegar a 1k.
Até mais galera.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts