- 论坛徽章:
- 0
|
最近公司有人下载电影,严重影响上网速度,为杜绝此类情况再次发生,上面要求从技术手段上解决这个问题。
公司服务器用linux作为网关,通过squid+iptables透明代理上网,也有做QoS流量限制,但仍然有人在流量被限制的情况下开多线程下载电影,所以此次准备从squid代理入手,限制下载电影。
以下是squid.conf部分代码
- #用户分类
- acl advance arp 00:03:0d:32:39:92 00:05:5D:F6:B4:82
- acl vipuser arp 00:C0:9F:9B:20:53 00:00:E8:18:C1:64
- acl LanUser src 192.168.1.3-192.168.1.24/32
- acl localhost src 127.0.0.1/32
- acl all src 0.0.0.0/0.0.0.0
- #行为分类
- acl Movies rep_mime_type video/mpeg
- acl UPLIMIT req_header Content-Length [5-9][0-9]{5} [0-9]{7,}
- acl download urlpath_regex -i \.mp3$ \.avi$ \.rmvb$ \.rm$ \.ra$ \.ram$ \.mpe$ \.smi$
- acl denysite dstdomain .tencent.com
- acl BadSites url_regex "/opt/squid/etc/badsites"
- acl worktime time SMTWHFA 7:40-12:00 13:00-21:30
- #具体规则
- http_access allow advance
- http_reply_access deny Movies worktime
- http_access deny UPLIMIT
- http_access deny download worktime
- http_access allow vipuser
- http_access deny badsites
- http_access allow localhost
- http_access deny denysite worktime
- http_access allow LanUser
- http_access deny all
复制代码
其中
- acl UPLIMIT req_header Content-Length [5-9][0-9]{5} [0-9]{7,}
复制代码
是参考了
http://www.squid-cache.org/mail-archive/squid-users/200508/0571.html
理想中,应该能实现限制超过10M大小的文件下载,并限制下载电影类文件。但是实际上并没有实现,电影照样能下载。
另外,通过
- acl download urlpath_regex -i \.mp3$ \.avi$ \.rmvb$ \.rm$ \.ra$ \.ram$ \.mpe$ \.smi$
复制代码
限制下载此类文件之后,http://www.xyz.com/movie/test.rmvb可以限制,
但http://www.xyz.com/movie/test.rmvb?cc638e95ce56696a7107eb4acccaa308此类下载则无法限制。
这是为何?
请有经验的兄弟帮忙分析一下:)
[ 本帖最后由 thatday 于 2006-4-27 09:35 编辑 ] |
|