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