本文共 2472 字,大约阅读时间需要 8 分钟。
在配置文章squid.conf中,ACL访问控制通过以下两个步骤来实现:
1:使用acl配置项定义需要控制的条件2:通过http_access 配置对已定义的列表做出"允许" 或者 "拒绝" 访问的控制定义控制列表: acl 列表名 列表类型 列表内容允许访问权限: http_access allow 列表名拒绝访问权限: http_access deny 列表名
src :源IP地址、网段、IP范围
acl zkc1 src 192.168.100.50/32http_access deny zkc1 //禁止zkc列表的IP进行访问
dst :目标IP、网段、主机名
acl zkc2 dst 192.168.100.11/32http_access deny zkc2 //禁止访问zkc2列表的IP
maxconn :每个客户机的并发连接数
acl MC20 maxconn 20 // 最大并发连接http_access deny MC20 //客户机的并发连接超过20将被阻止
url_regex :目标资源的URL地址 -i:表示忽略大小写
acl BURL url_regex -i ^rtsp:// ^emule:// //以rtsp:// 等 开头的URLhttp_access deny BURL //拒绝列表内URL
urlpath_regex :目标资源的整个URL路径 -i:表示忽略大小写
acl PURL urlpath_regex -i \.mp3$ \.mp4$ \.rmvb$ //以mp3、mp4、rmvb结尾的URL路径http_access deny PURL //禁止客户机下载mp3、mp4等文件
M—Monday 、T—Tuseday、W—Wednesday、H—Thursday、F—Friday、A—Saturday、S—Sunday
acl work time MTWHF 08:30-17:30 //时间为周一至周五 8点30到17点30http_access allow work //允许客户机在工作时间上网
port : 目标端口
acl ABC port 443 //目标端口443http_access deny ABC //禁止访问443端口
dstdomain : 目标域,匹配域内的所有站点
acl CBA dstdomain .qq.com //以.qq.com结尾的网站http_access deny CBA //禁止访问 .qq.com 结尾的网站
当需要限制的同一类对象较多时,可以使用独立的文件夹来存放,在acl配置行指出对应文件位置。
# mkdir /etc/squid # vim /etc/squid/dest.list 192.168.100.11 192.168.100.12 192.168.100.13 #目标web# vim /etc/squid.conf acl destionhost dst "/etc/squid/dest.list" http_access deny destionhost #拒绝列表(注意置顶)
客户机上需要做域名解析代理服务器的IP 为www.yun.com
# vim /etc/squid.confhttp_port 192.168.100.10:80 accel vhost vport (// 本地地址 accel:加速代理 虚拟主机 虚拟端口)cache_peer 192.168.100.11 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1cache_peer 192.168.100.12 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2(//指定负向服务器 ICP端口不开启设为0 不进行查询 指向真实服务器 轮询 最大连接30 权重1 名字)cache_peer_domain web1 web2 www.yun.com(//指定web1,web2的域名为www.yun.com )# service squid restart //重启服务
转载于:https://blog.51cto.com/13630803/2149229