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口。

第二步:匹配对应流量

[AR1]acl 2000

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

[AR1-acl-basic-2000]rule permit source any

第三步:决定调用方式

[AR1] interface GigabitEthernet 0/0/1

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

第四步:查看和测试

查看ACL [AR1] display acl 2000

[AR1]display 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)

查看流量模板的应用 [AR1]display traffic-filter applied-record

[AR1]display 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

[AR1]undo 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口。

第二步:匹配对应流量

[AR1]acl 2000

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

[AR1-acl-basic-2000]rule deny source any

第三步:决定调用方式

[AR1]interface GigabitEthernet 0/0/2

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

第四步:查看和测试

[AR1]display 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)
[AR1]display 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 匹配对应流量

[AR1]acl 3000

[AR1-acl-adv-3000]rule 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-3000]rule permit ip

2.接口进行调用

[AR1]interface GigabitEthernet 0/0/0

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

实验配置 限制DNS

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

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

[AR1]acl 3000

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

[AR1-acl-adv-3000]rule permit ip
[AR1]interface GigabitEthernet 0/0/0

[AR1-GigabitEthernet0/0/0]traffic-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

[AR1]time-range working-time 8:00 to 17:00 working-day

2.配置基于时间的ACL

[AR1]acl 3000

[AR1-acl-adv-3000]rule 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

[AR1]interface GigabitEthernet 0/0/0

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

相关推荐
GoppViper5 小时前
Linux 性能调优技巧
linux·运维·服务器
DC_BLOG5 小时前
VPN简述
运维·服务器·网络·ip
linlinlove26 小时前
828华为云征文|华为云Flexus云服务器X实例部署 即时通讯IM聊天交友软件——高性能服务器实现120W并发连接
服务器·华为云·交友
小鹿( ﹡ˆoˆ﹡ )6 小时前
Python 并发新境界:探索 `multiprocessing` 模块的无限可能
linux·服务器·python
醉颜凉7 小时前
银河麒麟系统内存清理
运维·服务器·kylin·国产化·银河麒麟操作系统
Zfox_8 小时前
【Linux】进程地址空间、环境变量:从理论到实践(三)
java·linux·运维
拉格朗日(Lagrange)10 小时前
前置机、跳板机、堡垒机:安全运维领域的“黄金三角”
运维·安全
2401_8574396910 小时前
构建高效服装销售平台:Spring Boot与“衣依”案例
服务器·spring boot·php
Xpccccc10 小时前
Reactor 反应堆模式
java·服务器·网络