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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • leetcode单调队列_单调栈leetcode

    leetcode单调队列_单调栈leetcode0x00单调栈主要回答这样的几种问题比当前元素更大的下一个元素比当前元素更大的前一个元素比当前元素更小的下一个元素比当前元素更小的前一个元素0x01问题一维护一个单调递减的栈。Leetcode496:下一个更大元素I(超详细的解法!!!)Leetcode503:下一个更大元素II(超详细的解法!!!)Leetcode739:每日温度(超详细的解法!!!)cl…

    2022年9月22日
  • networkmanager配置文件在哪_需要运行networkmanager

    networkmanager配置文件在哪_需要运行networkmanager原文链接http://live.gnome.org/action/login/NetworkManagerConfiguration 本文对了解NetworkManager的使用和开发有很大帮助,澄清了一些NetworkManager中使用的概念,对阅读源代码和修改Bug有很大的帮助。 设置服务(SettingsServices)通过D-Bus服务提供配置给N

    2022年10月4日
  • 如何在vue组件中引入外部的css和js文件[通俗易懂]

    如何在vue组件中引入外部的css和js文件[通俗易懂]在使用vue框架开发时,我们都知道一个组件中可以同时写HTML、css、js代码,只需三个标签而已,如下:但是要真把所有的代码都写入一个组件文件当中,那么代码量是非常大的,极不便于修改和维护,这时就需要把css样式和js代码写到其他文件下,再引入组件当中。具体方法如下:在组件中引入css文件:<style>@importurl(css文件路径)</style>在组件中引入js文件:首先需要将我们…

    2022年10月8日
  • SpringBoot的定时任务

    SpringBoot的定时任务SpringBoot的定时任务

    2022年4月23日
  • java实现10种排序算法[通俗易懂]

    java实现10种排序算法[通俗易懂]1.冒泡排序(BubbleSort)importjava.util.Arrays;//冒泡排序publicclassBubbleSort_01{ publicstaticvoidmain(String[]args){ inta[]={3,44,38,5,47,15,36,26,27,2,46,4,19,50,48}; //记录比较次数 intcount=0; //i=0,第一轮比较 for(inti=0;i<a.length-1;i

    2022年6月21日
  • curl 命令详解

    curl 命令详解转载于:https://www.cnblogs.com/guixiaoming/p/8507268.htmlcurl是一种命令行工具,作用是发出网络请求,然后获取数据,显示在"标准输出

    2022年6月30日

发表回复

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

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