Squid代理服务器之二访问控制

来源:互联网 发布:日本相扑手寿命 知乎 编辑:程序博客网 时间:2024/05/12 04:28

squid有着众多的访问控制的功能

1.访问控制的语法
  acl xxx yyy zzz  --其中xxx是你这条访问规则的名字,yyy是这条访问规则的匹配方法,zzz是访问规则所要匹配的内容
  http_access action xxx  ---其中xxx是规则名称 action是这条规则被匹配后所采取的动作,有两种allow接受和deny拒绝.
匹配方法:
  1)src
     源地址 可以是192.168.1.1/24也可以是192.168.1.0/24还可以是192.168.1.1-192.168..1.10/24
  2)dst
    目的地址: 可以是192.168.1.1/24
  3)srcdomain
    客户所属的域:   例如abc.com
  4)dstdoamin
    请求服务器所属的域:  例如:bcd.com
  5)time
    访问时间:可以是星期几的英文也可以是小时和分钟
  6)port
    端口号
  7)proto
    使用的协议:例如http ftp telnet
  8)method
    请求网页的方法:get或者post

2,注意事项
  1,访问规则是顺序匹配的第一条首先匹配,最后一条最后匹配.所以匹配成功概率大的应该写在最前边
  2,某条规则匹配成功后,其后的规则就不再进行匹配了.

3,访问控制的实例
   1.允许本地客户端通过代理
     acl localclient src 192.168.1.0/24
     http_access allow localclient 
   2.禁止访问某些网站
      acl denyweb1 dstdomain xxx.com    //注意这里写的是域名
      http_access deny denyweb1
   3.禁止访问带有某些关键字的url
     acl url2 url_regex -i game       //-i表示不区分game这个关键字的大小写.url_regex的关键字位于url的字符串位置
      http_access deny url2
   4.禁止访问带有某些关键字的网站
      acl url3 urlpath_regex -i news       //news关键字在rul的网址部分
      http_access deny url3
   5.acl badurls dstdomain -i news.6.com   game.114.com
     http_access deny badurls
   6.禁止下载特定类型的文件
     acl denyfile url_regex -i /.swf$ /.mp3$
    http_access deny denyfile