HCIA-ICT实战基础-访问控制列表ACL原理与配置

目录

ACL技术概述

ACL的基本概念及其工作原理

ACL的基础配置及应用

ACL技术概述

技术背景: 需要一个工具实现流量过滤

ACL是由一系列permitdeny语句组成的有序规则的列表.

ACL是一个匹配工具, 能对报文进行匹配和区分.

ACL的应用:

  1. 匹配IP流量;
  2. 在Traffic-filter中被调用;
  3. 在NAT中被调用;
  4. 在路由策略中被调用;
  5. 在防火墙策略中被调用;
  6. 在QoS中被调用;
  7. ...

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

没了.

最新文章

  1. JavaScript 模板引擎实现原理解析
  2. python操作数据库产生中文乱码问题【已解决】
  3. 虚拟机 vlan trunk 特性
  4. Ext.Net学习笔记04:Ext.Net布局
  5. redis百度百科和维基百科知识总结:
  6. Bzoj 3781: 小B的询问 莫队,分块,暴力
  7. 有意思的字符串反转(JavaScript)
  8. javascript的一个简易利率计算器+js图像显示 代码
  9. 洛谷 [P1118] IOI1994 数字三角形
  10. jspacker压缩及解压缩研究(js eval)
  11. NumPy的基本用法
  12. cxf 整合 spring 时 java.lang.VerifyError异常
  13. thinkphp3.2升级至thinkphp5.0.24
  14. centos6.6安装Elasticsearch
  15. IDEA 远程调试 Tomcat 和 Debugger
  16. JS 单线程
  17. [ SHELL编程 ] echo和printf使用实例
  18. PHP百万级数据导出方案(多csv文件压缩)
  19. java 内部类与控制框架
  20. 洛谷——P2756 飞行员配对方案问题

热门文章

  1. VS+QT创建的项目 UI界面更新控件,代码里识别不到
  2. React 使用链表遍历组件树
  3. administrator 启用
  4. 2.5 OpenEuler 中C与汇编的混合编程
  5. 直播平台搭建源码,canvas 画一条波浪线 进度条
  6. MybatisPlus #{param}和${param}的用法详解
  7. 双CAN通讯模板
  8. fs.access(path[, mode], callback)
  9. atx
  10. zookeeper 选举流程源码解析