一、Squid 中 ACL 的使用
(1)ACL 访问控制方式:
1、根据源地址、目标URL、文件类型等定义列表
acl 列表名称 列表类型 列表内容…
2、针对已定义的 acl列表进行限制
http_access allow 或 deny 列表名称…
(2)ACL 规则优先级:
当一个用户访问代理服务器时,Squid 会顺序匹配 Squid中定义的所有规则列表,一旦匹配成功,立即停止匹配。当所有规则都不匹配时,Squid 会使用与最后一条相反的规则。
实验步骤
修改配置文件,添加以下代码
1、基于IP地址限制
acl hostlocal src 192.168.100.20/32
http_access deny hostlocal
基于时间限制
acl time WTHMFAS 22:00-22:30
http_access deny work //拒绝访问
基于目标地址
可以将拒绝的目标地址添加到一个文件中
mkdir /etc/squid //先创建一个目录
vim dest.list
192.168.100.20
修改配置文件
acl destion dst "/etc/squid/dest.list"
http_access deny destion
二、日志分析
一、安装sarg工具
(1)安装图像处理工具
yum install -y gd gd-devel pcre
(2)、创建文件进行挂载并解压缩
tar zxvf sarg-2.3.7.tar.gz -C /opt/
解压到/opt/目录下
(3)、编译
./configure --prefix=/usr/local/sarg \
--sysconfdir=/etc/sarg \
--enable-extraprotection //额外安全防护
(4)、安装
make && make install
(5)、开启配置文件中的选项
vim /etc/sarg/sarg.conf
开启以下功能(稍作修改即可):
access_log /usr/local/squid/var/logs/access.log //指定访问日志文件
title "Squid User Access Reports" //网页标题
output_dir /var/www/html/squid-reports //报告输出目录
user_ip no //使用用户名显示
exclude_hosts /usr/local/sarg/noreport //不计入排序的站点列表文件
topuser_sort_field connect reverse //top排序中有连接次数、访问字节、降序排列
user_sort_field reverse //用户访问记录、连接次数、访问字节按降序排序
overwrite_report no //同名日志是否覆盖
mail_utility mail.postfix //发送邮件报告命令
charset UTF-8 //使用字符集
weekdays 0-6 //top排行的星期周期
www_document_root /varwww/html //网页根目录
(6)、添加不计入站点
touch /usr/local/sarg/noreport
ln -s /usr/local/sarg/bin/sarg /usr/local/bin/
//方便管理,可以创建一个软连接
开启sarg
在代理服务器上安装Apache
(7)、在客户机上进行测试
反向代理
1、修改配置文件
vim /etc/squid.conf
http_port 192.168.100.141:80 accel vhost vport
cache_peer 192.168.100.138 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1
cache_peer 192.168.100.132 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2
重新启动代理服务
2、在客户机上做域名解析
3、浏览器访问 http://www.yun.com/