免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 13598 | 回复: 16

[proxy] squid限制下载文件大小和限制下载电影问题 [复制链接]

论坛徽章:
0
发表于 2006-04-27 09:30 |显示全部楼层
最近公司有人下载电影,严重影响上网速度,为杜绝此类情况再次发生,上面要求从技术手段上解决这个问题。
公司服务器用linux作为网关,通过squid+iptables透明代理上网,也有做QoS流量限制,但仍然有人在流量被限制的情况下开多线程下载电影,所以此次准备从squid代理入手,限制下载电影。

以下是squid.conf部分代码


  1. #用户分类
  2. acl advance arp 00:03:0d:32:39:92 00:05:5D:F6:B4:82
  3. acl vipuser   arp 00:C0:9F:9B:20:53 00:00:E8:18:C1:64
  4. acl LanUser src 192.168.1.3-192.168.1.24/32
  5. acl localhost src 127.0.0.1/32
  6. acl all src 0.0.0.0/0.0.0.0

  7. #行为分类
  8. acl Movies rep_mime_type video/mpeg
  9. acl UPLIMIT req_header Content-Length [5-9][0-9]{5} [0-9]{7,}
  10. acl download urlpath_regex -i \.mp3$ \.avi$ \.rmvb$ \.rm$ \.ra$ \.ram$ \.mpe$ \.smi$
  11. acl denysite dstdomain .tencent.com
  12. acl BadSites url_regex "/opt/squid/etc/badsites"
  13. acl worktime time SMTWHFA 7:40-12:00 13:00-21:30


  14. #具体规则
  15. http_access allow advance
  16. http_reply_access deny Movies worktime
  17. http_access deny UPLIMIT
  18. http_access deny download worktime
  19. http_access allow vipuser
  20. http_access deny badsites
  21. http_access allow localhost
  22. http_access deny denysite worktime
  23. http_access allow LanUser
  24. http_access deny all
复制代码



其中

  1. 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大小的文件下载,并限制下载电影类文件。但是实际上并没有实现,电影照样能下载。
另外,通过

  1. 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 编辑 ]

论坛徽章:
0
发表于 2006-04-27 09:42 |显示全部楼层
另外,在squid的mime.conf里面,对于rmvb格式文件,应该如何写?

  1. \.rmvb$         video/mpeg
复制代码
还是
  1. \.rmvb$         application/vnd.rn-realmedia
复制代码

论坛徽章:
0
发表于 2006-04-27 09:55 |显示全部楼层
已经搞定了。
通过下载分析,发现下载rmvb格式时,http头返回的下载类型为application/vnd.rn-realmedia,故在mime.conf里面将rmvb格式类型对应为application/vnd.rn-realmedia,就可在squid.conf里面添加acl控制下载此类文件了。但关于下载文件大小限制,还存在问题,有兄弟实现了请告诉我一声:)

附flashget下载日志



  1. Thu Apr 27 09:49:24 2006 已连接.
  2. Thu Apr 27 09:49:24 2006 GET /down/movie/tv/gong/01.rmvb HTTP/1.1
  3. Thu Apr 27 09:49:24 2006 Host: down3.tfol.com
  4. Thu Apr 27 09:49:24 2006 Accept: */*
  5. Thu Apr 27 09:49:24 2006 Referer: http://music.stedu.net/liuxingyinyue.htm
  6. Thu Apr 27 09:49:24 2006 User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
  7. Thu Apr 27 09:49:24 2006 Range: bytes=334680-
  8. Thu Apr 27 09:49:24 2006 Pragma: no-cache
  9. Thu Apr 27 09:49:24 2006 Cache-Control: no-cache
  10. Thu Apr 27 09:49:24 2006 Connection: close
  11. Thu Apr 27 09:49:24 2006 HTTP/1.0 403 Forbidden
  12. Thu Apr 27 09:49:24 2006 Server: squid/2.5.STABLE13
  13. Thu Apr 27 09:49:24 2006 Mime-Version: 1.0
  14. Thu Apr 27 09:49:24 2006 Date: Thu, 27 Apr 2006 01:50:05 GMT
  15. Thu Apr 27 09:49:24 2006 Content-Type: text/html
  16. Thu Apr 27 09:49:24 2006 Content-Length: 1121
  17. Thu Apr 27 09:49:24 2006 Expires: Thu, 27 Apr 2006 01:50:05 GMT
  18. Thu Apr 27 09:49:24 2006 X-Squid-Error: ERR_ACCESS_DENIED 0
  19. Thu Apr 27 09:49:24 2006 X-Cache: MISS from HttpServer
  20. Thu Apr 27 09:49:24 2006 Connection: close
  21. Thu Apr 27 09:49:24 2006 有错误发生!
  22. Thu Apr 27 09:49:24 2006 等待 5秒后重试

复制代码

论坛徽章:
0
发表于 2006-04-30 08:35 |显示全部楼层
原帖由 thatday 于 2006-4-27 09:55 发表
已经搞定了。
通过下载分析,发现下载rmvb格式时,http头返回的下载类型为application/vnd.rn-realmedia,故在mime.conf里面将rmvb格式类型对应为application/vnd.rn-realmedia,就可在squid.conf里面添加acl控制 ...

acl rmvb req_mime_type video/mpeg
reply_body_max_size 10240000 deny  rmvb

[ 本帖最后由 fangjy2008 于 2006-4-30 10:54 编辑 ]

论坛徽章:
0
发表于 2006-05-01 09:47 |显示全部楼层
顶,楼主,好贴啊.

论坛徽章:
0
发表于 2006-05-03 08:53 |显示全部楼层
好贴,支持

论坛徽章:
0
发表于 2006-05-05 06:32 |显示全部楼层
原帖由 dingjeff 于 2006-5-3 08:53 发表
好贴,支持

论坛徽章:
0
发表于 2006-05-10 09:38 |显示全部楼层
对一些p2p软件怎样做限制如:pplive 还有怎样限制用户用电骡下载

论坛徽章:
0
发表于 2006-05-17 14:15 |显示全部楼层
reply_body_max_size 10240000 deny !你的组

那样你就可以自由了

论坛徽章:
0
发表于 2006-05-24 20:55 |显示全部楼层
原帖由 zhouzhennb 于 2006-5-17 14:15 发表
reply_body_max_size 10240000 deny !你的组

那样你就可以自由了



这样也不行的,你有成功吗?
只要有reply_body_max_size限制,所有代理用户全部限制了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP