Implementação de delay pool com Squid: mudanças entre as edições

De Eriberto Wiki
Ir para navegação Ir para pesquisar
Linha 48: Linha 48:
A primeira ACL já é conhecida. A segunda define uma rede de gerentes.
A primeira ACL já é conhecida. A segunda define uma rede de gerentes.


Utilizando expressões regulares, a terceira ACL define ''exclusao'' como sendo tudo que tiver um ponto, seguido de htm, html...png, no fim da linha. A opção -i serve para fazer o Squid ignorar a caixa do caractere (case insensitive). Ou seja: -i jpg casa com jpg, JPG, jpG, JpG etc.
Utilizando expressões regulares, a terceira ACL define ''exclusao'' como sendo tudo que tiver um ponto, seguido de htm, html, php, txt, jpg ou png, no fim da linha. A opção ''-i'' serve para fazer o Squid ignorar a caixa do caractere (case insensitive). Ou seja: ''-i jpg'' casa com jpg, JPG, jpG, JpG etc.


A terceira linha define ''expediente'' como os dias de segunda a sexta-feira, das 06:30h às 19:00h.
A terceira linha define ''expediente'' como sendo os dias de segunda a sexta-feira, das 06:30h às 19:00h.


Definiremos que haverá 4 pools e que cada uma utilizará a classe 2.
Definiremos que haverá 4 pools e que cada uma utilizará a classe 2.
Linha 60: Linha 60:
  delay_class 4 2
  delay_class 4 2


Liberaremos o tráfego das extensões citadas na ACL ''exclusao'':
Liberaremos todo o tráfego das extensões citadas na ACL ''exclusao'':


  delay_parameters 1 -1/-1 -1/-1
  delay_parameters 1 -1/-1 -1/-1
  delay_access 1 allow exclusao
  delay_access 1 allow exclusao


A seguir, estabeleceremos os limites dos usuários como sendo 200 Kb/s:
A seguir, estabeleceremos os limites dos usuários como sendo 200 Kb/s (= 25000 B/s) durante o expediente:


  delay_parameters 2 -1/-1 25000/25000
  delay_parameters 2 -1/-1 25000/25000
  delay_access 2 allow rede_usuarios
  delay_access 2 allow rede_usuarios expediente


Definição dos limites dos gerentes de rede somente durante o expediente (280 Kb/s):
Definição dos limites dos gerentes de rede somente durante o expediente (280 Kb/s = 35000 B/s):


  delay_parameters 3 -1/-1 35000/35000
  delay_parameters 3 -1/-1 35000/35000
  delay_access 3 allow exclusao expediente
  delay_access 3 allow rede_gerentes expediente


Por fim, definiremos a velocidade dos usuários fora do expediente (560 Kb/s):
Por fim, definiremos a velocidade dos usuários fora do expediente (560 Kb/s = 70000 B/s):


  delay_parameters 3 -1/-1 70000/70000
  delay_parameters 3 -1/-1 70000/70000
  delay_access 3 allow exclusao expediente
  delay_access 3 allow rede_usuarios


== Veja também ==
== Veja também ==


[[Controle de tráfego com TC, HTB e Iptables]]
[[Controle de tráfego com TC, HTB e Iptables]]

Edição das 04h44min de 4 de novembro de 2011

<absHTML>

<tbody> </tbody>
Esta página está em construção e deverá estar pronta em poucos dias. Por favor, volte depois ou consulte-a agora com cautela e paciência.

</absHTML>

by (C) João Eriberto Mota Filho <eriberto (a) eriberto pro br>

Artigo criado em: 01 de novembro de 2011.

Última atualização: veja o rodapé desta página.

Tiny URL ou bit.ly: http://bit.ly/delay_pool



O que é delay pool?

Recurso do Squid Complementa controle de tráfego com HTB

Unidades de medida

As

Classes, pools e tráfego

Rajadas (bursts)

Exemplo simples de configuração

Considere uma ACL previamente existente em um Squid já configurado:

acl rede_usuarios src 172.20.0.0/16

Vamos implementar apenas uma pool, classe 2, para que possamos controlar o tráfego de cada IP individualmente. Não haverá um controle para a rede como um todo.

delay_pools 1
delay_class 1 2

Então, apenas reforçando, a primeira linha definiu que haverá apenas uma pool e a segunda diz que a pool 1 será classe 2.

A velocidade de cada usuário será de 200 Kb/s (kbits por segundo), que corresponde a 25000 B/s (bytes por segundo). O cálculo foi: 200 / 8 * 1000. Então, o resultado final será:

delay_parameters 1 -1/-1 25000/25000
delay_access 1 allow rede_usuarios

A primeira linha disse que a pool 1 não sofrerá controle global de rede (-1 significa livre). Diz ainda que cada usuário que fizer um download igual ou superior a 25 KB terá sua velocidade reduzida para 25000 B/s (= 25 KB/s). Ou seja: o primeiro 25000 é o tamanho do download e o segundo representa a velocidade final.

A segunda linha diz que a pool 1 será aplicada a quem for englobado pela ACL rede_usuarios.

Um exemplo um pouco mais sofisticado

Considere as seguintes ACLs:

acl rede_usuarios src 172.20.0.0/16
acl rede_gerentes src 172.21.0.0/16
acl exclusao url_regex -i \.(htm|html|php|txt|jpg|png)$
acl expediente time MTWHF 6:30-19:00

A primeira ACL já é conhecida. A segunda define uma rede de gerentes.

Utilizando expressões regulares, a terceira ACL define exclusao como sendo tudo que tiver um ponto, seguido de htm, html, php, txt, jpg ou png, no fim da linha. A opção -i serve para fazer o Squid ignorar a caixa do caractere (case insensitive). Ou seja: -i jpg casa com jpg, JPG, jpG, JpG etc.

A terceira linha define expediente como sendo os dias de segunda a sexta-feira, das 06:30h às 19:00h.

Definiremos que haverá 4 pools e que cada uma utilizará a classe 2.

delay_pools 4
delay_class 1 2
delay_class 2 2
delay_class 3 2
delay_class 4 2

Liberaremos todo o tráfego das extensões citadas na ACL exclusao:

delay_parameters 1 -1/-1 -1/-1
delay_access 1 allow exclusao

A seguir, estabeleceremos os limites dos usuários como sendo 200 Kb/s (= 25000 B/s) durante o expediente:

delay_parameters 2 -1/-1 25000/25000
delay_access 2 allow rede_usuarios expediente

Definição dos limites dos gerentes de rede somente durante o expediente (280 Kb/s = 35000 B/s):

delay_parameters 3 -1/-1 35000/35000
delay_access 3 allow rede_gerentes expediente

Por fim, definiremos a velocidade dos usuários fora do expediente (560 Kb/s = 70000 B/s):

delay_parameters 3 -1/-1 70000/70000
delay_access 3 allow rede_usuarios

Veja também

Controle de tráfego com TC, HTB e Iptables