Search squid archive

Re: delay_access line

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Amos Jeffries wrote:
On Sun, 09 Aug 2009 15:03:10 +0100, Dayo Adewunmi <contactdayo@xxxxxxxxx>
wrote:
Amos Jeffries wrote:
Dayo Adewunmi wrote:
Amos Jeffries wrote:
Dayo Adewunmi wrote:
Hi

Is this a valid config line?

delay_access 6 allow lan-students magic_words url_words

Maybe.
Are "lan-students", "magic_words" and "url_words" the names of defined ACL?

Or do I need one for each acl?
You imply that they are, which makes the answer to the first question yes. And the second question:

   maybe yes, maybe no.

Since question 2 requires that we are psychic and can understand both what you intend to do with that single line and what the rest of your configuration looks like. There is no way we can do any better answers.

Amos
Sorry about that. Yes, the three are ACLs. lan-students is a /24 IP range

acl magic_words url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav

acl url_words url_regex -i ictp
Um, yeas those really are "words", with regex like that they can appear anywhere in the URL at all.

For example www.prettyavians.com will match magic_words, as will example.com/drawings/index.html and http://google.com/search?q=foo&ts=asuhihvrpmsvsd

This is the complete delay pool definition for these ACLs:

delay_class 6 3
delay_parameters 6 800/4000 1000/1000 600/800
delay_access 6 allow lan-students magic_words url_words
delay_access 6 deny all

I want lan-students to never use more than 4000bytes of my bandwidth, and for the same to apply to users (including those in a different delay pool) who download .mp3s, .zips, or use FTP to have this same restriction. This 4000bytes limit should also apply to those who
access websites with 'ictp' in the URL.
So, basically, any user who downloads mp3s and such, use FTP, navigates to ictp domains, should have their requests handled by the 6th delay pool: 800/4000 1000/1000 600/800, i.e.
actually 600bytes refresh/800bytes max.

Dayo
Take what you just explained and write your access lines that way...

(delay lan-students)
delay_access 6 allow lan-student

(or anyone using FTP)
acl ftp proto FTP
delay_access 6 allow FTP

(or anyone downloading .mp3s etc)
acl bad_downloads url_regex -i \.mp3(\?.*)$
delay_access 6 allow bad_downloads

(or any URL with ictp in it)
delay_access 6 allow url_words

(but thats all)
delay_access 6 deny all


Note the regex I use above to match .mp3 file extensions. With all extra code characters it will only match at the end of a URL file name.

Amos
Would the below delay pool definition work?

No. The regex is not valid. see below.

Is there a difference/advantage of putting each
ACL in its own line, or is it all the same?

Yes there is a difference.
http://wiki.squid-cache.org/SquidFaq/SquidAcl#head-57610c67cac987182f6055118dd6d29e1ccd4445
All the items listed in an ACL name are OR'd together. (any _one_ may
match)
All items on the same *_access line are AND'd together. (_all_ must match)


acl bad_downloads url_regex -i
[.mp3$|.exe$|.mp3$|.vqf$|.tar.gz$|.gz$|.rpm$|.zip$|.rar$|.avi$|.mpeg$|.mpe$|.mpg$|.qt$|.ram$|.rm
$|.iso$|.raw$|.wav$]

[] means any single character between.
meaning your regex may as well be written [.mp3$exvqftarpimsow|] and
matches every URL possible.

What I think you meant is:
acl bad_downloads url_regex -i
\.(mp(3|g|eg?)|exe|vqf|.gz|rpm|zip|avi|qt|ra?m|iso|raw|wav)(\?.*)$

acl ftp_downloads proto FTP

delay_class 6 3
delay_parameters 6 800/4000 1000/1000 600/800
delay_access 6 allow lan-students bad_downloads ftp_downloads
lan-students

Will block the bad word files only if being downloaded via FTP by a
student.

Student downloading via HTTP will be non-delayed, any people who are not
student will be non-delayed, any FTP access which is not a bad download
will be non-delayed.

delay_access 6 deny all

Dayo

Amos

Thank you, Amos. You've been a huge help with this! :-)

Dayo

[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux