一、ACL概念
   Squid提供了强大的代理控制机制,通过合理设置ACL(Access Control List,访问控制列表)并进行限制,可以针对源地址、目标地址、访问的URL路径、访问的时间等各种条件进行过滤。
ACL访问控制的步骤:
  1、使用acl配置项定义需要控制的条件
  2、通过http_access配置项对已定义的列表做“允许”或“拒绝”访问的控制
二、ACL用法概述
(1)定义ACL访问列表
定义格式:acl  列表名称  列表类型  列表内容 ...
例:控制源IP网段
vim etc/squid.conf
acl smile src 192.168.1.0/24  192.168.4.0/24
常用的ACL列表类型
1 src       源地址 2 dst      目标地址 3 port      目标地址 4 dstdomain   目标域 5 time     访问时间 6 maxconn    最大并发连接 7 url_regex   目标URL地址 # 可以定义大的范围比如http://www.baidu.com 8 urlpath_regex  整个目标URL路径 # 可以定位到每个网站的具体目标的url,比如百度音乐的一首歌的url
(2)ACL访问控制
   定义好各种访问控制列表以后,需要使用httpd_access配置项来进行控制
格式:
  ~]#vim etc/squid.conf
  http_access  allow或deny  列表名……
  在每一条http_access规则中,可以同时包含多个访问控制列表名,各个列表之间以空格分隔,为“与”的关系,表示必须满足所有访问控制列表对应的条件才会进行限制
  规则匹配原理:
没有设置任何规则时,Squid服务将拒绝客户端的请求,有规则但找不到相匹配的项时,Squid将采用与最后一条规则相反的权限,即如果最后一条规则时allow,就拒绝客户端的请求,否则允许该请求,但是我们要尽量避免找不到相匹配的情况。
三、ACL列表的详细应用
1、禁止任何客户机使用此代理服务:
定义一条名为all的列表,匹配来自任意源地址的代理访问;然后拒绝此列表,注意ACL列表要写在前面
1.vi /etc/squid.conf 2 .acl all src 0.0.0.0/0.0.0.0 3 .http_access deny all 4 .systemctl reload squid.service
 2、允许多个局域网段在工作时间上网
1 .#vim /etc/squid.conf 2. acl all src 0.0.0.0/0.0.0.0 (有些版本要这么写acl all src all) 3. acl smile src 192.168.1.0/24 192.168.4.0/24 4.acl smiletime time MTWHF 08:30-17:30 (其中MTWHF是周一到周五的英文首字母) 5. http_access allow smile smiletime 6. http_access deny all 7. systemctl reload squid.service
3、通过黑名单限制目标网站
(1)首先创建地址列表文件(直接在配置文件里写也行,但是这种用列表文件的方式适合拒绝或允许的网站域名比较多的情况,而且方便增删管理)
1.vim /etc/squid/ipblock.list 2. 61.135.167.36 3. 60.28.14.0/24 4. vim /etc/squid/dmblock.list 5 .qq.com
(2)配置acl
1 .vim /etc/squid.conf 2 .acl IPBLOCK dst "/etc/squid/ipblock.list" 3 .acl DMBLOCK dstdomain "/etc/squid/dmblock.list" 4 .http_access deny IPBLOCK 5. http_access deny DMBLOCK 6 .systemctl reload squid.service

squid之------ACL控制的更多相关文章

  1. linux 运维,代理,acl控制访问

    运维概述:运行 & 维护,Operation & MaintanceIT运维.业务运维.日常管理运维采用相关的方法.手段.技术.制度.流程和文档等,对IT运行环境.IT业务系统和IT运 ...

  2. 项目实战4—haproxy 负载均衡和ACL控制

     haproxy实现高级负载均衡实战 环境:随着公司业务的发展,公司负载均衡服务已经实现四层负载均衡,但业务的复杂程度提升,公司要求把mobile手机站点作为单独的服务提供,不在和pc站点一起提供服务 ...

  3. 项目实战4—HAProxy实现高级负载均衡实战和ACL控制

     haproxy实现高级负载均衡实战 环境:随着公司业务的发展,公司负载均衡服务已经实现四层负载均衡,但业务的复杂程度提升,公司要求把mobile手机站点作为单独的服务提供,不在和pc站点一起提供服务 ...

  4. 使用Hadoop ACL 控制訪问权限

    使用Hadoop ACL 控制訪问权限 一.HDFS訪问控制 hdfs-site.xml设置启动acl <property>  <name>dfs.permissions.en ...

  5. 在ensp中的acl控制

    原理 实验模拟 实验拓扑 相关参数 我们在每一台路由器上设置ospf服务,使其互相能通 下面我们配置基本ACL控制访问 配置完成后,尝试在R1上建立telent连接 但是这样设置是不安全的,只要是直连 ...

  6. CenTOS7使用ACL控制目录权限,只给某个用户访问特定目录

    前言 Linux 基本的权限控制仅可以对所属用户.所属组.其他用户进行的权限控制,而不能精确地控制每个用户的权限.ACL 规则就是用来解决这个问题的. 使用 ACL 规则,我们可以针对单一账户设置文件 ...

  7. 使用Squid部署代理服务

    Squid是Linux系统中最为流行的一款高性能代理服务软件,通常用作Web网站的前置缓存服务,能够代替用户向网站服务器请求页面数据并进行缓存.简单来说,Squid服务程序会按照收到的用户请求向网站源 ...

  8. Linux实战教学笔记42:squid代理与缓存实践(一)

    第1章 Squid介绍 1.1 缓存服务器介绍 缓存服务器(英文意思cache server),即用来存储(介质为内存及硬盘)用户访问的网页,图片,文件等等信息的专用服务器.这种服务器不仅可以使用户可 ...

  9. 学习Squid(一)

    第1章 Squid介绍 1.1 缓存服务器介绍 缓存服务器(英文意思cache server),即用来存储(介质为内存及硬盘)用户访问的网页,图片,文件等等信息的专用服务器.这种服务器不仅可以使用户可 ...

随机推荐

  1. Web自动化测试—— Selenium+Python Windows环境搭建

    环境搭建前的准备: 1.到Python官网下载Python安装包:https://www.python.org/ 如果不能访问,可以试试下面的解决办法: a).安装VPN网络连接工具,推荐用Green ...

  2. chrome浏览器爬虫WebDriverException解决采用python + selenium + chrome + headless模式

    WebDriverException: Message: unknown error: Chrome failed to start: crashed 第一种:如果出现下面情况: chrome浏览器有 ...

  3. Jmeter(九)集合点

    性能测试需要模拟大量用户并发,集合点能够尽量让虚拟用户同一时刻发送请求, 在Jmeter中集合点是通过定时器-同步定时器来完成的.

  4. ControlTemplate in WPF ——ScrollBar

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...

  5. [Vuejs] 点击单选框触发两次点击事件的处理

    <el-radio-group v-model="uploadStatus" class="upload-status-radio"> <el ...

  6. Python密码登录程序的思考--学与习

    # 初学者的起步,对于开始的流程图结构还不太熟悉 #   思考: 1,write()与writelines()的区别,前者确定为字符串,后者为序列(列表,字典.元组等),自动为你迭代输入#      ...

  7. ios系统App Store安装包下载链接获取

    今天将自己开发的Android版本和ios版本的安装包通过生成二维码的方式展示在H5页面上,Android版的比较简单,但是ios的安装包用户必须从App Store(苹果应用市场)中下载安装,所以获 ...

  8. java script 的注释与分号

    // 单行注释 /**/多行注释 在js 中 变量.函数和操作符都是区分大小写的 什么是标识符 变量.函数.属性的名字.或者函数的参数. 变量的命名规范:不能以数字开头. 变量声明: var  nam ...

  9. 洛谷 P4779 单源最短路径(标准版) 题解

    题面 这道题就是标准的堆优化dijkstra: 注意堆优化的dijkstra在出队时判断vis,而不是在更新时判断vis #include <bits/stdc++.h> using na ...

  10. C++中函数异常规格的说明

    1,本文介绍一个新的概念,它是一个重要的概念,并且是 C++ 中的一个高级主题: 2,问题: 1,如何判断一个函数(不是自己写的,有可能是第三方库中的函数)是否会抛出异常,以及抛出那些异常? 1,学习 ...