squid 的ACL访问控制

ACL访问控制

ACL是squid提供的一个强大的控制机制,通过合理的设置ACL(Access Control List)并进行限制,可以针对源地址、目标地址、访问的URL 路径、访问的时间等各种条件进行过滤。通过allow 和deny 进行控制。

在squid中设置ACL分为两步
1、定义ACL
2、调用ACL

定义ACL格式:
格式: acl 列表名称 列表类型 列表内容……
列表名称:自己设定

列表类型:
src              源地址,
dst              目标地址,

port            目标端口
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 列表名…….
例如以上面几个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 要全部用上否则启动时会报错,如果不用的话可以先注销掉。




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值