Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1

    Padrão HTB x CACHE SQUID A FULL - R E S O L V I D O

    OLA PESSOAL, TENHO UMA DUVIDA QUERIA SABER SE ALGUEM POR AKI SABE COMO FACO PRA DEIXAR OS CLIENTES NAVEGANDO A FULL NO CACHE DO SERVIDOR, TIPO:
    SE A MAQUINA QUE FOR ABRIR UM SITE OU FAZER UM DOWNLOAD EO MESMO JA ESTIVER NO CACHE DO SQUID, O MESMO IRA NA VELOCIDADE FULL DA PLACA DE REDE MAS SE CASO O MESMO NÃO TIVER NO CACHE DO SQUID O HTB CONTROLA A VELOCIDADE NORMALMENTE COMO DEFINIDA NO SEU SCIPT DE CONFIGURACÃO DOS CLIENTES.
    FICO GRATO COM A COLABORA... DE TODOS....

  2. #2

    Padrão Re: HTB x CACHE SQUID A FULL

    isso é facil amigo.

    basta nas regras do seu htb (marcação por pacote) não marcar a porta 80 e ativar o delay pools no squid pra ninguem consumir o link todo.

    no meu htb eu faço assim na linha de marcação de pacotes:
    [size=10pt]$IPTABLES -t mangle -A FORWARD -p tcp -s $ADDR --dport ! 80 -j MARK --set-mark $ID[/size]
    assim eu libero essa porta do controle de banda.

    no squid eu tenho na parte de delay pools:
    acl paginas urlpath_regex -i "/etc/squid/acelerador/paginas.txt"

    delay_pools 2
    delay_class 1 3
    delay_class 2 3

    delay_access 1 allow paginas
    delay_access 1 deny all
    delay_access 2 allow wifi
    delay_access 2 deny all

    delay_parameters 1 -1/-1 -1/-1 109250/128000
    delay_parameters 2 -1/-1 -1/-1 18750/128000


    sendo que nesse arquivo citrado, coloquei apenas as extensões htm, asp, php, cgi, pl, etc...
    assim a navegação vai ficar turbinada, ja outras coisas (downloads, etc) vem no download de forma normal.

    espero ter ajudado.

  3. #3

    Padrão Re: HTB x CACHE SQUID A FULL

    cara descupa a demora to sem net aki, ta tudo parado.
    essa linha:
    $IPTABLES -t mangle -A FORWARD -p tcp -s $ADDR --dport ! 80 -j MARK --set-mark $ID
    essas variaveis $IPTABLES, $ADDR e $ID tenho que crialas?
    fico grato na sua ajuda

  4. #4

    Padrão Re: HTB x CACHE SQUID A FULL

    $IPTABLES -> local do iptables
    $ADDR -> endereço do seu cliente
    $ID -> identificador unico para o seu cliente, cada regra no HTB tem seu identificador

  5. #5

    Padrão Re: HTB x CACHE SQUID A FULL

    Meu rei,
    eu to usando o script pronto do htb peguei o mesmo no site do htb baixei o pacote pro slackware e instalei.
    tentei editar o arquivo do htb mas não achei nada do iptables dentro.
    queria te encomodar mais um pouco pra pedir sua ajuda.
    os arquivos dele fica dentro do /sbin
    os arquivos são
    htb
    htbgen
    q_checkcfg
    q_parser
    q_show
    onde devo emplementar?
    fico grato com sua ajuda

  6. #6

    Padrão Re: HTB x CACHE SQUID A FULL

    Citação Postado originalmente por KALAMAT
    isso é facil amigo.

    basta nas regras do seu htb (marcação por pacote) não marcar a porta 80 e ativar o delay pools no squid pra ninguem consumir o link todo.

    no meu htb eu faço assim na linha de marcação de pacotes:
    [size=10pt]$IPTABLES -t mangle -A FORWARD -p tcp -s $ADDR --dport ! 80 -j MARK --set-mark $ID[/size]
    assim eu libero essa porta do controle de banda.

    no squid eu tenho na parte de delay pools:
    acl paginas urlpath_regex -i "/etc/squid/acelerador/paginas.txt"

    delay_pools 2
    delay_class 1 3
    delay_class 2 3

    delay_access 1 allow paginas
    delay_access 1 deny all
    delay_access 2 allow wifi
    delay_access 2 deny all

    delay_parameters 1 -1/-1 -1/-1 109250/128000
    delay_parameters 2 -1/-1 -1/-1 18750/128000


    sendo que nesse arquivo citrado, coloquei apenas as extensões htm, asp, php, cgi, pl, etc...
    assim a navegação vai ficar turbinada, ja outras coisas (downloads, etc) vem no download de forma normal.

    espero ter ajudado.
    Tem como fazer isso usando o cbq, se tem como ficaria as regras?

    Obrigado

  7. #7

    Padrão Re: HTB x CACHE SQUID A FULL

    /vamo la, alguem pode ajudar?

  8. #8

    Padrão Re: HTB x CACHE SQUID A FULL

    Pessoal...atenção ai...

    Não limitar a porta 80 e usar o delay_pools é uma "faca de dois legumes"...Por exemplo...o cliente tem 256 Kbits de banda...Ai você define no HTB que ele tem 256 pra qualquer coisa, menos pra porta 80 (HTTP)...Ai você vai no SQUID e faz um delay_pools dizendo que ele tem 256...Blz...mas e se o cara fizer um download via FTP (passando por fora do proxy) e, ao mesmo tempo, fazer um download em HTTP....ele vai consumir 512 Kbits...

    A solução exata para este problema é usar o PATCH ZPH no SQUID (http://www.it-academy.bg/zph/)...

    Como ele trabalha: Aplicando esse patch no SQUID, ele meio que integra o SQUID com o QOS do Kernel...assim: ele cria uma "marcação" especial nos pacotes de requisição aos arquivos do cache do squid...é um número tipo assim: "0x8804ABCD"...Ai, quando você criar suas regras do HTB, você vai definir que os pacotes com essa "marca" terão velocidade total (ou seja, o cache vai vir com toda velocidade disponível no link):

    tc filter add dev $LANDEV parent 1:0 protocol ip prio 1 u32 match ip protocol 0x6 0xff match u32 0x8804ABCD 0xffffffff at 20 flowid 1:60

    Ai supondo que 1:60 é seu HTB default, vai vir com toda a velocidade...

  9. #9

    Padrão Re: HTB x CACHE SQUID A FULL

    A solução é a seguinte (ainda nao consegui!):

    Não ha como diferenciar um arquivo de cache do outro no htb, salvo por um detalhe:

    Quando um pacote nao esta no cache, o primeiro cabecalho enviado do proxy para o navegador contem o cabecalho:

    X-Cache: MISS ....

    Ja quando o arquivo esta no cache, ele retonar:

    X-Cache: HIT from ....

    A solucao que eu imaginei e que toda conexao onde o o "X-Cache: HIT" estiver presente, ele escapa do htb/cbq/etc..., assim:

    iptables -t mangle -I OUTPUT -p tcp --sport 8080 -m string --string 'X-Cache: HIT' --algo bm -j ACCEPT

    Porem somente um pacote (que contem a string) é aceito antes das marcacoes de QoS, eu preciso descobrir uma forma de identificar uma conexao cujo um dos pacotes, sendo aceitos pelo string "X-Cache: HIT" continuem a bater na regra.

    O bug que temo é que o navegador use a mesma conexao tcp para baixar demais arquivos, o que iria contraria a ideia.

    att,
    Patrick

  10. #10

    Padrão Re: HTB x CACHE SQUID A FULL

    Citação Postado originalmente por roneyeduardo
    Pessoal...atenção ai...

    Não limitar a porta 80 e usar o delay_pools é uma "faca de dois legumes"...Por exemplo...o cliente tem 256 Kbits de banda...Ai você define no HTB que ele tem 256 pra qualquer coisa, menos pra porta 80 (HTTP)...Ai você vai no SQUID e faz um delay_pools dizendo que ele tem 256...Blz...mas e se o cara fizer um download via FTP (passando por fora do proxy) e, ao mesmo tempo, fazer um download em HTTP....ele vai consumir 512 Kbits...

    A solução exata para este problema é usar o PATCH ZPH no SQUID (http://www.it-academy.bg/zph/)...

    Como ele trabalha: Aplicando esse patch no SQUID, ele meio que integra o SQUID com o QOS do Kernel...assim: ele cria uma "marcação" especial nos pacotes de requisição aos arquivos do cache do squid...é um número tipo assim: "0x8804ABCD"...Ai, quando você criar suas regras do HTB, você vai definir que os pacotes com essa "marca" terão velocidade total (ou seja, o cache vai vir com toda velocidade disponível no link):

    tc filter add dev $LANDEV parent 1:0 protocol ip prio 1 u32 match ip protocol 0x6 0xff match u32 0x8804ABCD 0xffffffff at 20 flowid 1:60

    Ai supondo que 1:60 é seu HTB default, vai vir com toda a velocidade...
    bom essa é a ideia, pois paginas html, asp, php, são pequenas e rápidas e com o delay pools eu identifico o tipo de pagina que o usuário esta acessando, pois se for um download de um exe, zip, rar, etc.. grande, eu faço ele voltar a velocidade normal dele que foi contratada.

  11. #11

    Padrão Re: HTB x CACHE SQUID A FULL

    Mas na verdade o maior problema não e sites e sim DOWNLOADS. uma vez ouvi falar de um cara que tava usando o bandlimit com cbq e mudou umas regras do iptables e conseguiu marcar os pacotes que estavam no cache e deixa a full ate hoje so tenho um pedaco q e esse:
    (OBSERVAÇÃO E UMA CONVERSA NO MSN)
    Jim diz:
    muda as regras de marcação de pacotes
    Júnior diz:
    nao entendi

    Jim diz:
    olha no rc.bandlimit o local onde sao marcados os pacotes
    Jim diz:
    sao regras de iptables que marcam os pacotes
    Jim diz:
    faz ele nao marcar qdo o destino for teu servidor
    Júnior diz:
    $IPTABLES -t mangle -A POSTROUTING -d $ip -j MARK --set-mark $mark
    Júnior diz:
    eh isso?
    Jim diz:
    isso
    Jim diz:
    -d $ip ! ip_do_proxy
    Júnior diz:
    sao quantas linha q tenho q mudar?
    Jim diz:
    varias
    Júnior diz:
    ixi acho q vou estragar o script!!!
    Jim diz:
    rs
    Júnior diz:
    $IPTABLES -t mangle -A POSTROUTING -d $ip 172.0.0.1 -j MARK --set-mark $mark
    vai ficar assim?
    eh so mudar toda as linhas como essa?
    Jim diz:
    nao
    Jim diz:
    ! IP
    Jim diz:
    !
    Jim diz:
    tem !
    Júnior diz:
    $IPTABLES -t mangle -A POSTROUTING -d $ip ! 172.0.0.1 -j MARK --set-mark $mark
    as outras linha q tenho q mudar sao iguais a essa?

    então ai esta falta entender como roda se alguem souber favor ajudar o mesmo no HTB

  12. #12

    Padrão Re: HTB x CACHE SQUID A FULL

    e ai pessoal, alguem tem mais alguma dica?

  13. #13

  14. #14

    Padrão Re: HTB x CACHE SQUID A FULL

    Citação Postado originalmente por roneyeduardo
    Pessoal...atenção ai...

    Não limitar a porta 80 e usar o delay_pools é uma "faca de dois legumes"...Por exemplo...o cliente tem 256 Kbits de banda...Ai você define no HTB que ele tem 256 pra qualquer coisa, menos pra porta 80 (HTTP)...Ai você vai no SQUID e faz um delay_pools dizendo que ele tem 256...Blz...mas e se o cara fizer um download via FTP (passando por fora do proxy) e, ao mesmo tempo, fazer um download em HTTP....ele vai consumir 512 Kbits...

    A solução exata para este problema é usar o PATCH ZPH no SQUID (http://www.it-academy.bg/zph/)...

    Como ele trabalha: Aplicando esse patch no SQUID, ele meio que integra o SQUID com o QOS do Kernel...assim: ele cria uma "marcação" especial nos pacotes de requisição aos arquivos do cache do squid...é um número tipo assim: "0x8804ABCD"...Ai, quando você criar suas regras do HTB, você vai definir que os pacotes com essa "marca" terão velocidade total (ou seja, o cache vai vir com toda velocidade disponível no link):

    tc filter add dev $LANDEV parent 1:0 protocol ip prio 1 u32 match ip protocol 0x6 0xff match u32 0x8804ABCD 0xffffffff at 20 flowid 1:60

    Ai supondo que 1:60 é seu HTB default, vai vir com toda a velocidade...
    - Baixei os fontes do squid
    - Baixei o patch do site e apliquei.
    - Atualizei minha versão a partir dos fontes patcheados

    Agora o squid nem levanta, mesmo com configuração original no squid.conf (Error due repited times)

    Roney, vc conseguiu utilizar essa solução que apresentou?

    Um abraço!

  15. #15

    Padrão Re: HTB x CACHE SQUID A FULL

    Sim, consegui sim! Tô rodando aqui a muito tempo sem problema algum...Se alguem ainda tiver interesse, eu tenho um pacote RPM que recompilei com o patch já aplicado. Se quiserem eu posto um link para download, lembrando que o pacote é para o CentOS e a versão do squid é um pouco antiga

  16. #16

    Padrão Re: HTB x CACHE SQUID A FULL

    Poste o link para nós.

    Um abraço!

  17. #17

  18. #18

    Padrão Re: HTB x CACHE SQUID A FULL

    o patch funciona 100% so tive um pouco de trabalho pra modificar o htb tools pra fazer automatico dai o resultado foi o controle de banda perfeito

  19. #19

    Padrão Re: HTB x CACHE SQUID A FULL - R E S O L V I D O

    Ei tianguapontocom, que bom que funcionou hein!! Seguinte, se alguem mais usar o htbtools, pode perturbar o tiangua que ele passa o esquema! Flw!

  20. #20

    Padrão Re: HTB x CACHE SQUID A FULL - R E S O L V I D O

    hehehehe pode pertubar que tamos aki praisso!