HCIA-ICT实战基础08-访问控制列表ACL原理与配置
HCIA-ICT实战基础-访问控制列表ACL原理与配置
目录
ACL技术概述
ACL的基本概念及其工作原理
ACL的基础配置及应用
ACL技术概述
技术背景: 需要一个工具实现流量过滤
ACL是由一系列permit和deny语句组成的有序规则的列表.
ACL是一个匹配工具, 能对报文进行匹配和区分.
ACL的应用:
- 匹配IP流量;
- 在Traffic-filter中被调用;
- 在NAT中被调用;
- 在路由策略中被调用;
- 在防火墙策略中被调用;
- 在QoS中被调用;
- ...
2 ACL的基本概念及其工作原理
ACL有若干条permit和deny语句组成, 每条语句就是ACL的一条规则.
2.1 ACL的组成

注: 如果创建完一个ACL后未自定义任何规则, 那么系统会自动添加一条规则来拒绝所有流量.
2.1.1 规则编号(rule)

如果创建的ACL规则未指定编号, 系统会自动按照5, 10, 15, 20... 的序号(步长为5)来对规则进行编号.
若在中间提前加入自定义编号的规则, 而下一条规则又未指定编号, 则系统会按已有编号的下一个最小5的倍数字来编号. 如添加规则11后系统默认下一条未编号的规则编号为15, 即: 5, 10, 11, 15.
即便如此, 还是希望大家在配置之前自己规划好规则编号, 这样对后续维护和检查都更加方便.
2.1.2 通配符(Wildcard)

和我们在学习ospf的时候接触到的反掩码形似神不似, 但通配符的匹配规则同反掩码, 为: "0"表示匹配, "1"表示随机分配.

**注: 通配符和反掩码的简单区别 **
通配符的"0"和"1"可以是不连续的, 比如00000000 11111111 01010101 11111111, 但作为掩码的子网掩码和反掩码他们的"0"和"1"必须是连续的, 否则在与IP地址一起使用时会识别出无效的IP地址.
2.2 ACL的分类
基于ACL规则定义方式分类

常用的为: 基本ACL, 高级ACL, 二层ACL.
基于ACL标识方法分类

基本ACL

基本ACL可以根据报文中的ip报头获取到源ip地址, 从而进行规则匹配.
高级ACL

高级ACL除了能读取ip报头外, 还能读取tcp/udp中的源端口和目的端口来进行规则匹配.
2.3 ACL的匹配规则
ACL的匹配机制

ACL匹配顺序及匹配结果
配置顺序
config模式: 按规则编号从小到大, 规则编号越小越容易被匹配;
ACL的匹配位置

对于有设置ACL的路由器来讲, ACL既可以在入站(inbound)方向端口进行规则匹配, 也能在出站(outbound)方向端口进行匹配.

3 ACL的基础配置及应用
3.1 基本ACL的基础配置命令
1.创建基本ACL
[Huawei] acl [number] acl-number [match-order config]
使用编号(2000~2999)创建一个数字型的基本ACL, 并进入基本ACL视图.
[Huawei] acl name acl-name {basic | acl-number} [match-order config]
使用名称创建一个命名型的基本ACL, 并进入基本ACL视图.
2.配置基本ACL的规则
[Huawei-acl-basic-2000] rule [rule-id] {deny | permit} [source {source-address source-wildcard | any} | time-range time-name]
在基本ACL视图下, 通过此命令来配置基本ACL规则.
3.在接口上调用ACL
[Huawei-GE0/0/0]traffic-filter {inbound | outbound} acl
acl-number
在接口上调用指定的ACL编号, 并指定好流量过滤方向
基本ACL的使用场景局限性还是比较大的, 通常在更复杂的网络中需要使用高级ACL.
3.2 高级ACL的基础配置命令
1.创建高级ACL
[Huawei] acl [number] acl-number [match-order config]
使用编号(3000~3999)创建一个数字型的高级ACL, 并进入高级ACL视图
[Huawei] acl name acl-name {advance | acl-number} [match-order config]
使用名称创建一个命名型的高级ACL, 进入高级ACL视图
2.配置基本ACL的规则
根据IP承载的协议类型不同, 在设备上配置不同的高级ACL规则, 对于不同的协议类型, 不同的参数组合.
当参数protocol为ip时, 高级ACL的命令格式为
rule [rule-id] {deny | permit} ip [source {source-address source-wildcard | any} | destination {destination-address destination-wildcard | any} | time-range time-name | {dscp dscp | [tos tos | precedence precedence]}]
在高级ACL视图下, 通过此命令来配置高级ACL规则.
当参数protocol为tcp时, 高级ACL的命令格式为(和上面一个意思, 包括其他udp之类的都大同小异, 不想敲了)

在高级ACL视图下, 通过此命令来配置高级ACL规则.
例子: 禁止PC1(192.168.10.2)通过网关Gateway的G0/0/1接口访问服务器(10.1.1.2)的DNS服务(同时支持tcp和udp访问, 接口53), 但不影响其他访问服务.
[Gateway] acl 3001
[Gateway-acl-adv-3001] rule 1 deny tcp source 192.168.10.2 0 destination 10.1.1.2 0 destination-port eq 53
[Gateway-acl-adv-3001] rule 1 deny udp source 192.168.10.2 0 destination 10.1.1.2 0 destination-port eq dns
[Gateway-GE0/0/1]traffic-filter inbound acl 3001
没了.
HCIA-ICT实战基础08-访问控制列表ACL原理与配置的更多相关文章
- 第10章 网络安全(5)_访问控制列表ACL
6. 访问控制列表ACL 6.1 标准访问控制列表 (1)标准ACL ①标准ACL是基于IP数据包的源IP地址作为转发或是拒绝的条件.即,所有的条件都是基于源IP地址的. ②基本不允许或拒绝整个协议组 ...
- 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。
场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...
- 用访问控制列表(ACL)实现包过滤
用访问控制列表(ACL)实现包过滤 一.ACL概述 1.ACL(Access Control List,访问控制列表)是用来实现数据包识别功能的 2.ACL可以应用于诸多方面 a>.b包过滤 ...
- 基本的访问控制列表ACL配置
摘要: 访问控制列表ACL (Access Control L ist)是由permit或 deny语句组成的一系列有顺序的规则集合,这些规则根据数据包的源地址.目的地址.源端口.目的端口等信息 来 ...
- HCNA Routing&Switching之访问控制列表ACL
前文我们了解了DHCP服务相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15147870.html:今天我们来聊一聊访问控制列表ACL: ACL(ac ...
- 网络访问控制列表ACL(读懂这篇就基本够了,后面有配置案例)
一.访问控制列表是什么? 访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃.访问控制列表被广泛地应用于路由器和三层交换机,借助于访问 ...
- CCNA网络工程师学习进程(8)访问控制列表ACL
前面几节我们介绍了路由器的路由配置,接下来几节我们将介绍路由器的高级配置应用,包括ACL.NAT.DHCP.PPP.VPN和远程连接等的配置. (1)ACL概述: ACL(Access C ...
- 访问控制列表 ACL
访问控制列表(Access Control List,ACL) 是路由器和交换机接口的指令列表,用来控制端口进出的数据包.其目的是为了对某种访问进行控制. 作用 ACL可以限制网络流量.提高网络性能. ...
- windows访问控制列表 --ACL(Access Control List)
1.定义 ACL是一个windows中的表示用户(组)权限的列表. Access Control List(ACL) Access Control Entry(ACE) ... 2.分类 ACL分为两 ...
- Linux 系统访问控制列表ACL
常见的文件系统的一般权限(rwx).特殊权限(SUID,SGID,STICK).隐藏权限(chattr)其实有个共性——权限是针对某一类用户设置的.而如果希望对某个指定的用户进行单独的权限控制,那么就 ...
随机推荐
- C# 委托/回调
public delegate void MyDelegate();//定义一个委托类型 MyDelegate myDelegate;//创建一个委托变量 myDelegate = new MyDel ...
- NXOpen获取UFUN的tag
#include <NXOpen/NXObject.hxx>#include <NXOpen/NXObjectManager.hxx> 1 NXObject* nXObject ...
- Keil5 STM32 C++开发 ARM V6编译器的使用教程
Keil5更新之后,开始支持ARM V6编译器,新版本的编译器对C++有了更多的支持,在编译方面也做了很多的改善,具体的没有详细了解,本文只是对STM32 开发下,使用V6版本的编译器进行STM32的 ...
- JQery easyUI 滚动分页
var s1 = new Date().getTime(); $(document).ready(function(){ var flag = true; //鼠标 ...
- 个人css样式
<style> .div1{ width:200px; height:100px; border:1px solid #dddddd; transition:all 0.5s linear ...
- sxt_(001_002)_web简介
一.web 网络.网页二.web应用 运行在网络上的应用程序.三.网络应用的分类 3.1 c/s:client/server 如:qq.yy.lol 优点: 个性化更容易实现 更安全 占用网络资源少. ...
- Linux命令-df
场景: df -h查看磁盘信息 /dev/mapper/rl-root 96% du -h --max-depth=1 命令代表寻找当前目录,哪个文件夹占用空间最大,进入根目录: [root@loca ...
- Ubuntu下shell 左侧补零
test_1=1 test=`echo $test_1|awk '{printf("%03d\n",$test_1)}'` 输出为001.
- react的react-devtools 工具
步骤1: 访问react-devtools工具网址: https://gitcode.net/mirrors/facebook/react-devtools?utm_source=csdn_githu ...
- springcloud(七) - Sleuth链路追踪
服务跟踪的具体步骤 sleuth系统自动埋点并把数据发给zipkin,ziplin负责存储和展示数据. 具体实现 cmd执行jar 代码执行(server.licent都需要配) <!-- 添加 ...