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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SQL存储过程之更新[通俗易懂]

    SQL存储过程之更新[通俗易懂]—添加存储过程USETestDBGOifOBJECT_ID(‘UpdataStudent’,‘P’)ISNOTNULLDropProcedureUpdataStudentgoCreateProcedureUpdataStudent@SN0INT,@SNameCHAR(10),@GenderCHAR(2),@BirthdayDATETIME,@MobileCHAR(20),@EmailCHAR(100),@HomeAddressCHAR(100),@P

    2022年10月9日
    4
  • 浏览器编译代码_ie浏览器html编辑器

    浏览器编译代码_ie浏览器html编辑器20个最强的基于浏览器的在线代码编辑器1.CompilrCompilr是一个在线编译器和在线IDE。可以用它来开发PHP,C,C++,Ruby。在浏览器中编译Java,C#和VB.net等。马上使用2.Dabblet跨浏览器兼容,对前端攻城师们来说是一个不得不处理的问题。为了在浏览器间呈现统一的显示效果,攻城师们不仅要为每个游览器添加CSS前缀,甚至还…

    2022年8月14日
    4
  • 数据库关系模型基本概念「建议收藏」

    数据库关系模型基本概念「建议收藏」0.什么是关系模型?1.关系模型以表为基本结构2.包括了基本的操作:并,差,广义积,选择,投影以及拓展的操作:交,连接,除3.还有完整性约束:实体完整性,参照完整性,用户自定义完整性。1.什么是关系?什么是表?关系是所有域的笛卡尔积的子集,关系是严格的数学定义,是一个集合,不允许有相同的元组出现。表是现代数据库依照关系的理论基础,它允许有相同的记录。2.关系模型有哪些操作?基本的操作:并,差,广义积,选择,投影拓展的操作:交,连接,除3.关系模型的完整性有哪些?实体完整性(主键

    2022年7月16日
    14
  • pycharm2021.3.2激活码【2021.8最新】

    (pycharm2021.3.2激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日
    321
  • 软件测试工程师面试自我介绍部分模板

    软件测试工程师面试自我介绍部分模板自我介绍大致格式是 面试官你好 我叫 XX 学校排名比较好的可以提一下毕业院校 计算机专业毕业后 做软件测试工作有 X 年了 首先感谢您能给我这次面试机会 就职过的公司 负责过哪些项目 挑重点的 大型的 你比较熟悉的项目说 的哪些测试工作 后面就是你的简历里面写的关于个人技能的那些东西 感觉内容不够的话就说下你常用的测试工具和缺陷管理工具 最后再礼貌的加上我的自我介绍已完毕 您看我还有什么需要补充的吗 附我个人的自我介绍 话说前头 我菜的一批 我的自我介绍仅供参考 面试官你好 我是 XX 计算机专业

    2025年8月3日
    3
  • 单调栈用法_栈函数

    单调栈用法_栈函数单调栈,是指栈内元素从栈底到栈顶单调递增或单调递减的栈。简单来讲,单调栈=单调+栈,它同时满足两个特性:单调性、栈。以单调递增栈来讲解单调栈原理。假设当前元素为x,(1)若x<栈顶元素,那就不满足单调递增性,这时将栈中元素y弹出,若此时条件仍然不满足,则继续弹出栈顶元素,直到满足条件,再将x入栈;(2)若x>=栈顶元素,满足单调递增性,将x入栈;如此不断重复以上步骤,直到所有满足条件的元素都入栈。以一个具体例子[3,5,2,6,8]为例:(1)首先将3入栈,此时栈中元素为[3];(2

    2022年9月22日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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