ACL技术(访问控制列表)
• Access Control List
• 访问控制列表
• 是一种包过滤技术
• ACL基于IP包头的IP地址、四层TCP/UDP头部的端口号、[五层数据]进行过滤
• ACL主要分为两大类:
○ 标准ACL
■ 表号范围:1-99
■ 特点:只能基于源IP对包进行过滤
○ 扩展ACL
■ 表号范围:100-199
■ 特点:可以基于源IP、目标IP、端口号、协议等对包进行过滤。
• ACL原理:
○ 路由器的每一个端口都视为一个门
○ 门可以进可以出,两个方向,in、out
○ ACL表就是贴在门上的名单,谁能进谁能出看门上的表就知道了
○ 但是表不能贴反了,门也有两个面呢,要贴在数据包能看到的那个面上
○ 要将表应用到接口上
○ 一个接口的一个方向只能贴一张表
• ACL表
○ 可以有多条限制,严格自上而下匹配执行。
○ 由两部分组成,条件和动作。
○ 如果没有满足条件,动作就不会生效,继续检查下一条。
○ 如果满足条件,就执行对应动作,并且不再继续向下检查。
■ 示例:
■ 这样就能过滤掉长得不帅的了。
■ 因为不满足第一条就会向下继续查找,直到找到满足条件的然后执行对应的动作。
○ 先后顺序很重要!!越细的流量越要写在最上面!!
○ 如果表里没有就干掉不让过!
• ACL命令(写ACL时会自动创建和更改对应ACL表):
○ 标准ACL:
■ conf t
■ access-list 表号 permit/deny 源IP或网段 反子网掩码
□ 反子网掩码:将正子网掩码0和1倒置
◆ 255.0.0.0-0.255.255.255
◆ 255.255.0.0-0.0.255.255
◆ 255.255.255.0-0.0.0.255
□ 反子网掩码作用:
◆ 用来匹配条件,与0对应需要严格匹配(过滤位),与1对应的忽略
□ 举例:
◆ access-list 1 deny 10.1.0.0 0.0.255.255
◆ 过滤掉源IP是10.1.xxx.xxx的包(与子网掩码对应,只严格限制0对应的位)
◆ access-list 1 deny 10.1.1.2 0.0.0.0
◆ 简写:access-list 1 deny host 10.1.1.2
◆ 过滤掉源IP是10.1.1.2的包
◆ access-list 1 deny 0.0.0.0 255.255.255.255
◆ 过滤掉所有
◆ 简写:access-list 1 deny any
○ 一般情况下,access表写好不能更改,只能在末尾添加。,或者选择删除重写。
■ no access-list 表号
○ 查看ACL表
■ show ip access-list [表ID]
○ 将ACL应用到接口:
■ int fax/x
■ ip access-group 表号 in/out
■ exit
○ 将ACL应用到三层交换机要进入对应的vlan
• 怎么写不容易出错?
○ 先判断ACL位置
○ 判断最终允许还是最终拒绝
○ 将严格的控制写在前面
○ 标准ACL
■ 标准ACL尽量写在靠近目标的接口上,否则可能会误杀。
○ 扩展ACL
■ 扩展ACL尽量写在靠近源目标的接口上,以免造成其他网络设备的资源浪费。
■ 同一个网段写在一起!
■ 最上面应该是最详细的!从上到下应该是 协议 端口 单独ip 网段 any
• 扩展ACL
○ 表号:100-199
○ 特点:可以基于源IP、目标IP、端口号、协议等进行过滤
○ 案例:
■ acc 100 permit tcp host 10.1.1.1 host 20.1.1.3 eq 80
□ 允许10.1.1.1通过tcp协议访问20.1.1.3的80端口
■ acc 100 permit icmp host 10.1.1.1 20.1.1.0 0.0.0.255
□ 允许10.1.1.1通过icmp协议访问20.1.1.0网段
■ acc 100 deny ip host 10.1.1.1 20.1.1.0 0.0.0.255
□ 拒绝 10.1.1.1 访问 20.1.1.0网段
■ acc 100 permit ip any any
□ 允许所有流量通过
• 命名ACL
○ 作用:可以对标准或扩展ACL进行自定义命名
○ 优点:
■ 自定义命名更容易辨认,也便于记忆!
■ 可以任意修改、插入、删除某一条。
○ 命令:
■ 创建
■ conf t
■ ip access-list standard/extended 自定义表名
■ 开始从deny 或 permit 编写ACL条目
■ exit
■ 删除某一条
■ ip access-list standard/extended 自定义表名
■ no 条目ID
■ exit
■ 插入
■ ip access-list standard/extended 自定义表名
■ 条目ID 动作 条件
■ exit
ACL技术(访问控制列表)的更多相关文章
- Centos下ACL(访问控制列表)介绍(转)
我们知道,在Linux操作系统中,传统的权限管理分是以三种身份(属主.属組以及其它人)搭配三种权限(可读.可写以及可执行),并且搭配三种特殊权限(SUID,SGID,SBIT),来实现对系统的安全保护 ...
- ACL(访问控制列表)
第六部分,访问控制列表.访问控制列表(Access Control List,ACL) 是路由器和交换机接口的指令列表,用来控制端口进出的数据包.应用场景有校园网中教师网和学生网分别管理,通过acl控 ...
- IOS - ACL (访问控制列表)
ACL 介绍 ACL 是一款 IOS 软件工具,而不是某种协议.从名字上来看,ACL 的主要功能是控制对网络资源的访问.事实上这是 ACL 最早的用途.现在 ACL 除了能够限制访问外,更多时候,我们 ...
- [转载]ACM(访问控制模型),Security Identifiers(SID),Security Descriptors(安全描述符),ACL(访问控制列表),Access Tokens(访问令牌)
对于<windows核心编程>中的只言片语无法驱散心中的疑惑.就让MSDN中的解释给我们一盏明灯吧.如果要很详细的介绍,还是到MSDN仔细的看吧,我只是大体用容易理解的语言描述一下. wi ...
- 详解cisco访问控制列表ACL
一:访问控制列表概述 ·访问控制列表(ACL)是应用在路由器接口的指令列表.这些指令列表用来告诉路由器哪些数据包可以通过,哪些数据包需要拒绝. ·工作原理:它读取第三及第四层包头中的信息,如源 ...
- CCNA 之 十 ACL 访问控制列表
ACL 访问控制列表 ACL(Access Control List) 接入控制列表 ACL 的量大主要功能: 流量控制 匹配感兴趣流量 标准访问控制列表 只能根据源地址做过滤 针对曾哥协议采取相关动 ...
- Linux之facl----设置文件访问控制列表(详解)
setfacl命令 是用来在命令行里设置ACL(访问控制列表) 选项 -b,--remove-all:删除所有扩展的acl规则,基本的acl规则(所有者,群组,其他)将被保留. -k,--remove ...
- Linux_ACL文件访问控制列表
一.ACL文件访问控制列表 前言 1️⃣:ACL-文件访问控制列表: 2️⃣:ACL可以针对单个用户,单个文件或目录来进行r.w.x的权限设定,特别适用于需要特殊权限的使用情况. 3️⃣:ACL就是可 ...
- 用访问控制列表(ACL)实现包过滤
用访问控制列表(ACL)实现包过滤 一.ACL概述 1.ACL(Access Control List,访问控制列表)是用来实现数据包识别功能的 2.ACL可以应用于诸多方面 a>.b包过滤 ...
随机推荐
- SQL Server常用函数及命令
1.字符串函数 --ascii函数,返回字符串最左侧字符的ascii码值 SELECT ASCII('a') AS asciistr --ascii代码转换函数,返回指定ascii值对应的字符 SEL ...
- Java中的Reference类使用
Java 2 平台引入了 java.lang.ref 包,这个包下面包含了几个Reference相关的类,Reference相关类将Java中的引用也映射成一个对象,这些类还提供了与垃圾收集器(gar ...
- 【GIT】随笔
GIT下载地址:https://git-scm.com/download/win安装方法:下一步默认路径:C:\Program Files\Git 使用方法:右键桌面->git bash her ...
- 使用Swiper快速实现3D效果轮播
最近经常接到轮播图3D效果的需求, 特在此记录一下以备之后使用. 具体实现效果如下: 在这里介绍两种使用方式, 一种原生的html+php后端渲染, 一种是使用vue. 原生实现 引入 首先我们介绍原 ...
- oracle 11g打补丁错误(Missing command :fuser)
在给oracle 11g数据库打补丁的时候出现以下错误: [oracle@node01 31537677]$ $ORACLE_HOME/OPatch/opatch apply Oracle Inter ...
- MobaXterm无法退格删除
MobaXterm退格删除出现^H,总是要取消输入重新敲语句,很麻烦 解决方法:打开MobaXterm-->settings-->Configuration,把"Backspac ...
- 从函数到包的Python代码层次
代码层次 Python是一门脚本语言,新建一个.py文件,写点代码,就可以跑起来了,无论放哪都可以.比如where.py文件: print("Where am I?") 那么问题来 ...
- C# 海量数据瞬间插入到数据库的方法
C# 海量数据瞬间插入到数据库的方法 当我们在数据库中进行大量的数据追加时,是不是经常因为数据量过大而苦恼呢?而所谓的海量数据,一般也是上万级的数据,比如我们要添加一百万条数据,应该如何提高它的效率呢 ...
- 安卓 Android Studio 下载
http://www.android-studio.org/ 下载地址 https://blog.csdn.net/qq_41976613/article/details/91432304 ...
- Unity 自动烘培Cpu占用过高电脑卡死
起因 打开Unity项目 发现右下方一直