Squid 代理服务器之 ACL 访问控制

Squid 代理服务器之 ACL 访问控制文章目录1.ACL访问控制方式2.ACL规则优先级3.ACL的定义步骤4.定义访问控制列表4.1方法一4.2方法二1.ACL访问控制方式根据源地址、目标URL、文件类型等定义列表格式为:acl列表名称列表类型列表内容…针对已定义的acl列表进行限制格式为:http_accessallow或deny列表名称…2.ACL规则优先级一个用户访问代理服务器时,Squid会以从上至下的顺序匹配Squid中定义的所有规则列表,

大家好,又见面了,我是你们的朋友全栈君。


1. ACL 访问控制方式

  • 根据源地址、目标 URL、文件类型等定义列表
格式为:acl 列表名称 列表类型 列表内容 ...
  • 针对已定义的 acl 列表进行限制
格式为:http_access allow 或 deny 列表名称 ...

2. ACL 规则优先级

  • 一个用户访问代理服务器时,Squid 会以从上至下的顺序匹配 Squid 中定义的所有规则列表,一旦匹配成功,立即停止匹配
  • 所有规则都不匹配时,Squid 会使用与最后一条相反的规则

3. ACL 的定义步骤

在配置文件 squid.conf 中,ACL 访问控制通过以下两个步骤来实现:

  • 通过 acl 配置项定义需要控制的条件
  • 通过 http_access 对已定义的列表做 “允许” 或 “拒绝” 访问的控制
#定义访问控制列表
#用法格式如下:
acl [列表名称] [列表类型] [列表内容] []

#常用
vim /etc/squid.conf
......
acl localhost src 192.168.126.15/32 				#源地址为 192.168.126.15
acl MYLAN src 192.168.126.0/24 						#客户机网段
acl destionhost dst 192.168.126.14/32				#目标地址为 192.168.126.14
acl MC20 maxconn 20									#最大并发连接 20
acl PORT port 21									#目标端口 21
acl DMBLOCK dstdomain .qq.com						#目标域,匹配域内所有站点
acl BURL url_regex -i ^rtsp:// ^emule://			#以 rtsp://、emule:// 开头的 URL,-i表示忽略大小写
acl PURL urlpath_regex -i \.mp3$ \.mp4$ \.rmvb$		#以 .mp3、.mp4、.rmvb 结尾的 URL 路径
acl WORKTIME time MTWHF 08:30-17:30					#时间为周一至周五 8:30~17:30,“MTWHF”为每个星期的英文首字母

4. 定义访问控制列表

格式:
acl [列表名称] [列表类型] [列表内容]
列表名称:名称自定义,相当于给 acl 起个名字(有点类似于 shell 脚本变量名)
列表类型:必须使用 squid 预定义的值,对应不同类别的控制条件
列表内容:是要控制的具体对象,不同类型的列表所对应的内容也不一样,可以有多个值(以空格为分隔,为 “或” 的关系)

4.1 方法一

vim /etc/squid.conf
.......
acl localhost src 192.168.100.10/24             #源地址为192.168.184.10
acl MYLAN src 192.168.100.0/24    				#客户机网段
acl destinationhost dst 192.168.226.129/32      #目标地址为192.168.184.20 
acl MC20 maxconn 20                             #最大并发连接20
acl PORT port 21                                #目标端口21
acl DMBLOCK dstdomain .qq.com                   #目标域,匹配域内所有站点
acl BURL url_regex -i ^rtsp:// ^emule://       	#以rtsp://. emule://开头的URL,-i表示忽略大小写
acl PURL urlpath_regex -i \.mp3$ \.mp4$ \.rmvb$ #以 .mp3、.mp4、.rmvb结尾的URL路径
acl WORKTIME time MTWHF 08:30-17:30             #时间为周一-至周五8:30~17:30, "MTWHF"为每个星期的英文首字母

第一条插入:
http_access deny host

4.2 方法二

启动对象列表管理

mkdir /etc/squid

vim /etc/squid/dest.list
192.168.226.129      #Squid服务器IP
192.168.226.0/24     #任意需要的网段

vim /etc/squid.conf
......
acl destinationhost dst "/etc/squid/dest.list"  #调用指定文件中的列表内容
http_access deny (或allow) destinationhost      #注意,如果是拒绝列表,需要放在 http_access allow all 前面

systemctl restart squid
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151754.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • griddata方法使用插值方法

    griddata方法使用插值方法’linear’Linearinterpolation(default)双线性插值’cubic’Cubicinterpolation双三次插值’natural’Naturalneighborinterpolation 自然邻近插值’nearest’Nearestneighborinterpolation最近邻近插值’v4’MATLAB®4grid

  • Next主题_next3d桌面主题

    Next主题_next3d桌面主题概述最近next6折腾了一段时间,最后还是回到了next5,但是添加阅读全文按钮以后,默认的摘要生成不太方便,于是就把注意打到了js上。这里整理一下next5生成摘要的方法。一、y

  • Java学习路线图,全套Java基础视频教程「建议收藏」

    Java学习路线图,全套Java基础视频教程「建议收藏」深知广大爱好Java的人学习是多么困难,没视频没资源,上网花钱还老被骗。为此我呕心沥血整理了这套Java教程,不管你是不懂电脑的小白,还是已经步入开发的大牛,这套路线路你都值得拥有,小白看上面的视频可以成功学会Java并且顺利工作,大神看了上面的资源肯定会谆谆乐道,教程的宗旨就是分享,专业,便利,让喜爱Java的人,都能平等的学习。首先建立好开发环境非常重要,工欲善其事,必先利其器。做任何开发……

  • 数据库分区与分表的区别「建议收藏」

    数据库分区与分表的区别「建议收藏」简单来说:分区:只减少读的压力分表:减少读写的压力

  • 虚拟机与服务器桥接不能上网,vmware虚拟机桥接模式不能上网

    虚拟机与服务器桥接不能上网,vmware虚拟机桥接模式不能上网IntelliJIDEA的Jetty部署插件jetty相对于tomcat来说,启动速度非常快,方便调试.在idea的maven项目中,只需要在pom.xml配置文件中配置jetty的插件即可.全部:mvc无法找到资源昨天装了vs2015,但是第二步没有完成.今天急急忙忙的用13打开一个mvc的项目,但是添加的控制器怎么都不能访问.无法找到资源.说明:HTTP404.您正在查找的…

  • visdom 使用教程

    visdom 使用教程visdom教程visdom安装与启动服务visdom常用功能image窗口:图像显示与更新窗口显示images窗口:多个图像显示与更新窗口显示text窗口:显示文本与更新文本line窗口:绘制折线图与更新折线图scatter窗口:绘制散点图与更新散点图visdom安装与启动服务安装visdompipinstallvisdom打开服务python-mvisdom.server…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号