一、Squid 中 ACL 的使用

(1)ACL 访问控制方式:
(2)ACL 规则优先级:
(3)常用的 ACL 列表类型:
(4)操作演示:

二、日志分析

第一步:安装 sarg 工具
第二步:安装 Apache
第三步:客户机上测试

三、反向代理

squid的ACL、日志分析、反向代理
squid的ACL、日志分析、反向代理
squid的ACL、日志分析、反向代理
修改 /etc/squid.conf 文件
添加以下代码:

1、基于IP地址限制:
squid的ACL、日志分析、反向代理
2、基于时间限制:
squid的ACL、日志分析、反向代理
squid的ACL、日志分析、反向代理
3、基于目标地址(就是web服务器地址)
可以将拒绝的目标地址添加到一个文件中
squid的ACL、日志分析、反向代理
squid的ACL、日志分析、反向代理

二、日志分析

安装 sarg 工具
Sarg(Squid Analysis Report Generator),是一款Squid 日志分析工具,采用HTML 格式,详细列出每一位用户访问Internet 的站点信息、时间占用信息、排名、连接次数、访问量等。

yum install -y gd gd-devel pcre
mkdir   /usr/local/sarg
tar zxvf sarg-2.3.7.tar.gz -C /opt/
./configure --prefix=/usr/local/sarg \
--sysconfdir=/etc/sarg \
--enable-extraprotection          //额外安全防护

make && make install

修改主配置文件 /etc/sarg/sarg.conf

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               //网页根目录

添加不计入站点文件,添加的域名将不被显示在排序中

touch   /usr/local/sarg/noreport
ln -s /usr/local/sarg/bin/sarg /usr/local/bin/
//方便管理,可以创建一个软连接

开启:
squid的ACL、日志分析、反向代理
第二步:安装 Apache

yum install httpd -y

浏览器上访问: http://192.168.220.131/squid-reports
squid的ACL、日志分析、反向代理
squid的ACL、日志分析、反向代理
通过这个工具,我们可以看到详细的访问情况。
同时,也可以使用周期性计划任务执行每天生成报告:

sarg -l /usr/local/squid/var/logs/access.log -o /var/www/html/squid-reports/ -z -d $(date -d "1 day ago" +%d/%m/%Y)-$(date +%d/%m/%Y)

三、反向代理

反向代理工作原理:
反向代理服务器位于本地WEB服务器和Internet之间。
当用户浏览器发出一个HTTP请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个WEB服务器的反向代理,需要将多个WEB服务器的域名都指向反向代理服务器)。由反向代理服务器处理器请求。反向代理一般只缓存可缓冲的数据(比如html网页和图片等),而一些CGI脚本程序或者ASP之类的程序不缓存。它根据从WEB服务器返回的HTTP头标记来缓冲静态页面。
squid的ACL、日志分析、反向代理
squid的ACL、日志分析、反向代理
squid的ACL、日志分析、反向代理
squid的ACL、日志分析、反向代理
修改一下,代理服务器端口:
squid的ACL、日志分析、反向代理
浏览器访问 http://www.yun.com/
squid的ACL、日志分析、反向代理