ACL(Access Control List)访问控制列表

目录

[ACL 访问控制列表](#ACL 访问控制列表)

ACL分类

ACL的组成

ACL匹配机制

ACL调用方式

实验配置

不允许PC1访问PC4

只允许PC1访问PC4

高级ACL

基本概念

[实验配置 限制ping](#实验配置 限制ping)

[实验配置 限制DNS](#实验配置 限制DNS)

基于时间的ACL

实验配置


ACL 访问控制列表

根据一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现网络访问行为的控制、限制网络流量,提高网络性能、防止网络攻击。

ACL分类

|---------------------|------------------|---------------------------------------------------------------------------|
| 分类 | 编号范围 | 功能概述 |
| 基于接口的ACL | 编号范围是1000~1999 | 根据报文的入接口对报文进行过滤 |
| 基本ACL | 编号范围是2000~2999 | 根据源地址对报文进行过滤 |
| 高级ACL | 编号范围是3000~3999 | 根据源/目的地址、源/目的端口号、协议类型等对报文进行过滤 |
| 二层ACL | 编号范围是4000~4999 | 根据源MAC地址、目的MAC地址和以太帧协议类型等二层信息对报文进行过滤 |
| 用户ACL UCL(User ACL) | 编号范围是6000~9999 | 根据报文的源IP地址、源业务组、源用户组、源端口号、目的IP地址、目的业务组、目的用户组、目的端口号、协议类型等内容定义规则,实现对报文的匹配过滤 |
| 基于MPLS的ACL | 编号范围是10000~10999 | 根据MPLS报文的Exp值、Label值、TTL值对报文进行过滤 |

经常使用的是基本ACL和高级ACL。

ACL的组成

比如:rule deny source 192.168.1.12 0.0.0.0

  • 其中的0.0.0.0 不是子网掩码而是通配符掩码,并不是区分网络号和主机号的,0.0.0.0可以简写成0
  • 通配符掩码用来告诉路由器,需要检查IP地址中的多少位(可以不是连续的1)
  • 0表示需要检查的位,1表示不需要检查的位 0->感兴趣 1->不感兴趣
  • 192.168.1.12 0.0.0.0表示精确匹配这个IP地址,而如果是0.0.0.0 255.255.255.255表示匹配所有(any)
  • 如果精确匹配最后一段是奇数的地址,那么最后1bit肯定是1,所以可以写成例如192.168.1.1 0.0.0.254 的样式

通配符掩码可以是不是连续的0或者1,如图

ACL匹配机制

ACL调用方式

ACL调用分为inbound方向和outbound方向,inbound方向调用是先调用后路由,outbound方向调用是先路由后调用。

如果数据流方向如下图,那么在F0/0处就是IN方向,在F0/1就是OUT方向。

如果数据流方向如下图,那么就是反过来,在F0/1口是IN方向,在F0/0口是OUT方向。

实验配置

  • 确定部署位置
  • 匹配对应流量
  • 决定调用方向
  • 查看以及测试

不允许PC1访问PC4

第一步:确定部署位置

现在PC1 不允许访问PC4,控制肯定是在数据包的必经之路上,所以可以在R1和R2上配置,但是我们一般采用靠近源的位置进行配置,这个为了集中化部署。

我们选择R1上配置,但是R1上有俩个接口,G0/0/1和G0/0/2。选择G0/0/1,在数据的流向上,就是inbound入方向;选择G0/0/2,在数据的流向上,就是outbound出方向;一般我们还是采用靠近源的位置进行配置。

确认部署位置为R1的G0/0/1口。

第二步:匹配对应流量

AR1acl 2000

AR1-acl-basic-2000rule 5 deny source 192.168.1.11 0.0.0.0

AR1-acl-basic-2000rule permit source any

第三步:决定调用方式

AR1 interface GigabitEthernet 0/0/1

AR1-GigabitEthernet0/0/1 traffic-filter inbound acl 2000

第四步:查看和测试

查看ACL AR1 display acl 2000

AR1display acl 2000

Basic ACL 2000, 2 rules

Acl's step is 5

rule 5 deny source 192.168.1.12 0

rule 10 permit (5 matches)

查看流量模板的应用 AR1display traffic-filter applied-record

AR1display traffic-filter applied-record


Interface Direction AppliedRecord


GigabitEthernet0/0/1 inbound acl 200

第五步:如何删除

删除的时候,使用rule 的编号进行删除

AR1 acl 2000

AR1-acl-basic-2000 undo rule 5

或者 删除所有的ACL

AR1undo acl all

Info: Now deleting all ACL configurations, please wait......

Deleting operation has finished!

只允许PC1访问PC4

第一步:确定部署位置

题目要求只允许PC1访问PC4,也就意味着剩余的PC2和PC3是不能访问PC4的,但PC1.PC2,PC3之间的通信应该是不受影响的,所以部署位置在R1的GE0/0/2或者R2的两侧接口处。我们一般选择靠近源的位置,也就是R1的G0/0/2口。

第二步:匹配对应流量

AR1acl 2000

AR1-acl-basic-2000rule permit source 192.168.1.11 0

AR1-acl-basic-2000rule deny source any

第三步:决定调用方式

AR1interface GigabitEthernet 0/0/2

AR1-GigabitEthernet0/0/2traffic-filter outbound acl 2000

第四步:查看和测试

AR1display acl 2000

Basic ACL 2000, 2 rules

Acl's step is 5

rule 5 permit source 192.168.1.1 0

rule 10 deny (62 matches)
AR1display traffic-filter applied-record


Interface Direction AppliedRecord


GigabitEthernet0/0/2 outbound acl 2000


高级ACL

基本概念

高级ACL可以针对数据包的源、目的IP地址、协议类型、源目的端口号等元素进行匹配

  • 使用编号创建一个高级ACL,并进入ACL视图:

Huawei acl num

Huawei-acl-adv-num

高级ACL编号的范围是3000~3999。

  • 根据IP配置高级ACL规则:

Huawei-acl-adv-num rule 5 {permit/deny} ip source src-address wildcard destination dst-address wildcard

除了IP协议,高级ACL还能根据IP承载的上层协议信息进行匹配,例如TCP、UDP、ICMP等等。

ACL配置:操作符的含义

|-------------------------------|---------------------------------|
| 操作符及语法 | 含义 |
| equal portnumber | 等于端口号 portnumber |
| greater-than portnumber | 大于端口号 portnumber |
| less-than portnumber | 小于端口号 portnumber |
| not-equal portnumber | 不等于端口号 portnumber |
| range portnumber1 portnumber2 | 介于端口号 portnumber1和portnumber2之间 |

实验配置 限制ping

在PC1和PC2都可以访问Server1和Server2的情况下,限制PC2 ping Server2,放行其他流量

1.配置ACL 匹配对应流量

AR1acl 3000

AR1-acl-adv-3000rule deny ip source 192.168.1.2 0 destination 10.1.1.2 0 icmp-type echo

#echo 和 echo reply 不同,如果都被限制,那么Server2也无法ping PC2,所以不能限制echo reply

AR1-acl-adv-3000rule permit ip

2.接口进行调用

AR1interface GigabitEthernet 0/0/0

AR1-GigabitEthernet0/0/0traffic-filter inbound acl 3000

实验配置 限制DNS

在PC1和PC2都可以访问Server1和Server2的情况下,限制PC2访问Server2的DNS服务,放行其他流量

  • DNS使用的是UDP服务
  • DNS的传输层端口号是53

AR1acl 3000

AR1-acl-adv-3000rule deny UDP source 192.168.1.2 0 destination 10.1.1.2 0 dest ination-port eq 53

AR1-acl-adv-3000rule permit ip
AR1interface GigabitEthernet 0/0/0

AR1-GigabitEthernet0/0/0traffic-filter inbound acl 3000

基于时间的ACL

命令规范

time-range time-name { *time1* **to** *time2* { *days* } \| **from** *time1* *date1* \[ **to** *time2* *date2* } ]

time-name指定时间段的名称。

|------------------|--------------------------------|
| time-name | 指定时间段的名称 |
| time1 | 指定时间段的开始时间 |
| to time2 | 指定时间段的结束时间 |
| days | 指定时间段在周几有效 |
| from time1 date1 | 指定时间段从某一天某一时间开始 |
| to time2 date2 | 指定时间段到某一天某一时间结束。 结束时间必须大于起始时间。 |

举例

  • time-range test 14:00 to 18:00 off-day
  • 配置时间段test,在周末下午14:00到18:00生效
  • time-range test from 08:30 2013/1/1 to 18:00 2013/12/31
  • 配置时间段test,从2013年1月1日早上8点半开始生效,2013年12月31日晚上6点停止生效

实验配置

规定员工在上班时间(周一到周五8:00-17:00)不能浏览taobao网站

1.创建时间范围 time-range

AR1time-range working-time 8:00 to 17:00 working-day

2.配置基于时间的ACL

AR1acl 3000

AR1-acl-adv-3000rule 4 deny tcp source 192.168.1.0 0.0.0.255 time-range working-time destination 10.1.1.1 0 destination-port eq 80

AR1interface GigabitEthernet 0/0/0

AR1-GigabitEthernet0/0/0traffic-filter inbound acl 3000

相关推荐
Initialize293088 小时前
Kafka 消息越堆越多、消费越来越慢?五步查清消费积压
运维
时间售卖铺8 小时前
MySQL 表的约束
运维·数据库·mysql·云原生
广州工博科技8 小时前
SAP Joule for Consultants 如何为自动化与集成项目提供支持?
运维·自动化
Acrellea9 小时前
数据中心这台新变压器,让配电房的电表全失效了
运维·能源
小胡20249 小时前
DzzOffice V2.4.2 版本上线!安全加固 × 网盘体验全面升级
服务器·bootstrap·php·协同办公·dzzoffice
boy快快长大9 小时前
【Jenkins】入门学习
运维·学习·jenkins
伯恩bourne9 小时前
Reactive Streams 出现的原因
服务器·网络
叼烟扛炮9 小时前
Linux 学习笔记(九):自动化构建神器 Make 与 Makefile
linux·运维·服务器
鬼手点金9 小时前
单轮对话:最简单的 API 调用
java·服务器·前端·javascript·react.js·servlet·tomcat
北塔软件9 小时前
从根因分析到协同执行,如何让AI运维真正落地?
运维·人工智能