+ Responder ao Tópico



  1. #1
    Assessoria a provedores Avatar de paulojrandrade
    Ingresso
    Apr 2006
    Localização
    Dourados, Brazil
    Posts
    291
    Posts de Blog
    1

    Exclamation Squid2.7 + ZPH-tool + Thunder - sem sucesso

    Bom dia amigos, estou tentando fazer cachefull para o squid com zph e Thunder, mas nao estou conseguindo q va a full para o cliente.
    Configuro o htb-tool para limitar cada cliente da rede a 320kb, até ai tudo bem esta limitando... qndo faço um download q nao esta no cache ele limita a 37 a 40Kb, mas qndo faço um download q sei q ja esta em cache ele tb limita a 320kb nao indo a full para o cliente... Segue minhas confs de firewall, htb e squid

    - Squid 2.7 com ZPH
    #ZPH
    zph_mode tos
    zph_local 0x60

    - Firewall Iptables

    # regras para Marcacao de pacotes e Prio
    iptables -A OUTPUT -t mangle -j CONNMARK --restore-mark
    iptables -A OUTPUT -t mangle -m mark ! --mark 0 -j ACCEPT
    iptables -A OUTPUT -t mangle -m string --string 'X-Cache: MISS from ' --algo kmp -j MARK --set-mark 5
    iptables -A OUTPUT -t mangle -m string --string 'X-Cache: HIT from ' --algo kmp -j MARK --set-mark 6

    iptables -A OUTPUT -t mangle -j CONNMARK --save-mark
    iptables -A OUTPUT -t mangle -j CONNMARK --restore-mark
    iptables -A OUTPUT -t mangle -m mark ! --mark 0 -j ACCEPT
    iptables -A OUTPUT -t mangle -m string --string 'Thunder: Thunder' --algo kmp -j MARK --set-mark 7
    iptables -A OUTPUT -t mangle -j CONNMARK --save-mark
    echo "#--> Marcando Pacotes para ZPH e TOS ..........[ OK ]#"

    - HTB-Tools

    class Rede {
    bandwidth 100000;
    limit 100000;
    burst 0;
    priority 1;
    #Classe responsavel para controle de banda de internet
    client PC_1 {
    bandwidth 300;
    limit 320;
    burst 2;
    priority 1;
    dst {
    192.168.254.20/32;
    };
    };
    uma para cada cliente .... com seu respectivo ip e velocidade
    mais uma pra q for do squid ou thunder

    client thunder {
    bandwidth 4096;
    limit 2048;
    burst 120;
    mark 7;
    priority 1;
    upload 128;
    dst {
    192.168.254.0/24 3128;
    };

    criei essa com o Mark e o numero q marquei no iptables.
    Detalhe... qndo crio uma para iqual a de cima com mark 5 e 6 da erro ao executar o htb-tool

    Obrigado desde ja a todos !!!

  2. #2

    Padrão Ok

    Agora sim!
    O ideal era você utilizar o recurso do SQUID para marcação TOS, pois usando o iptables pra reconhecer a marcação do cabeçalho funciona porem um pouco lenta e às vezes deixa passar.
    No seu squid.conf coloque essas novas linhas:

    Código :
     
    Código :
     
    Código :
    [COLOR=black][FONT=Verdana]zph_mode tos
    zph_local 0x10
    zph_sibling 0x10
    zph_parent 0x10
    zph_option 1
    [/FONT][/COLOR]


    Feito isso vou postar aqui no fórum a receita correta para o htb tools a receita feita, e rara.

    Código :
     
    Código :
     
    Código :
    [COLOR=black][FONT=Verdana]$TC class add dev $DEV parent 1: classid 1:0x200 htb rate 1025kbps ceil 12500kbps burst 125000k quantum 1536
    $TC class add dev $DEV parent 1:0x200 classid 1:0x201 htb rate 1025kbps ceil 12500kbps prio 0
    $TC qdisc add dev $DEV parent 1:0x201 handle 0x201: sfq perturb 10
    $TC filter add dev $DEV parent 1: protocol ip prio 1 u32 match ip protocol 0x6 0xff match ip tos 0x10 0xff flowid 1:0x201
    [/FONT][/COLOR]


    Onde TC e o próprio tc e $DEV e a interface a ser controlada.
    Essa e a forma mais correta de se reconhecer a marcação TOS feita pelo ZPH no squid.
    Caso queira deixar isso automático para que não tenha que rodar isso toda vez q restartar o htb tools basta vc colocar esses parâmetros dentro do q_parser.c antes de compilar o htb tools.
    Ate poderia te arrumar, mas não tenho mais aqui pois agora uso slamd64 e não tem o source do htb tools para 64bits disponível.

    Qualquer duvida posto ai, lembrando que depois de fazer isso pode remover a marcação de 'X-Cache: HIT from que não vai mais precisar dela.
    Boa Sorte.

  3. #3
    Assessoria a provedores Avatar de paulojrandrade
    Ingresso
    Apr 2006
    Localização
    Dourados, Brazil
    Posts
    291
    Posts de Blog
    1

    Exclamation Sem sucesso

    Karo amigo, ainda nao tive sucesso, sem querer abusar de sua boa vontade em me ajudar, posso adiciona-lo em meu msn ? Talvez eu esteja fazendo algo de errado.
    E tb nao vi a maneira de marcar e mandar a full os arquivos do Thunder.

    Grato pela atenção

  4. #4

    Smile

    Uma maneira de fazer cache full do thunder é marcando o header com o apache, e em seguida verificando o pacote com o '-m string' do iptables.

  5. #5
    Assessoria a provedores Avatar de paulojrandrade
    Ingresso
    Apr 2006
    Localização
    Dourados, Brazil
    Posts
    291
    Posts de Blog
    1

    Exclamation mesmo assim sem sucesso !!!!

    Citação Postado originalmente por darklinux3 Ver Post
    Uma maneira de fazer cache full do thunder é marcando o header com o apache, e em seguida verificando o pacote com o '-m string' do iptables.
    Exato amigo, conforme a regra q uso no firewall ele marca ... e a header do apache tb... mas meu problema nao é esse, é q qndo ativo o htb... oq esta no cache ou no thunder depois de baixa vai ao cliente na velocidade setada no eth1-qos.cfg... ou seja se for 320 tanto o video ou um arquivo baixado anteriormente vira a 37 a 40Kb...

    Nao consigo q o cliente receba a full estando em cache... zph setado no squid2.7, mark no firewall... nao sei oq tem de errado !!!

  6. #6
    Assessoria a provedores Avatar de paulojrandrade
    Ingresso
    Apr 2006
    Localização
    Dourados, Brazil
    Posts
    291
    Posts de Blog
    1

    Padrão RESOLVIDO !!! EIS A SOLUCAO

    Bom dia pessoal depois de 02 semanas perdendo cabelo, eis a solução para quem esta passando pelo q eu passei, sao detalhes q ninguem conta, acho q por medo de deixar de ganhar uma graninha !!!!

    Vamos lá..
    Seguindo os mesmos scripts q postei apenas vamos alterar algumas coisas... pois nos links da net q achei muitos estavam com links quebrados por isso q demorei tanto para descobrir e saber o caminho das pedras.

    OBS: Aqui uso Debian Lenny

    1- Instale seu squid2.7 com suporte a ZPH + o ThunderCache só seguir o Tuto q vem no Thunder (INSTALL_PTBR) isso atraves do apt-get.
    No seu squid.conf adicione

    zph_mode tos
    zph_local 0x10
    zph_sibling 0x10
    zph_parent 0x10
    zph_option 1

    2- Monte seu script firewall e adicione...

    iptables -A OUTPUT -t mangle -j CONNMARK --save-mark
    iptables -A OUTPUT -t mangle -j CONNMARK --restore-mark
    iptables -A OUTPUT -t mangle -m mark ! --mark 0 -j ACCEPT
    iptables -A OUTPUT -t mangle -m string --string 'Thunder: Thunder' --algo kmp -j MARK --set-mark 700
    iptables -A OUTPUT -t mangle -j CONNMARK --save-mark

    3- Baixe o HTB-tools-0.3.0a , agora vem o pulo do gato ( se seguir essa sequancia tudo dara certo !!!

    -
    -apt-get install libncurses5-dev kernel-package gcc make iproute dialog flex
    caregue esses modulos
    modprobe sch_htb
    modprobe sch_sfq
    modprobe cls_u32
    - mkdir /usr/local/man/man8
    -tar xvzf HTB-tools-0.3.0a.tar.gz
    Dentro do diretório HTB-TOOLS-0.3.0a, crie um diretório dentro do subdiretório /include. O diretório criado terá o nome de asm (/include/asm):
    baixe e descompacte dentro de /include/asm Bitops
    va em
    cd HTB-tools-0.3.0a
    cd sys/
    remova rm -rf q_parser.c
    baixe novamente wget http://kerneldark.googlepages.com/q_parser.c
    agora cd ..
    e make full
    pronto o htb-tool esta instalado

    edite etc/htb/eth1-qos.cfg e faça suas regras... no meu caso ...

    ################
    # eth1-qos.cfg #
    ################
    # for how to configure and use see docs/HowTo/
    class Rede {
    bandwidth 100000;
    limit 100000;
    burst 0;
    priority 1;
    #Classe responsavel para controle de banda de internet
    client PC_1 {
    bandwidth 300;
    limit 320;
    burst 2;
    priority 1;
    dst {
    192.168.254.31/32;
    };
    };
    ......

    no final coloquei

    client thunder {
    bandwidth 4096;
    limit 2048;
    burst 120;
    mark 700;
    priority 1;
    upload 128;
    dst {
    192.168.254.0/24;
    };
    };
    };
    class default { bandwidth 8; };

    Bom no meu esta tudo legalzão, oq nao esta em cache ele baixa a 320kbps e o q esta em cache tanto pelo squid como pelo thunder vem a full... Outra testei um video q estou asssitindo pela primeira vez... ele baixa controlado...

    Bom era isso q eu queria, agradeço ao Emanuel e aos colegas q me ajudaram...

    Obtive mais informações desses links
    HTB-Tools dando erro - Página 3
    Linux: Squid 2.6 + HTB-tools com cache full [Artigo]

  7. #7

    Padrão

    Joia Parabens mesmo!!! achou a soluçao e postou para todo mundo ver isto sim é ajuda ajudou a vc e este post ja ajuda quem esta batendo cabeça feito louco sem reclamar que correu atraz e se quiser tem que pagar pelo pulo do gato....

  8. #8
    Assessoria a provedores Avatar de paulojrandrade
    Ingresso
    Apr 2006
    Localização
    Dourados, Brazil
    Posts
    291
    Posts de Blog
    1

    Padrão hehehe

    heheeh valeu, espero q todos pensem assim, de de graça oq recebeste...
    Uma mao lava a outra !!!

    Pensem bem
    "Uma pessoa q te pediu uma ajuda hoje, amanha pode quebrar uma arvore pra vc "!!! hauahuaahu

  9. #9

    Wink

    Uma vez utilizei htb-tools nao funcionou do jeito que eu queria, dai resolvi estudar o tc e fazer minhas regras.

    1) cria-se a classe default na interface com a banda total.
    2) cria-se uma classe com velocidade de 320k
    3) cria-se outra classe com velocidade do cache full

    4) marca-se com iptables os pacotes com a string "thunder: thunder" (marcado com o apache), com mark 700 por ex.

    5)cria-se um filtro para tudo que tiver a marca do cache full (700) seja enviado para a classe 2(cache full)
    6) cria-se outro filtro para tudo que nao tiver a marca 700, seja enviado para a classe 1(320)


    Não postei os comandos por que agora nao me lembro de cabeça, desta maneira eu acho que fica mais enxuto e pode ser colocado dentro do seu proprio scritp de firewall

  10. #10

    Padrão

    Vai ser difícil fazer o zph funcionar, pois quem esta controlando a saida para os clientes não é o squid e sim o htb, então a regra para liberar mais ou menos velocidade tem que estar no htb, e não no squid, pois o zph manda full para a eth1, mais como a eth1 esta sendo controlada pelo htb e tem que passar por suas regras, não vai funcionar a não ser que vc consiga criar regras marcando pacotes que venham do servidor para o cliente tirando o controle de velocidade.

    Mais na minha opinião se vc esta fazendo isso para uma rede local é válido, agora se for para um provedor wireless, eu recomendaria que vc não manda-se sem controle para os clientes, pois o throughput do seu rádio ficaria lá em cima, e ai seria um tiro no pé, pois ao invés de vc aumentar a velocidade, o rádio ficaria tão ocupado que a velocidade do mesmo seria prejudicada.

    Espero ter ajudado..

  11. #11

    Padrão

    Amigos Bom dia, nao quero abusar da bontade de ninguem mas sou um pouco leigo em se tratando de servidores, mas preciso de ajuda dos colegas.
    Tenho um servidor MK e um CACHE com 3 Hds de 500GB em Raid, mas pra ate encher eles vai consumir um bocado de link, como estou precisando justamente de economia de link pois ja esta quase saturado, estive pensando se existe a possibilidade de o cache marcar todos os endereços usados pelos clientes durante o dia de 6:00h ate as 20:59h e fazer os Downloads destes endereços entre 21:00 as 5:59h, assim evitando de consumir link durante os horarios de pico.
    Lembrando que isto deveria ser feito somente durante o enchimento dos HDs, apos isso ae sim faria realmente sua legitima funcao nos horarios do pico.

    agradeço a todos. Abraços

  12. #12

    Smile

    Esta funcao nao está disponivel atualmente nas versoes do thunder cache, no forum se você entrar existem sugestões dos colegas exatamente como esta sua. O que está atuamente em trabalho, é no controle da velocidade do download realizado pelo thunder.

    Abs!

  13. #13
    MODERADOR-CHEFE Avatar de osmano807
    Ingresso
    Aug 2008
    Localização
    Araguari - Minas Gerais
    Posts
    1.980
    Posts de Blog
    5

    Padrão

    Citação Postado originalmente por neuri Ver Post
    Amigos Bom dia, nao quero abusar da bontade de ninguem mas sou um pouco leigo em se tratando de servidores, mas preciso de ajuda dos colegas.
    Tenho um servidor MK e um CACHE com 3 Hds de 500GB em Raid, mas pra ate encher eles vai consumir um bocado de link, como estou precisando justamente de economia de link pois ja esta quase saturado, estive pensando se existe a possibilidade de o cache marcar todos os endereços usados pelos clientes durante o dia de 6:00h ate as 20:59h e fazer os Downloads destes endereços entre 21:00 as 5:59h, assim evitando de consumir link durante os horarios de pico.
    Lembrando que isto deveria ser feito somente durante o enchimento dos HDs, apos isso ae sim faria realmente sua legitima funcao nos horarios do pico.

    agradeço a todos. Abraços
    NUNCA VAI EXISTIR ESSA FUNÇÃO EM NENHUM CACHE DE YOUTUBE.

    Caso você não tenha reparado, o youtube expira o link de +- 30 em 30 min, o que quer dizer que download em um horário específico nunca irá funcionar.

    A menos que a API do youtube suporte download, o que eu não me lembro... Se suportar, mesmo assim cada Thunder deverá ter uma própria Google ID.

    E sobre o limite de downoload, foi "falta de preguiça", pois utilizaram as funções nativas do php, mas não lembraram das libs de download, como libCurl, que é mais fácil e tem limite eficiente...