ACL访问控制
ACL是squid提供的一个强大的控制机制,通过合理的设置ACL(Access Control List)并进行限制,可以针对源地址、目标地址、访问的URL 路径、访问的时间等各种条件进行过滤。通过allow 和deny 进行控制。
在squid中设置ACL分为两步
1、定义ACL
2、调用ACL
定义ACL格式:
格式: acl 列表名称 列表类型 列表内容……
列表名称:自己设定
列表名称:自己设定
列表类型:
src 源地址,
dst 目标地址,
src 源地址,
dst 目标地址,
port 目标端口
dstdomain 目标域名
time 访问时间
maxconn 最大并发量
url_regex 目标URL
urlpath_regex 整个目标URL 路径
dstdomain 目标域名
time 访问时间
maxconn 最大并发量
url_regex 目标URL
urlpath_regex 整个目标URL 路径
列表内容:要控制的具体对象,可以是多个值,以空格分号,“或”的关系
例如:
定义:
来自200网段和100网段的acl,(这里只是定义还没有调用不能做到范文控制,允许或者拒绝这两个网段使用squid代理要在调用的时候设置通过allow、deny来决定)
acl IP src 192.168.100.0/24 192.168.200.0/24
时间的ACL定义:
acl work time 8:30-17:30
目标或者源地址等的控制也可以是一个文件。把ip写在这个文件里面然后调用
acl IPBLOCK dst “/etc/squid/ipblock.list”
URL路径的定义可以是具体的也可以使用通配符来限制范围的url
acl MP3 urlpath_regex .*\.mp3$
通过上面大概知道的ACL定义的方法了吧!现在只是定义了但是并不能启动控制的效果,还需要调用这些定义的ACL来实现访问控制。
格式:
格式:
http_access allow 或deny 列表名…….
http_access allow 或deny 列表名…….
例如以上面几个ACL为例
允许100网段200网段在8:30-17:30使用squid进行上网,且不能听歌(MP3结尾的url路径拒绝
)
http_access deny MP3
http_access allow IP work
注意些的时候要注意逻辑思维,ACL匹配时从上往下匹配,匹配到就不在往下继续,以此为例如果先写允许的,那么squid一匹配到100网段或者200网段就直接允许了不在往下匹配,那么禁止MP3的url路径讲不在匹配此条就会失效。
没有设置任何规则时,squid 服务将拒绝客户端的请求。有规则但是找不到匹配项时,squid 将采用与最后一条规则相反的权限,即如果最后一条规则是allow,就会拒绝客户端的请求,否则允许该请求。
定义的ACL 要全部用上否则启动时会报错,如果不用的话可以先注销掉。