ACL,中文名称是“访问控制列表”,它由一系列规则(即描述报文匹配条件的判断语句)组成。这些条件通常被称为五元组-分别是报文的源地址、目的地址、源端口、目的端口、端口号等。这样解释ACL,大大家肯定听不懂,那么我打个比喻,ACL相当于一个过滤器,ACL规则就是过滤器的滤芯,安装什么样的滤芯(即根据报文特征匹配的一系列ACL规则),ACL就能过滤出什么样的报文了。

为什么需要ACL?

根据规则过滤的ACL,能够做到阻塞攻击报文、为不同类报文流提供差分服务、对Telnet登录/FTP文件下载进行控制等的功能,从而提高网络环境的安全性和网络传输的可靠性。

ACL是怎么工作的?

ACL工作主要是根据规则进行,ACL规则里包括他的规则编号(顺序),动作(允许或者拒绝)规则匹配的地址段(源/源-目的)生效时间段

技术干货!

1、ACL分类

基于ACL规则定义方式的划分,可分为:

基本ACL、高级ACL、二层ACL、用户自定义ACL和用户ACL。

基于ACL标识方法的划分,则可分为:

数字型ACL和命名型ACL。

注意:用户在创建ACL时可以为其指定编号,不同的编号对应不同类型的ACL。同时,为了便于记忆和识别,用户还可以创建命名型ACL,即在创建ACL时为其设置名称。命名型ACL,也可以是“名称 数字”的形式,即在定义命名型ACL时,同时指定ACL编号。如果不指定编号,系统则会自动为其分配一个数字型ACL的编号。

通过名称代替编号来定义ACL,就像用域名代替IP地址一样,可以方便记忆,也让大家更容易识别此ACL的使用目的。

基本ACL:

主要针对IP报文的源IP地址进行匹配,基本ACL的编号范围是2000-2999。

比如这个例子,创建的是acl 2000,就意味着创建的是基本ACL。

高级ACL:

可以根据IP报文中的源IP地址、目的IP地址、协议类型,TCP或UDP的源目端口号等元素进行匹配,可以理解为:基本ACL是高级ACL的一个子集,高级ACL可以比基本ACL定义出更精确、更复杂、更灵活的规则。

ACL

一条ACL可以由多条“deny或permit”语句组成,每一条语句描述一条规则,这些规则可能存在包含关系,也可能有重复或矛盾的地方,因此ACL的匹配顺序是十分重要的。

华为设备支持两种匹配顺序:自动排序(auto模式)和配置顺序(config模式)。缺省的ACL匹配顺序是config模式。

自动排序,是指系统使用“深度优先”的原则,将规则按照精确度从高到低进行排序,并按照精确度从高到低的顺序进行报文匹配。——这个比较复杂,这里就不具体展开了,感兴趣的同学可以课后查看资料。

配置顺序,系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。——这个就是我们前面提到的匹配顺序。

如果后面又添加了一条规则,则这条规则会被加入到相应的位置,报文仍然会按照从小到大的顺序进行匹配。

匹配结果:(如图所示,以192.168.1.3/24为例)

首先理解ACL 2000的含义:

rule 1:允许源IP地址为192.168.1.1的报文

rule 2:允许源IP地址为192.168.1.2的报文

rule 3:允许源IP地址为192.168.1.2的报文

rule 4:拒绝其他所有IP地址的报文

ACL怎么配?

配置需求:

在Router上部署基本ACL后,ACL将试图穿越Router的源地址为192.168.1.0/24网段的数据包过滤掉,并放行其他流量,从而禁止192.168.1.0/24网段的用户访问Router右侧的服务器网络。

在Router上创建基本ACL,禁止192.168.1.0/24网段访问服务器网络:

[Router] acl 2000

[Router-acl-basic-2000] rule deny source 192.168.1.0 0.0.0.255

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

由于从接口GE0/0/1进入Router,所以在接口GE0/0/1的入方向配置流量过滤:

[Router] interface GigabitEthernet 0/0/1

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

[Router-GigabitEthernet0/0/1] quit

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐