Ajuda com o shaper + squid + debian [RESOLVIDO]

1. Ajuda com o shaper + squid + debian [RESOLVIDO]

daniel
danielrsj

(usa Debian)

Enviado em 18/10/2009 - 15:10h

Oi pessoal,
Tenho em minha rede um servidor que faz papel de firewall e proxy, e nele faço controle de banda de rede.

Funciona legal, já consigo fazer o controle de banda.
O problema é que o shaper está fazendo o controle de banda do cache do squid. E eu queria resolver isso.

Vou exemplificar o meu problema.

eu limitei a banda de download da porta 80 à 1Mb.
Então, se da minha rede interna eu fizer um download de um arquivo, este é baixado nesta limitação de 1 Mb.
Porém, se eu baixar novamente de outra máquina, como este arquivo já está no cache do squid, a transferência deveria ocorrer à 100Mb, que é a velocidade da rede interna, porém transfência é feita ainda na velocidade de 1Mb.
Sei que o cache do squid tá funcionando, porque se eu desativar o shaper e fizer o download, a primeira vez faz o download à 2Mb, que é a velocidade do meu link, já das próximas vezes que tento baixar o mesmo arquivo a velocidade já é de 100Mb.

O problema é que se alguem da rede tentar baixar esse arquivo que já está no cache, a transferência ocorre à 1Mb, e se ao mesmo tempo outro alguém tentar baixar outra coisa da internet irá concorrer no limite de 1Mb com o primeiro que está baixando algo que já está na rede interna, não fazendo muito sentido usar o cache do squid(Não sei se me entederam.. heheheh)

O que quero saber é o seguinte....
Tem como fazer o controle de banda de download da porta 80, mas não fazer esse controle quando o download for do cache do squid?

OBS.: testei tanto com proxy transparente como tambem com o proxy não transparente(porta 3128).


  


2. Resolvi

daniel
danielrsj

(usa Debian)

Enviado em 29/11/2009 - 23:07h

Oi pessoal,
Depois de muita pesquisa sem achar nada....
consegui resolver o problema com essa dica que encontrei aqui mesmo no vol.
http://www.vivaolinux.com.br/dica/CBQ-+-Cache-Full-%28Squid%29

Como futuramente esse link poderá estar quebrado vou colocar um breve resumo do que fiz.....

1º utilizando o iptables verifiquei se os pacotes contém o cabeçalho "X-Cache: HIT", ou seja, se está no cache. Caso verdadeiro, marca o pacote com um número decimal qualquer, eu escolhi o número 6.
# iptables -t mangle -A OUTPUT -p tcp -m connmark --mark 0 -m string --string "X-Cache: HIT" --algo kmp -j CONNMARK --set-mark 6
# iptables -t mangle -A OUTPUT -p tcp -j CONNMARK --restore-mark

2º Agora o seguinte comando do iptables encaminha para a classe ID 9 do CBQ caso o pacote esteja marcado com o número 6. Lembrando que a classe (ID 9) é definida através do nome do arquivo (cbq-0009.Cache-Full).



Criando as regras de CBQ
Primeiramente devemos criar um arquivo contendo as regras de CBQ para efetivar o cache full. No debian, os arquivos contendo as regras ficam em /etc/shaper/.

Arquivo: cbq-0009.Cache-Full

DEVICE=eth1,100Mbit,10Mbit
RATE=50Mbit
WEIGHT=5Mbit
PRIO=5

Neste arquivo não definiremos o parâmetro RULE porque a classe servirá para qualquer IP ou sub-rede.(Altere a velocidade conforme a sua necessidade)


3. Re: Ajuda com o shaper + squid + debian [RESOLVIDO]

Osama Jr.
/bin/laden

(usa Void Linux)

Enviado em 01/03/2010 - 09:12h

Cara talvez você possa me ajudar!
Essas regras de cbq devem ficar na máquina que roda o firewall o na que roda o squid?


4. Re: Ajuda com o shaper + squid + debian [RESOLVIDO]

daniel
danielrsj

(usa Debian)

Enviado em 01/03/2010 - 10:23h

vc deve colocar na máquina que é o gateway da rede.

Acredito que no seu caso deva ser o firewall...


5. Ajuda

Ades Almeida Fernandes
adesfernandes

(usa Ubuntu)

Enviado em 15/02/2013 - 12:12h

Olá acompanhei seu problema com o Shaper cbq e acho que vc poderá me ajuar.
meu shaper sempre funcionou perfeitamente mas de um tempo pra ca ele está apresentando uns problemas.
eu limito a banda das makinas em 500k cada porem se eu encaminhar todos os pacotes para aporta 3128 via iptables eu consigo fazer download de 12k no maximo mesmo na rede local, ou seja so da pau na porta 3128 pois se eu nao der esse comando funciona bem mas ao usar a porta do squid a velocidade fica muito baixa.


6. Ajuda

Ades Almeida Fernandes
adesfernandes

(usa Ubuntu)

Enviado em 15/02/2013 - 12:12h

Olá acompanhei seu problema com o Shaper cbq e acho que vc poderá me ajuar.
meu shaper sempre funcionou perfeitamente mas de um tempo pra ca ele está apresentando uns problemas.
eu limito a banda das makinas em 500k cada porem se eu encaminhar todos os pacotes para aporta 3128 via iptables eu consigo fazer download de 12k no maximo mesmo na rede local, ou seja so da pau na porta 3128 pois se eu nao der esse comando funciona bem mas ao usar a porta do squid a velocidade fica muito baixa.


7. Duvida na marcação do pacote

André Romero Alves de Souza
arasouza

(usa Debian)

Enviado em 06/04/2013 - 21:17h

danielrsj escreveu:

Oi pessoal,
Depois de muita pesquisa sem achar nada....
consegui resolver o problema com essa dica que encontrei aqui mesmo no vol.
http://www.vivaolinux.com.br/dica/CBQ-+-Cache-Full-%28Squid%29

Como futuramente esse link poderá estar quebrado vou colocar um breve resumo do que fiz.....

1º utilizando o iptables verifiquei se os pacotes contém o cabeçalho "X-Cache: HIT", ou seja, se está no cache. Caso verdadeiro, marca o pacote com um número decimal qualquer, eu escolhi o número 6.
# iptables -t mangle -A OUTPUT -p tcp -m connmark --mark 0 -m string --string "X-Cache: HIT" --algo kmp -j CONNMARK --set-mark 6
# iptables -t mangle -A OUTPUT -p tcp -j CONNMARK --restore-mark

2º Agora o seguinte comando do iptables encaminha para a classe ID 9 do CBQ caso o pacote esteja marcado com o número 6. Lembrando que a classe (ID 9) é definida através do nome do arquivo (cbq-0009.Cache-Full).



Criando as regras de CBQ
Primeiramente devemos criar um arquivo contendo as regras de CBQ para efetivar o cache full. No debian, os arquivos contendo as regras ficam em /etc/shaper/.

Arquivo: cbq-0009.Cache-Full

DEVICE=eth1,100Mbit,10Mbit
RATE=50Mbit
WEIGHT=5Mbit
PRIO=5

Neste arquivo não definiremos o parâmetro RULE porque a classe servirá para qualquer IP ou sub-rede.(Altere a velocidade conforme a sua necessidade)


Cara, desculpa minha ignorância na pergunta, mas tô tentando implantar o cache full no meu server também, e o seguinte onde no comando # iptables -t mangle -A OUTPUT -p tcp -j CONNMARK --restore-mark, é passado a classe 9, o ID 9, e caso eu queira outra classe.. se puder ajudar agradeço..






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts