加载中...

数通 12-ACL


ACL

ACL,中文名称是“访问控制列表”,它由一系列规则(即描述报文匹配条件的判断语句)组成。这些条件通常被称为五元组-分别是报文的源地址、目的地址、源端口、目的端口、端口号等。

访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。每条规则描述报文匹配条件(报文的源地址、目的地址、端口号等)的判断语句,设备基于这些规则进行报文匹配,可以过滤出特定的报文

ACL配置完成后,必须应用在业务模块中才能生效,设备根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。

为什么需要ACL?

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

ACL是怎么工作的?

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

ACL分类

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

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

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

数字型ACL和命名型ACL。

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

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

img

基本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配置思路

基本acl:只能匹配数据的源IP地址

高级ACL:匹配五元组信息
接口:接收到数据:入接口/入方向——>inbound
接口:发送该数据:出接口/出方向——>outbound

未来想要acl生效,必须在某个接口下将其挂接

acl配置思路:
1.定义acl匹配的参数
2.定义匹配参数的动作
3.将acl挂接到某个接口下

ACL 参数:

1.rule—id:规则的编号——>如果不配置,默认5,并且会以5递增...

2.通配符掩码—反掩码(暂时)

255.255.255.0=255.255.255.255-255.255.255.0=0.0.0.255

如果为0,在抓取数据时,必须匹配。如果为1,在抓取数据时,无需匹配。

  • 华为:acl接口下调用时,默认会有一条命令 permit any——只要没拒绝,就是能通的
  • 思科:acl接口下调用时,默认会有一条命令 denyany——只要没允许 就是不通的

3. 一个接口的同一方向无法挂接多个ACL,但不同方向可以挂接

ACL的匹配机制

实验

img

配置需求:

在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


文章作者: okra2saber
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 okra2saber !
评论
  目录