Limitação de velocidade por horário e extensão de arquivo. Como?

1. Limitação de velocidade por horário e extensão de arquivo. Como?

Eli Carlos
last_evolution

(usa Slackware)

Enviado em 28/10/2009 - 08:58h

Bom dia pessoal, tudo certo?

Estou montando um servidor de internet em um prédio onde os condominos precisam de internet liberada para navegação das 08:00Hs as 24:00Hs, então preciso limitar a velocidade dos downloads nesse intervalo de tempo deixando livre entre as 24:01Hs e 07:59Hs, quero fazer essa limitação pela extenção do arquivo (.exe .avi .wmv etc...) como crio as delays e ACL's? Sei que não é bom dar as respostas prontas e tal, mas é um caso urgente, se pudere me ajudar ficarei grato.


  


2. Re: Limitação de velocidade por horário e extensão de arquivo. Como?

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 28/10/2009 - 10:07h

No squid, verifique a opção delay_pool. Esta limita a velocidade do jeito q vc quiser. Mais exemplos:

http://www.linuxman.pro.br/squid/


3. Poderiam analisar meu squid.conf

Eli Carlos
last_evolution

(usa Slackware)

Enviado em 29/10/2009 - 11:34h

Pessoal, abaixo segue meu squid.conf, poderiam verificar se a ordem das acls estão corretas? Primeiro eu libero para depois negar ou o contrário? No caso agora, onde eu insiro o controle por horário? Obrigado.




hierarchy_stoplist cgi-bin ?
cache_mem 512 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 0 KB
cache_dir ufs /var/cache/squid 1000 16 256
cache_access_log /var/log/squid/access.log
ftp_user Squid@
# ACLS
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl redeinterna src 192.168.0.0/24
###CONTROLE POR EXTENSAO DE ARQUIVO###
acl extensoes url_regex -i .exe$ .mp3$ .vqf$ .tar.gz$ .gz$ .rpm$ .zip$ .rar$ .avi$ .mpeg$ .mpe$ .mpg$ .ram$ .rm$ .iso$ .raw$ .wav$ .mov$
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow redeinterna
http_access deny all
icp_access allow redeinterna
icp_access deny all

####CONTROLE DE BANDA####

delay_pools 1
delay_class 1 2
delay_parameters 1 -1/-1 -1/-1 30720/30720
delay_access 1 allow extensoes

visible_hostname on
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on



4. Re: Limitação de velocidade por horário e extensão de arquivo. Como?

Eli Carlos
last_evolution

(usa Slackware)

Enviado em 29/10/2009 - 11:39h

Ja achei a resposta em relação ao time, no caso eu irei criar dois arquivos de configuração e programar o cron para carregar cada um no horário que eu quero, um para liberar a banda e outro para limitar. Mas se puderem verificar a ordem das acls acima ficarei grato.

Abraços!


5. Re: Limitação de velocidade por horário e extensão de arquivo. Como?

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 29/10/2009 - 12:55h

Com relação ao horário, vc tá fazendo d uma forma mais difícil. No artigo q t passei, fala tb sobre as ACL's pra horário. É hiper simples d fazer e não precisa colocá-lo no cron.


6. Re: Limitação de velocidade por horário e extensão de arquivo. Como?

Eli Carlos
last_evolution

(usa Slackware)

Enviado em 29/10/2009 - 17:44h

Mas renato, nesse caso posso "mesclar" as acls de horário (time) e as de controle de banda? Por exemplo, só fazer a delay_pools funcionar no horário que eu determinar na acl time? Eu pesquisei na internet e não achei como fazer isso, seria bem mais simples mesmo. Mas se é possível, como eu faço? Qual a sintaxe e ordem que coloco as acls?

Abraços!


7. Re: Limitação de velocidade por horário e extensão de arquivo. Como?

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 29/10/2009 - 22:04h

Fale-me como exatamente vc queria fazer, tipo: "quero q tal rede fique limitada por tal dia/hora e o resto liberado". Assim facilita t ajudar... vou tentar fazer da melhor forma possível, ok?


8. Re: Limitação de velocidade por horário e extensão de arquivo. Como?

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 29/10/2009 - 22:52h

Procurei saber mais a respeito e num é tão fácil como eu esperava. Sabe inglês? Arranjei um exemplo fera do q vc quer fazer, passo-a-passo. Segue abaixo:

#####DELAY POOLS
#This is the most important part for shaping incoming traffic with Squid
#For detailed description see squid.conf file or docs at http://www.squid-cache.org

#We don't want to limit downloads on our local network.
acl magic_words1 url_regex -i 192.168

#We want to limit downloads of these type of files
#Put this all in one line
acl magic_words2 url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt
.ram .rm .iso .raw .wav .mov
#We don't block .html, .gif, .jpg and similar files, because they
#generally don't consume much bandwidth

#We want to limit bandwidth during the day, and allow
#full bandwidth during the night
#Caution! with the acl below your downloads are likely to break
#at 23:59. Read the FAQ in this bandwidth if you want to avoid it.
acl day time 09:00-23:59

#We have two different delay_pools
#View Squid documentation to get familiar
#with delay_pools and delay_class.
delay_pools 2

#First delay pool
#We don't want to delay our local traffic.
#There are three pool classes; here we will deal only with the second.
#First delay class (1) of second type (2).
delay_class 1 2

#-1/-1 mean that there are no limits.
delay_parameters 1 -1/-1 -1/-1

#magic_words1: 192.168 we have set before
delay_access 1 allow magic_words1


#Second delay pool.
#we want to delay downloading files mentioned in magic_words2.
#Second delay class (2) of second type (2).
delay_class 2 2

#The numbers here are values in bytes;
#we must remember that Squid doesn't consider start/stop bits
#5000/150000 are values for the whole network
#5000/120000 are values for the single IP
#after downloaded files exceed about 150000 bytes,
#(or even twice or three times as much)
#they will continue to download at about 5000 bytes/s

delay_parameters 2 5000/150000 5000/120000
#We have set day to 09:00-23:59 before.
delay_access 2 allow day
delay_access 2 deny !day
delay_access 2 allow magic_words2


#EOF

Fonte: http://www.tldp.org/HOWTO/Bandwidth-Limiting-HOWTO/install.html#AEN78


9. Re: Limitação de velocidade por horário e extensão de arquivo. Como?

Eli Carlos
last_evolution

(usa Slackware)

Enviado em 30/10/2009 - 10:25h

Cara valeu mesmo! Eu tenho o ingles fluente, realmente é exatamente o que eu precisava. Muiro obrigado!

Abraços!


10. Então ficará assim?

Eli Carlos
last_evolution

(usa Slackware)

Enviado em 30/10/2009 - 12:12h

hierarchy_stoplist cgi-bin ?
cache_mem 512 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 0 KB
cache_dir ufs /var/cache/squid 1000 16 256
cache_access_log /var/log/squid/access.log
ftp_user Squid@
# ACLS
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl redeinterna src 192.168.0.0/24
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow redeinterna
http_access deny all
icp_access allow redeinterna
icp_access deny all

####CONTROLE DE BANDA####

#####DELAY POOLS
#This is the most important part for shaping incoming traffic with Squid
#For detailed description see squid.conf file or docs at http://www.squid-cache.org

#We don't want to limit downloads on our local network.
#acl redeinterna url_regex -i 192.168

#We want to limit downloads of these type of files
#Put this all in one line
acl extensoes url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov
#We don't block .html, .gif, .jpg and similar files, because they
#generally don't consume much bandwidth

#We want to limit bandwidth during the day, and allow
#full bandwidth during the night
#Caution! with the acl below your downloads are likely to break
#at 23:59. Read the FAQ in this bandwidth if you want to avoid it.
acl day time 08:00-23:59

#We have two different delay_pools
#View Squid documentation to get familiar
#with delay_pools and delay_class.
delay_pools 2

#First delay pool
#We don't want to delay our local traffic.
#There are three pool classes; here we will deal only with the second.
#First delay class (1) of second type (2).
delay_class 1 2

#-1/-1 mean that there are no limits.
delay_parameters 1 -1/-1 -1/-1

#magic_words1: 192.168 we have set before
delay_access 1 allow redeinterna


#Second delay pool.
#we want to delay downloading files mentioned in magic_words2.
#Second delay class (2) of second type (2).
delay_class 2 2

#The numbers here are values in bytes;
#we must remember that Squid doesn't consider start/stop bits
#5000/150000 are values for the whole network
#5000/120000 are values for the single IP
#after downloaded files exceed about 150000 bytes,
#(or even twice or three times as much)
#they will continue to download at about 5000 bytes/s

delay_parameters 2 10240/150000 10240/120000
#We have set day to 09:00-23:59 before.
delay_access 2 allow day
delay_access 2 deny !day
delay_access 2 allow extensoes

visible_hostname on
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on


11. Re: Limitação de velocidade por horário e extensão de arquivo. Como?

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 30/10/2009 - 12:48h

Ao meu ver, está correto, mas pra certificar é só testando msm. Depois c me fala o resultado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts