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....
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.
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
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
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
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
Re: HTB x CACHE SQUID A FULL
/vamo la, alguem pode ajudar?
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...
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
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.
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
Re: HTB x CACHE SQUID A FULL
e ai pessoal, alguem tem mais alguma dica?
Re: HTB x CACHE SQUID A FULL
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!
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
Re: HTB x CACHE SQUID A FULL
Poste o link para nós.
Um abraço!
Re: HTB x CACHE SQUID A FULL
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
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!
Re: HTB x CACHE SQUID A FULL - R E S O L V I D O
hehehehe pode pertubar que tamos aki praisso!