número máximo de conexões do Squid

4

Eu tenho um servidor proxy Squid que controla todo o tráfego de internet da minha rede.

Eu preciso de uma maneira de impedir que os usuários baixem arquivos grandes (digamos > 50MB) na minha rede. Eu bani algumas portas famosas (por exemplo, torrent), mas alguns downloads são possíveis pela porta HTTP. Obviamente não posso banir a porta 80!

Uma solução simples é limitar o número máximo de conexões simultâneas para cada IP (por exemplo, 3 conexões). É possível no Squid com essa configuração:

acl ACCOUNTSDEPT 192.168.5.0/24
acl limitusercon maxconn 3
http_access deny ACCOUNTSDEPT limitusercon

Mas essa solução tem um impacto muito ruim na navegação na web, porque qualquer navegador inteligente obtém diferentes partes de um site por várias conexões simultaneamente para acelerar a navegação na web. Mas se tivermos um número máximo de conexões, os navegadores não conseguirão obter algumas partes e o site será mostrado parcialmente e algumas partes / imagens / quadros não serão mostrados.

Então, podemos limitar o número máximo de conexões persistentes? Eu acho que esta política funcionará: Especifique o número máximo de conexões que está ativo por 10 segundos Mas Número de conexões simultâneas para cada IP é ilimitado

Mas como podemos implementar essa política quando o Squid? Com qual configuração?

UPDATE:

artifex e Tom Newton oferecidos usando uma abordagem de limitação de largura de banda para lutar contra os downloaders.

Mas a limitação de largura de banda no Squid tem uma falha: é estática e não pode mudar dinamicamente. Então, uma pessoa tem uma largura de banda limitada, não importa quantas pessoas estejam usando a internet (talvez ninguém!)

Além disso, essa solução não ajuda a impedir que as pessoas façam download. Eles ainda podem baixar, mas em uma velocidade menor.

Mas se encontrarmos uma maneira de terminar as conexões persistentes (ou qualquer conexão que esteja ativa mais que uma hora específica), fazer o download de arquivos grandes será quase impossível (sempre há algum jeito!)

    
por Isaac 27.10.2009 / 07:43

2 respostas

2

Isso não resolverá o problema da maneira que você pretende. Mas de uma maneira diferente, limitando cada host a uma determinada banda (não por solicitação, mas por host)

exemplo retirado de link

acl only128kusers src 192.168.1.0/24
delay_pools 1
delay_class 1 3
delay_access 1 allow only128kusers
delay_access 1 deny all
delay_parameters 1 64000/64000 -1/-1 16000/64000

isso especifica que todos os clientes têm 512kbits para compartilhar, mas um único ip só pode usar 128kbits.

observe que os valores para delay_parameters acima estão em BYTES e não em BITS.

    
por 27.10.2009 / 08:23
0

Você já tentou: reply_body_max_size ?

Nos documentos, parece exatamente o que você estava perguntando:

This option specifies the maximum size of a reply body. It can be used to prevent users from downloading very large files, such as MP3's and movies.

Por isso, tente adicionar o seguinte ao squid.conf:

reply_body_max_size 50 MB

    
por 02.06.2015 / 02:38