千家信息网

squid代理服务的ACL访问控制、日志分析及反向代理(4.1版本)

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,squid代理服务的ACL访问控制、日志分析及反向代理squid的ACL访问控制列表squid提供了强大的代理控制机制,通过合理的设置ACL(Access Control List,访问控制列表)并进
千家信息网最后更新 2026年11月01日squid代理服务的ACL访问控制、日志分析及反向代理(4.1版本)

squid代理服务的ACL访问控制、日志分析及反向代理

squid的ACL访问控制列表

squid提供了强大的代理控制机制,通过合理的设置ACL(Access Control List,访问控制列表)并进行限制,可针对源地址、目标地址、访问的URL路径、访问的时间等各种控制条件进行过滤。

ACL访问控制通过以下两个步骤来实现:

①、使用acl配置项定义需要控制的条件;

②、通过http_access配置项对已定义的列表做"允许"或者"拒绝"访问的控制。

  1. 定义访问控制列表

    格式:acl 列表名称 列表类型 列表内容 ···

常见的访问控制列表类型

列表类型列表内容示例含义、用途
src(源地址)192.168.100.1、192.168.100.0/24源IP地址、网段
dst(目标地址)192.168.234.5、192.168.234.0/24、www.baidu.com目标IP地址、网段、主机名
port(目标端口)80、443、 8080、20目标端口
dstdomain(目标域).qq.com目标域,匹配域内的所有站点
time(访问时间)12:00-13:00、AS使用代理服务器的时间段
maxconn(最大并发连接)30每个客户机的最大并发连接数
url_regex(目标url地址)url_regex -i ^rtsp://目标资源的URL地址,-i表示忽略大小写
urlpath_regex(整个目标url路径)urlpath_regex -i sex adult目标资源的整个URL路径,-i表示忽略大小写

2.设置访问权限

定义好各种访问控制列表以后,使用http_access配置项来进行控制。

格式:http_access allow或deny 列表名···

在设置访问权限时,需要注意两点:

  1. 没有设置任何规则时:squid服务将拒绝客户端的请求
  2. 有规则但找不到相匹配的项:squid将采用与最后一条规则相反的权限。

演示实验

因为之前我们做了squid的透明代理的实验,所以这里就接着那个实验继续做,配置好透明代理后,我们可以使用IP为192.168.100.50的client(客户端)访问IP为12.0.0.12的web服务器,那么下面我们就通过设置acl访问控制列表使client不能访问web服务器

vim /etc/squid.conf

acl localhost src 192.168.100.0/24     #定义访问控制列表http_access deny localhost   #对列表做拒绝处理service squid stopservice squid start      #重启服务

squid日志分析

squid的日志分析功能需要借助sarg(Squid Analysis Report Generator),首先先部署安装sarg工具

  • 安装相关的软件环境包

yum -y install gcc gcc-c++ gd gd-devel httpd #这里的dg库是支持图像处理的软件

sarg下载地址

  • 安装sarg
mkdir /usr/local/sarg       #为sarg创建安装目录tar zxvf sarg-2.3.11.tar.gz -C /opt/  #将sarg解压到指定目录cd /opt/sarg-2.3.11/    #到sarg目录中进行编译安装./configure --prefix=/usr/local/sarg \    #这里指定安装目录--sysconfdir=/etc/sarg \    #指定配置文件目录--enable-extraprotection    #开启额外保护功能配置完后,进行编译和安装make && make install
  • 修改sarg配置文件

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   #不计入排序的站点列表文件(开启,删除none,添加路径)topuser_sort_field connect reverse   #top排序中有连接次数、访问字节、降序排列升序是normal (开启,修改BYTES)user_sort_field connect reverse    #用户访问记录  连接次数、访问字节按降序排序  (开启,修改BYTES)overwrite_report no   #同名日志是否覆盖(开启)mail_utility mailq.postfix   #发送邮件报告命令(开启,修改mail)charset UTF-8   #使用字符集 (开启)weekdays 0-6   #top排行的星期周期 (开启)hours 0-23   #top排行的时间周期(开启)www_document_root /var/www/html  #网页根目录(开启)

touch /usr/local/sarg/noreport 创建上述不计入站点文件,添加的域名将不被显示在排序中

ln -s /usr/local/sarg/bin/sarg /usr/local/bin/
#建立软链接,方便使用命令

systemctl start httpd.service
#因为我们要在网页里访问日志,需要我们开启httpd服务

  • 运行sarg

然后使用client登录网页管理界面

反向代理

squid反向代理可以加速网站的访问速度,可将不同的URL请求分发到后台不同的web服务器上,同时互联网用户只能看到反向代理服务器的地址,加强网站的访问安全。

squid反向代理加速的原理描述如下:

  • Squid反向代理服务器位于本地Web服务器和Internet之间,客户端请求访问Web服务器时,DNS将访问的域名解析为Squid反向代理服务器的IP地址,客户端将访问Squid代理服务器。

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

实验环境

服务器IP地址功能
代理服务器172.16.10.137squid代理服务
client172.16.10.131负责访问
真实服务器1172.16.10.129提供http服务
真实服务器2172.16.10.134提供http服务
  • 修改squid代理服务的配置文件

vim /etc/squid.conf

acl web1 dstdomain www.yun.comacl web2 dstdomain www.yun.com#定义两个个基于域名的控制列表,分别命名为web1,web2http_access allow web1 web2#允许以web1,web2为目标域名的访问http_port 172.16.10.137:80 accel vhost vport#将端口监听在 172.16.10.137的80端口上,accel 指启用加速模式,vhost,vport用于转发请求cache_peer 172.16.10.29 parent 80 0 no-query originserver round-robin weight=1 name=web1#cache_peer 指定后端服务器地址,80 为后端服务端口,0 为 ICP 端口号(多个 Squid 时用),originserver 指定资源服务器,round-robin指使用轮询方式,weight指的是权重,自由分配,name 指定一个别名cache_peer 172.16.10.134 parent 80 0 no-query originserver round-robin weight=1 name=web2#和上面的一样

这里记得重新启动squid服务

  • 修改两个http服务的首页内容,方便后面实验的验证

  • 修改客户端win7的地址解析使之识别www.yun.com

这样就实验成功了,访问www.yun.com,真实服务器会使用轮询的方式,分别轮流访问两台web服务器。

服务 服务器 代理 控制 地址 目标 客户 资源 配置 日志 客户端 文件 目录 实验 端口 域名 时间 网页 路径 排序 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州百单互联网科技有限公司 互联网科技公司的优势 互联网科技有限公司经营范围 美国互联网科技巨头监管 广州互联网科技公司 郑州华宇互联网科技 互联网科技素材视频竖屏 成都仁贤领冠互联网科技有限公司 广西拼得多互联网科技有限公司 健康食品互联网创新科技园项目 如何创新互联网科技 翼展科技 首家互联网医院 云南省自由互联网科技有限公司 互联网营销推广黑科技 美国互联网科技公司 半导体是互联网高科技吗 上海乐五互联网科技有限公司 美国五大互联网科技公司市值多少 北京军民互联网科技公司 瑞安市蟠桃会互联网科技有限公司 什么是科技互联网 百单网互联网科技有限公司怎么样 新浪科技互联网 富国互联网科技创新基金 互联网科技研发水平 烟台灵鸽互联网科技有限公司 中科明德北京互联网科技 互联网科技实习生岗位 美国互联网科技公司 半导体是互联网高科技吗
0