Neste tutorial você vai aprender a usar as delay polls, que são opções do proxy/Squid para se poder fazer controle de banda. Eu o fiz porque não achava nada realmente interessante em português. Espero que gostem.
Esta acl que criamos está pegando tudo que é relacionado a ponto, ou seja, inclusive extensões html, jpeg, jpg, gif, php, png, htm, etc, que são usadas em páginas de internet.
Se você quer bloquear tudo menos estas extensões, faça assim:
Coloque as extensões dentro deste arquivo (mas apenas uma extensão por linha).
acl interno url_regex -i 192.168.1.0
delay_pools
Esta opção especifica o número de delay pools que você vai possuir, por exemplo, se você possui 2 delay pools, este número deve ser igual a 2, se você tem 3 delay pools, este número deve ser igual a 3 e assim por diante.
# delay_pools (número de delay pools)
delay_pools 2 #isto significa que nós possuímos 2 delay's pools.
# Como dito acima, o número de delay pools que vamos criar.
###################################################
#delay_class:
# Define a classe de cada delay pool. Deve haver exatamente uma classe de delay para cada delay pool.
# delay_class (número da delay pool) (número da classe da delay pool)
delay_class 1 2 #isto significa que a delay pool 1 é uma delay class 2
delay_class 2 2 #isto significa que a delay pool 2 é uma delay class 2
# Como visto acima, nós temos duas delay pools e duas delay class,
# e também podemos ver que nossas delay class são todas classe 2.
# Não esqueça, o primeiro número é sua delay pool, e o segundo é a sua delay class.
###################################################
# delay_access:
# Determina em qual delay pool uma requisição será encaixada. A primeira a combinar será utilizada, por isso verifique com #cuidado suas acls.
# delay_access (número da delay poll) allow|deny nome da acl
delay_access 1 allow palavras #estamos direcionando nossa delay pool 1(que é uma classe 2) para a acl palavras.
delay_access 2 allow interno #fazendo o mesmo que acima, porém para a acl interno(que também é uma classe 2).
###################################################
# delay_parameters:
# Define os parâmetros para uma delay pool. Cada delay pool tem um número de alocação de tráfego associado.
# delay_parameters (número da delay pool) agregado (delay_class 1)
# delay_parameters (número da delay pool) agregado individual (delay_class 2)
# delay_parameters (número da delay pool) agregado network individual (delay_class 3)
# Aqui vou mostrar apenas a saída da delay class 3 pois está engloba todas a opções.
# delay_parameters 1 -1/-1 24000/24000 1000/1000
# vamos ao significado:
# -1/-1:
# Valor AGREGADO: aqui especificamos quanto toda a banda vai utilizar, no caso -1/-1 significa
# valor ilimitado, por isso, se você quer limitar sua banda nunca coloque -1/-1.
# 24000/24000:
# Valor NETWORK(REDE):aqui especificamos quanto cada uma de nossas redes irá poder utilizar, no caso algo em torno de 23Kb/s.
# 1000/1000:
# Valor INDIVIDUAL:aqui especificamos quanto cada um de nossos usuários poderá utilizar, no caso menos de um 1K/s.
# Cada valor tem duas áreas, uma antes da barra e outra depois. Vamos lá.
# RESTORE:O antes da barra.
# Especifica quantos bits poderá ser trafegado por segundo.
# MAX:E lógico, o depois da barra.
# Especifica quantos bits poderá trafegar no total.
# Delay pools sempre trabalham com bits, não se esqueça.
delay_parameters 1 -1/-1 500/1000 #leia acima para entender.
delay_parameters 2 -1/-1 15000/25000 #leia acima para entender.
[3] Comentário enviado por carlos.ninho em 27/06/2004 - 02:52h
aumentando o delay de pacotes vc nao limita o uso de banda, mas sim o tempo de respota a quem o requisitou na rede.
nao vejo vantagens em utilizar esse tipo de parametro...
[4] Comentário enviado por flipe em 27/06/2004 - 10:49h
bem... muita gente gosta de utilizar a opção assim... é uma questão de ocasião e de que vc está precisando.. mas porém pode-se ver que na maoiria dos tutoriais eles recomendam assim.. mas não significa que esteja certo... :)
[5] Comentário enviado por ranho em 30/06/2004 - 09:22h
Olha, achei legal o seu tutorial, só acho que dava prah detalhar um pouco mais. Ae ia ficar nota 10... mas do geito que está vale um 8,5 dá prah ter uma boa noção de delay pools soh com o que vc escreveu.
[9] Comentário enviado por thomaz.victor em 16/01/2006 - 16:15h
Como saber o quanto eu devo limitar de trafego na rede.....
eu tenho uma conexão de 500k com o speed....
eh uso de escritorio.... nada de mais....
mas sao varios micros....
gostaria de saber se existe alguma matematica....pois acabei de implantar o squid aqui e a internet ja deu uma melhorada....
valeu....
[11] Comentário enviado por daniel_rg em 14/02/2006 - 19:32h
filipe
Valeu pelo tutorial, rápido e prático...
Mas parece que contém um erro: as acls "palavras" e "extensões" não deveriam ser sinônimos ?!
---
carlos.ninho...
cara, acho que você entendeu errado. O "delay pools" serve SOMENTE para controlar a banda.
Explicando como funciona o recebimento de uma página que está no servidor A, pelo cliente B:
1."A" envia um pacote com dados e um número sequencial
2."B" recebe este pacote e reenvia apenas o número sequencial (esta etapa é conhecida como "acknowledgement")
3.Ao receber o "acknowledgement", "A" envia o próximo pacote. Se "A" não receber o pacote em tempo hábil (RTT), então "A" presume que o pacote foi perdido e reenvia.
...
Perceba que o servidor só envia o próximo pacote ao receber a confirmação que o primeiro foi recebido.
Aliás, esta é uma das principais diferenças entre TCP e UDP: o TCP garante que o pacote foi recebido, embora seja "mais lento".
Quanto mais tempo demorar para enviar a confirmação, menos pacotes por segundo o servidor irá enviar, o que nós leva a uma forma eficiente de controlar a largura da banda.
Assim, sua dedução não foi totalmente errada: ele realmente serve para atrasar os pacotes. Mas esta é a lógica por trás de qualquer "estrangulador de banda".
Ou seja, pode usar sem medo que é EXTREMAMENTE útil....
Eu mesmo uso para garantir uma banda mínima para o setor de TI (no qual eu me incluo :)), outra para garantir alta velocidade no acesso de páginas essenciais (bancos, .gov, etc.), e outra para que o resto do pessoal não fiquem se degladiando entre si.
[12] Comentário enviado por malacker em 20/02/2006 - 09:02h
Já utilizei também estas delay_pools no squid, mas tive problemas. Na verdade o squid não faz um controle de banda. Ele faz pausas na conexão de acordo com o tempo (delay) que você escolheu e estas pausas acabam por danificar alguns arquivos em cache. Quando os demais usuários baixarem o arquivo que já está em cache, não consegirão instalar, ou virá com problemas. Para verificar como o squid trabalha, instale numa máquina XP (infelizmente) o programa MyVitalAgent.exe e faça um download controlado pelas delay_pools. Veja que ele causa um atraso devido as pausas na conexão. Depois experimente fazer um download sem passar pelas delay_pools e veja a diferença.
Não sei se você terá este problema, mas no meu caso, tive até que limpar os caches do squid para baixar um programa que funcionasse corretamente, afinal o cache ainda era do "squid quebrado".
Resolvi então fazer controle de banda apenas com cbq e pronto.
[15] Comentário enviado por interconections em 17/11/2008 - 12:17h
Ola amigo tenho um mikrotik com proxy em paralelo em um debian rodando o squid logicamente, e qria q esse servidor fizesse cache dos vidos do youtube, teria como vc postar essas regras pra mim adiconar no squid.conf?????