内容要点:html
1、Squid 中 ACL 的使用web
2、日志分析vim
3、反向代理浏览器
1、Squid 中 ACL 的使用缓存
(1)ACL 访问控制方式:安全
一、根据源地址、目标URL、文件类型等定义列表bash
acl 列表名称 列表类型 列表内容…服务器
二、针对已定义的 acl列表进行限制并发
http_access allow 或 deny 列表名称…dom
(2)ACL 规则优先级:
当一个用户访问代理服务器时,Squid 会顺序匹配 Squid中定义的全部规则列表,一旦匹配成功,当即中止匹配。当全部规则都不匹配时,Squid 会使用与最后一条相反的规则。
(3)经常使用的 ACL 列表类型:
src ->源地址 dst ->目标地址 port ->目标地址 dstdomain ->目标域 time ->访问时间 maxconn ->最大并发链接 ur_ regex ->目标URL地址 Urlpath_regex ->整个目标URL路径
(4)操做演示:
注:,要先作好代理功能,而且 Squid代理服务器要开放 3128端口,每次改好配置文件,都须要重启服务。
角色 | IP地址 |
Web服务器 | 192.168.220.136 |
Squid代理服务器 | 192.168.220.131 |
客户机 | 192.168.220.128 |
修改 /etc/squid.conf 文件
添加如下代码:
一、基于IP地址限制:
acl hostlocal src 192.168.220.128/32 //hostlocal表示是名称 http_access deny hostlocal //拒绝访问
二、基于时间限制:
acl work time WTHMFAS 11:00-12:00 //时间设置在 11:00-12:00 http_access deny work //拒绝访问
三、基于目标地址(就是web服务器地址)
能够将拒绝的目标地址添加到一个文件中
一、 mkdir /etc/squid //先建立一个目录 vim dest.list 将拒绝的ip地址添加到文件中 192.168.220.111 192.168.220.123 192.168.220.136 二、作规则 vim /etc/squid.conf acl destion dst "/etc/squid/dest.list" http_access deny destion
2、日志分析
第一步:安装 sarg 工具
Sarg(Squid Analysis Report Generator),是一款Squid 日志分析工具,采用HTML 格式,详细列出每一位用户访问Internet 的站点信息、时间占用信息、排名、链接次数、访问量等。
(1)安装图像处理工具:
yum install -y gd gd-devel pcre
(2)建立一个文件:
mkdir /usr/local/sarg
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)修改主配置文件 /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 //网页根目录
(6)添加不计入站点文件,添加的域名将不被显示在排序中
touch /usr/local/sarg/noreport
ln -s /usr/local/sarg/bin/sarg /usr/local/bin/ //方便管理,能够建立一个软链接
开启:
第二步:安装 Apache
yum install httpd -y
第三步:客户机上测试
浏览器上访问: http://192.168.220.131/squid-reports
经过这个工具,咱们能够看到详细的访问状况。
同时,也可使用周期性计划任务执行天天生成报告:
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)
3、反向代理
反向代理工做原理:
反向代理服务器位于本地WEB服务器和Internet之间。
当用户浏览器发出一个HTTP请求时,经过域名解析将请求定向到反向代理服务器(若是要实现多个WEB服务器的反向代理,须要将多个WEB服务器的域名都指向反向代理服务器)。由反向代理服务器处理器请求。反向代理通常只缓存可缓冲的数据(好比html网页和图片等),而一些CGI脚本程序或者ASP之类的程序不缓存。它根据从WEB服务器返回的HTTP头标记来缓冲静态页面。
角色 | IP地址 |
Web服务器1 | 192.168.220.136 |
Squid代理服务器 | 192.168.220.131 |
客户机 | 192.168.220.128 |
Web服务器2 | 192.168.220.137 |
一、配置 Squid 代理服务器:
修改 /etc/squidconf 文件
vim /etc/squid.conf http_port 192.168.220.131:80 accel vhost vport cache_peer 192.168.220.136 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1 cache_peer 192.168.220.137 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2 cache_peer_domain web1 web2 www.yun.com
service squid restart //重启squid systemctl stop httpd.service //关闭Apache服务
二、在两台 Web服务器上作一个测试网页:
三、客户机作一下域名解析:
修改一下,代理服务器端口:
四、浏览器访问 http://www.yun.com/