访问控制列表ACL

目录

一、ACL原理

1、ACL应用场景

1.控制流量

2.执行动作

 3.ACL 配置

2、ACL 原理

3、ACL 分类

4、ACL 规则

1.华为

 二、ACL 配置

1、基本ACL 配置

2、高级ACL配置


一、ACL原理

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

1、ACL应用场景

1.控制流量

        ACL 可以通过定义规则来允许或拒绝流量的通过。
        ACL 是由一系列规则组成的集合。设备可以通过这些规则对数据包进行分类,并对不同类型的报文进行不同的处理。
        下图案例中,网关RTA 允许192.168.1.0/24 中的主机可以访问外网,也就是Internet;而192.168.2.0/24 中的主机则被禁止访问Internet。对于服务器A 而言,情况则相反。网关允许192.168.2.0/24 中的主机访问服务器A,但却禁止192.168.1.0/24 中的主机访问服务器A。

2.执行动作

        ACL 可以根据需求来定义过滤的条件以及匹配条件后所执行的动作。
        设备可以依据ACL 中定义的条件(例如源IP 地址)来匹配入方向的数据,并对匹配了条件的数据执行相应的动作。
        在下图案例所述场景中,RTA 依据所定义的ACL 而匹配到的感兴趣流量来自192.168.2.0/24 网络,RTA 会对这些感兴趣流量进行加密(虚拟局域网VPN 中会进行介绍)之后再转发。

 3.ACL 配置

ACL 运用的位置在哪里?
  • 三层交换机
  • 路由器
  • 防火墙
        路由器上就叫ACL。防火墙上一般称为策略。策略就是升级版的ACL,策略可以基于IP、端口、协议、应用层数据进行各种过滤。

2、ACL 原理

ACL 是一种包过滤技术。 是基于数据包中的IP 地址、端口号来对数据包进行过滤!
层数
包头信息
关键信息
三层
IP 报头
源地址
目标地址
四层
TCP| UDP 报头
源端口
目标端口

3、ACL 分类

华为分为基本ACL、高级ACL、二层ACL。
分类
编号范围
参数
基本ACL(Basic ACL)
2000 - 2999
源IP 地址
高级ACL(Advance ACL)
3000 - 3999源IP 地址、目的IP 地址、源端口、目的端口等
二层ACL (模拟器不支持)
4000 - 4999
源MAC 地址、目的MAC 地址、以太帧协议类型等

4、ACL 规则

1.华为

        每个ACL 可以包含多个规则,RTA 根据规则来对数据流量进行过滤。
        一个ACL 可以由多条“deny| permit”语句组成,每一条语句描述了一条规则。设备收到数据流量后,会逐条匹配ACL 规则,看其是否匹配。如果不匹配,则匹配下一条。一旦找到一条匹配的规则,则执行规则中定义的动作,并不再继续与后续规则进行匹配。如果找不到匹配的规则,则设备不对报文进行任何处理。需要注意的是,ACL 中定义的这些规则可能存在重复或矛盾的地方。规则的匹配顺序决定了规则的优先级,ACL 通过设置规则的优先级来处理规则之间重复或矛盾的情形。
        配置顺序按ACL 规则编号(rule-id)从小到大的顺序进行匹配。设备会在创建ACL 的过程中自动为每一条规则分配一个编号,规则编号决定了规则被匹配的顺序。例如,如果将步长设定为5,则规则编号将按照5、10、15、... 这样的规律自动分配。如果步长设定为2,则规则编号将按照2、4、6、8、... 这样的规律自动分配。通过设置步长,使规则之间留有一定的空间,用户可以在已存在的两个规则之间插入新的规则。路由器匹配规则时默认采用配置顺序。另外,ARG3 系列路由器默认规则编号的步长是5。
        自动排序使用“深度优先”的原则进行匹配,即根据规则的精确度排序。
        华为ACL 最后的默认的隐含的一条,不是拒绝所有,而是允许所有。
        下图案例中,RTA 收到了来自两个网络的报文。默认情况下,RTA 会依据ACL 的配置顺序来匹配这些报文。网络172.16.0.0/24 发送的数据流量将被RTA 上配置的ACL2000 的规则15 匹配,因此会被拒绝。而来自网络172.17.0.0/24 的报文不能匹配访问控制列表中的任何规则,因此RTA 对报文不做任何处理,而是正常转发。

 二、ACL 配置

配置技巧:
  • 先判断要控制的数据流源和目标,并画出控制数据流的方向,进而判断ACL 可以写在哪些路由器上;
  • 打开那台路由器,开始编写ACL 过滤规则;
  • 将ACL 应用到某个接口的某个方向才能生效。

1、基本ACL 配置

[RTA]acl 2000
[RTA-acl-basic-2000]rule deny source 192.168.1.0 0.0.0.255
[RTA]interface GigabitEthernet 0/0/0
[RTA-GigabitEthernet 0/0/0]traffic-filter outbound acl 2000
        acl [ number ] 命令用来创建一个ACL,并进入ACL 视图。
        rule [ rule-id ] { deny | permit } source { source-address source-wildcard | any } 命令用来增加或修改ACL 的规则。
        deny 用来指定拒绝符合条件的数据包,permit 用来指定允许符合条件的数据包,source 用来指定ACL 规则匹配报文的源地址信息,any 表示任意源地址。
        traffic-filter { inbound | outbound }acl{ acl-number } 命令用来在接口上配置基于ACL 对报文进行过滤。
        上图案例中,主机A 发送的流量到达RTA 后,会匹配ACL 2000 中创建的规则 rule deny source 192.168.1.0 0.0.0.255 ,因而将被拒绝继续转发到Internet。主机B 发送的流量不匹配任何规则,所以会被RTA 正常转发到Internet。
[RTA]display acl 2000
Basic ACL 2000, 1 rule
Acl's step is 5
rule 5 deny source 192.168.1.0 0.0.0.255
...
[RTA]display traffic-filter applied-record
-----------------------------------------------------------
Interface                   Direction AppliedRecord      
-----------------------------------------------------------
GigabitEthernet0/0/0       outbound   acl 2000
-----------------------------------------------------------
        执行 display acl <acl-number> 命令可以验证配置的基本ACL。
        本例中,所配置的ACL 只有一条规则,即拒绝源IP 地址在192.168.1.0/24 范围的所有IP 报文。
        执行 display traffic-filter applied-record 命令可以查看设备上所有基于ACL 进行报文过滤的应用信息,这些信息可以帮助用户了解报文过滤的配置情况并核对其是否正确,同时也有助于进行相关的故障诊断与排查。

2、高级ACL配置

        基本ACL 可以依据源IP 地址进行报文过滤,而高级ACL 能够依据源/目的IP 地址、源/目的端口号、网络层及传输层协议以及IP 流量分类和TCP标记值等各种参数(SYN| ACK| FIN 等)进行报文过滤。
[RTA]acl 3000
[RTA-acl-adv-3000]rule deny tcp source 192.168.1.0 0.0.0.255 destination 172.16.10.1 0.0.0.0 destination-port eq 21
[RTA-acl-adv-3000]rule deny tcp source 192.168.2.0 0.0.0.255 destination 172.16.10.2 0.0.0.0
[RTA-acl-adv-3000]rule permit ip
[RTA-GigabitEthernet 0/0/0]traffic-filter outbound acl 3000
        本示例中,RTA 上定义了高级ACL 3000,其中第一条规则 rule deny tcp source 192.168.1.0 0.0.0.255 destination 172.16.10.1 0.0.0.0 destination-port eq 21 用于限制源地址范围是192.168.1.0/24,目的IP 地址为172.16.10.1,目的端口号为21 的所有TCP 报文;
        第二条规则 rule deny tcp source 192.168.2.0 0.0.0.255 destination 172.16.10.2 0.0.0.0 用于限制源地址范围是192.168.2.0/24,目的地址是172.16.10.2 的所有TCP 报文;
        第三条规则 rule permit ip 用于匹配所有IP 报文,并对报文执行允许动作。
[RTA]display acl 3000
Advanced ACL 3000, 3 rules
Acl's step is 5
   rule 5 deny tcp source 192.168.1.0 0.0.0.255 destination 172.16.10.1 0 destination-port eq sftp
   rule 10 deny tcp source 192.168.2.0 0.0.0.255 destination 172.16.10.2 0
   rule 15 permit ip
...
[RTA]display traffic-filter applied-record
-----------------------------------------------------------
Interface                   Direction AppliedRecord      
-----------------------------------------------------------
GigabitEthernet0/0/0       outbound   acl 3000
-----------------------------------------------------------
        执行 display acl <acl-number> 命令可以验证配置的高级ACL。
        显示信息表明:RTA 上一共配置了3 条高级ACL 规则。第一条规则用于拒绝来自源IP地址192.168.1.0/24,目的IP 地址为172.16.10.1,目的端口为21(SFTP)的TCP报文;第二条规则用于拒绝来自源IP 地址192.168.2.0/24,目的IP地址为172.16.10.2 的所有TCP 报文;第三条规则允许所有IP 报文通过。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值