Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Japão Radioativo
Por premoli
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Squid - Limitar banda para determinados sites e IPs
Linux user
Publicado por Adriano Henrique Ferraz em 04/07/2012

Login: adrianohf, 5512 pontos | Blog: http://www.adrianoferraz.com.br
[ Hits: 3448 ]

Squid - Limitar banda para determinados sites e IPs

Dica destinada a configurar o Proxy Squid para limitar banda de determinados sites e para determinados IPs internos.

Pensaremos no seguinte cenário: um ou dois funcionários acessam o YouTube com muita frequência para ouvir músicas, porém, os outros colaboradores acessam para buscar ajuda ou uma vídeo-aula.

Portanto, seria injusto bloquear o YouTube para toda a rede. Pensando nisso, apresento a seguinte configuração que criei e está me atendendo perfeitamente.

1. Preparação de ambiente: criando arquivos e diretórios

Crie o seguinte diretório: /etc/squid/mod_bandwidth

Em seguida crie os seguintes arquivos:
  • /etc/squid/mod_bandwidth/ips_1k.txt
  • /etc/squid/mod_bandwidth/sites_1k.txt
  • /etc/squid/mod_bandwidth/ips_50k.txt
  • /etc/squid/mod_bandwidth/sites_50k.txt

2. Configuração do Squid: editar o squid.conf

No arquivo squid.conf, insira as seguintes linhas:

################### Delay Pools ###################
acl sites_1k url_regex -i "/etc/squid/mod_bandwidth/sites_1k.txt"
acl sites_50k url_regex -i "/etc/squid/mod_bandwidth/sites_50k.txt"
acl ips_1k src "/etc/squid/mod_bandwidth/ips_1k.txt"
acl ips_50k src "/etc/squid/mod_bandwidth/ips_50k.txt"

delay_pools 2
# Libera 1kb/s para os sites cadastrados no arquivo "sites_1k.txt"
delay_class 1 2
delay_parameters 1 -1/-1 1000/1000 1000/1000
delay_access 1 allow sites_1k ips_1k
# Libera 50kb/s para os sites cadastrados no arquivo "sites_50k.txt"
delay_class 2 2
delay_parameters 2 -1/-1 50000/50000 50000/50000
delay_access 2 allow sites_50k
delay_access 1 allow sites_50k ips_50k
################### Delay Pools ###################

Salve o arquivo e faça restart ou reload no Squid:

# /etc/init.d/squid reload

3. Final: explicação

Veja que criei dois pools (duas configurações), uma para sites onde liberei somente 1 KB/s e outra para sites onde liberei somente 50 KB/s.

Os endereços IPs que estiverem no arquivo "ips_1k.txt" acessam os sites que estão no "sites_1k.txt" somente com 1 KB/s de velocidade, da mesma forma acontece com a regra de 50 KB/s.

Obs.: Qualquer site que NÃO estiver nos arquivos "sites_1k.txt" e "sites_50k.txt", não sofrerão nenhum tipo de limitação de banda.


Outras dicas deste autor
Nenhuma dica encontrada.

Leitura recomendada
   Dica Linux recomendada Personalizando a tela de login do Ubuntu 7.04
   Dica Linux recomendada Criar sua própria biblioteca C++
   Dica Linux recomendada Peanut Linux - Guia de instalação
   Dica Linux recomendada sidux versão 2009-03 Momos - notas de lançamento (release notes)
   Dica Linux recomendada Tocar DVD no Arch Linux e no KahelOS

Comentários
[1] Comentário enviado por johnnyb em 11/07/2012 - 15:26h:

Bacana mais vc Sabe como limitar portas, ou ips tipo para tornar a navegação das pessoas que usam o ultrasurf tao lento de maneira que ele desista de usar?


[2] Comentário enviado por gregorio_rr em 03/01/2013 - 08:10h:

Bacana a dica, aprendi muito com isso e implementei sua dica recentemente na empresa onde trabalho. Como utilizamos squid autenticado, ele já bloqueia automaticamente o UltraSurf sem precisar de regras e limitei a velocidade de banda por usuários, para 1mbps e 256kbps, os administradores que terão acesso full não incluí em regra alguma e ficou 100%.

#acl banda_1mbps proxy_auth -i "/etc/squid/usuarios/banda_internet/banda_1mbps"
#acl banda_256kbps proxy_auth -i "/etc/squid/usuarios/banda_internet/banda_256kbps"

###Quantidade de Controles de banda
#delay_pools 2

###Controle #1 | 1mbps
#delay_class 1 2
#delay_parameters 1 128000/128000 128000/128000
#delay_access 1 allow banda_1mbps

###Controle #2 | 256kbps
#delay_class 2 2
#delay_parameters 2 32768/32768 32768/32768
#delay_access 2 allow banda_256kbps

No arquivo de texto "banda_1mbps" adicionei os usuarios utilizarão 1Mb, em "banda_256kbps" os usuários que farão uso de 256kb e o nome que estiver em nenhum dos arquivos utilizará 100% da banda. Lembro que configurei de maneira a acessarem qq site na velocidade definida.

Para chegar ao resultado execute a seguinte soma, saiba qual a velocidade que será destinada àquele usuário, multiplique por 1024 e divida por 8.
Ex: Para 512 de velocidade de banda ficaria assim: 512 * 1024 = 524288 / 8 = 65536
Ou simplesmente multiplique o valor por 128, que é 1024/8 --> 512 * 128 = 65536.

Espero ter ajudado!



Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.