欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志

程序员文章站 2022-07-06 12:38:23
...

ACL访问控制:

ACL访问控制方式
●根据源地址,目标URL,文件类型等定义列表

Acl 列表名称 列表类型 列表内容......

●针对已定义的acl列表进行限制

http_access allow或deny 列表名称

ACL规则优先级
●一个用户访问代理服务器,Squdi会顺序匹配Squid中定义的所有规则列表,一旦匹配成功,立即停止匹配

●所有规则都不匹配,Squid会使用与最后一条相反的规则

常用的ACL列表类型

  • Src—> 源地址
  • Dst—> 目标地址
  • Dstdomain—> 目标域
  • Time —> 访问时间
  • Maxconn —> 最大并发连接
  • Url_regex —> 目标URL地址
  • Urlpath——regex —> 整个目标URL路径

ACL列表的应用

最简单的ACL控制

  • 1.禁止任何客户机使用次代理服务
  • 2.允许多个局域网段在工作时间上网
  • 3.通过黑名单限制

Squid ACL访问控制列表实验

实验环境

Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志

推荐步骤

1.基于之前安装好传统代理的环境,继续做(传统代理的安装参考上一篇的博客)
修改配置文件设置ACL规则

[aaa@qq.com init.d]# vim /etc/squid.conf 
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localhost src 192.168.148.150/32     ##监控client客户端的主机(192.168.148.150/32)取名为localhost
acl localnet src 10.0.0.0/8     
.....
# Deny requests to certain unsafe ports
http_access deny localhost       ##调用localhost,设置拒绝访问
[aaa@qq.com init.d]# service squid reload    ##重新加载配置文件
[aaa@qq.com init.d]# service squid restart    ##重启服务
正在关闭 squid...
正在启动 squid...

2.打开客户端输入服务端的地址做访问测试
Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
建立列表文件形式设置acl访问控制,文件中放入想禁用的IP地址
1.修改配置文件,创建列表

[aaa@qq.com squid]# vim /etc/squid.conf     ##修改配置文件
将原先设置的删除,添加新的设置
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localhost src "/etc/squid/test.list"        ##添加文件位置(绝对路径)
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
.....
# Deny requests to certain unsafe ports
http_access deny localhost       ##调用localhost,设置拒绝访问

[aaa@qq.com init.d]# mkdir /etc/squid        ##创建列表目录在/etc下
[aaa@qq.com init.d]# cd /etc/squid/
[aaa@qq.com squid]# vim test.list     ##创建文件
192.168.148.150         ##写入要禁止访问的IP地址
[aaa@qq.com squid]# service squid reload     ##重载服务
[aaa@qq.com squid]# service squid stop      ##停止服务
[aaa@qq.com squid]# service squid start      ##开启服务
正在启动 squid....

2.在客户端上输入web地址访问测试
Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志

sarg日志分析实验

实验环境

Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志

推荐步骤

1.将sarg工具拖到家目录下进行解压
Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志

[aaa@qq.com ~]# tar zxvf sarg-2.3.7.tar.gz     ##解压工具到当前目录下
[aaa@qq.com ~]# cd sarg-2.3.7/      
[aaa@qq.com sarg-2.3.7]# yum -y install gd gd-devel     ##安装环境包图像处理工具gd

Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
2.编译安装sarg工具,并修改sarg配置文件

[aaa@qq.com sarg-2.3.7]# mkdir /usr/local/sarg     ##创建安装目录
[aaa@qq.com sarg-2.3.7]# ./configure --prefix=/usr/local/sarg \     ##指定sarg目录
> --sysconfdir=/etc/sarg \    ##配置文件
> --enable-extraprotection    ##开启安全防护
[aaa@qq.com sarg-2.3.7]# make&&make install      ##编译安装
[aaa@qq.com sarg-2.3.7]# cd /etc/sarg/   ##切换到sarg的配置文件下

Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志

[aaa@qq.com sarg]# vim sarg.conf    ##修改配置文件
##配置文件中所有的都被注释了,我们需要取消注释一下内容
7 access_log /usr/local/squid/var/logs/access.log     ##7行指定访问日志开启
25 title "Squid User Access Reports"   ##25行网页标题
120 output_dir /var/www/html/squid-reports   ##120行报告输出目录
178 user_ip no   ##178行使用用户名显示
184 topuser_sort_field connect reverse    ##184行top排序中有连接次数,访问字节,降序排列,升序是normal
206 exclude_hosts /usr/local/sarg/noreport    ##206行不计入排序的站点列表文件
257 overwrite_report no    ##257行同名日志是否覆盖
289 mail_utility mailq.postfix    ##289行发送邮件报告命令
434 charset UTF-8    ##434行字符集UTF-8
518 weekdays 0-6     ##518行top排行的时间周期
525 hours 0-23      ##525行top排行的时间周期
633 www_document_root /var/www/html    ##633行网页根目录

[aaa@qq.com sarg]# touch /usr/local/sarg/noreport    ##创建不计入站点文件
[aaa@qq.com sarg]# ln -s /usr/local/sarg/bin/sarg /usr/local/bin/     ##将命令建立软链接

[aaa@qq.com sarg]# sarg    ##开启sarg服务
SARG: 纪录在文件: 526, reading: 100.00%
SARG: 成功的生成报告在 /var/www/html/squid-reports/2020Sep07-2020Sep07

Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志

[aaa@qq.com squid-reports]# yum -y install httpd     ##安装httpd服务
[aaa@qq.com squid-reports]# systemctl start httpd.service     ##查看服务是否开启 

Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
3.打开客户端输入网址:192.168.148.135/squid-reports访问
Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
可以设置周期性计划任务,每天生产报告

[aaa@qq.com 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)

客户端刷新页面
Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志

反向代理概述

●如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端;否则反向代理服务器将向后台的WEB服务器请求资源,然后将请求的应答返回给客户端,同时也将应答缓存在本地,供下一个请求者使用

工作机制

  • 缓存网页对象,减少重复请求
  • 将互联网请求轮询或按权重分配到内网Web服务器
  • 代理用户请求,避免用户直接访问Web服务器,提高安全性
    Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志

Squid反向代理实验

实验环境

Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志

推荐步骤

1.修改squid服务器的配置文件

[aaa@qq.com squid-reports]# vim /etc/squid.conf
#http_port 3128    ##注释掉
http_port 192.168.148.135:80 accel vhost vport
cache_peer 192.168.148.136 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1     ##节点服务器1最大访问30,权重1,别名web1
cache_peer 192.168.148.137 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2    ##节点服务器2最大访问30,权重1,别名web2
cache_peer_domain web1 web2 www.yun.com
[aaa@qq.com squid-reports]# systemctl stop httpd      ##关闭httpd服务,不然端口号会被httpd服务占用
[aaa@qq.com squid-reports]# service squid stop     ##关闭服务
[aaa@qq.com squid-reports]# service squid start     ##开启服务
正在启动 squid....

Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
2.打开一台新的虚拟机安装apache服务

[aaa@qq.com ~]# hostnamectl set-hostname web02     ##修改主机名方便区分
[aaa@qq.com ~]# su
[aaa@qq.com ~]# setenforce 0       ##关闭防护系统
[aaa@qq.com ~]# iptables -F     ##清空防火墙规则
[aaa@qq.com ~]# yum -y install httpd    ##安装apache服务
[aaa@qq.com ~]# cd /var/www/html/    ##切换到站点目录
[aaa@qq.com html]# vim index.html
<h1>this is test02</h1>     ##写入页面信息
[aaa@qq.com html]# systemctl start httpd.service 

Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
同理web虚拟机也写入页面信息

[aaa@qq.com html]# cd /var/www/html/
[aaa@qq.com html]# vim index.html
<h1>this is test01</h1>    ##写入页面信息
[aaa@qq.com html]# systemctl restart httpd.service

Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
2.打开客户端修改
将代理端口号改为80
Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
客户端配置DNS,按照图中步骤配置
Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
打开cmd Ping一下测试是否连通
Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
打开浏览器输入域名访问
Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
Squid代理服务器的应用--squid反向代理;ACL访问控制与sarg日志
采用的是轮询算法

相关标签: 缓存加速