ACL应用场景
- ACL可以通过定义规则来允许或拒绝流量的通过。
ACL是由一系列规则组成的集合。设备可以通过这些规则对数据包进行分类,并对不同类型的报文进行不同的处理。 - ACL可以根据需求来定义过滤的条件以及匹配条件后所执行的动作。
设备可以依据ACL中定义的条件(例如源IP地址)来匹配入方向的数据,并对匹配了条件的数据执行相应的动作。
ACL分类
分类 | 编号 | 参数 |
---|---|---|
基本ACL | 2000–2999 | 源IP地址等 |
高级ACL | 3000–3999 | 源IP地址、目的IP地址、 源端口、目的端口等 |
二层ACL | 4000–4999 | 源MAC地址、目的MAC地址、以太帧协议类型等 |
- 基本ACL可以使用报文的源IP地址、分片标记和时间段信息来匹配报文,其编号取值范围是2000-2999。
- 高级ACL可以使用报文的源/目的IP地址、源/目的端口号以及协议类型等信息来匹配报文。高级ACL可以定义比基本ACL更准确、更丰富、更灵活的规则,其编号取值范围是3000-3999。
- 二层ACL可以使用源/目的MAC地址以及二层协议类型等二层信息来匹配报文,其编号取值范围是4000-4999。
ACL规则
每个ACL可以包含多个规则,RTA根据规则来对数据流量进行过滤。
注意:华为没有隐含deny any any语句
一个ACL可以由多条“deny | permit”语句组成,每一条语句描述了一条规则。设备收到数据流量后,会逐条匹配ACL规则,看其是否匹配。如果不匹配,则匹配下一条。一旦找到一条匹配的规则,则执行规则中定义的动作,并不再继续与后续规则进行匹配。如果找不到匹配的规则,则设备不对报文进行任何处理。需要注意的是,ACL中定义的这些规则可能存在重复或矛盾的地方。规则的匹配顺序决定了规则的优先级,ACL通过设置规则的优先级来处理规则之间重复或矛盾的情形。
ARG3系列路由器支持两种匹配顺序:配置顺序和自动排序。
- 配置顺序按ACL规则编号(rule-id)从小到大的顺序进行匹配。设备会在创建ACL的过程中自动为每一条规则分配一个编号,规则编号决定了规则被匹配的顺序。例如,如果将步长设定为5,则规则编号将按照5、10、15…这样的规律自动分配。如果步长设定为2,则规则编号将按照2、4、6、8…这样的规律自动分配。通过设置步长,使规则之间留有一定的空间,用户可以在已存在的两个规则之间插入新的规则。路由器匹配规则时默认采用配置顺序。另外,ARG3系列路由器默认规则编号的步长是5。
- 自动排序使用“深度优先”的原则进行匹配,即根据规则的精确度排序。
基本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后,会匹配ACL2000中创建的规则rule deny source 192.168.1.0 0.0.0.255
,因而将被拒绝继续转发到Internet。主机B发送的流量不匹配任何规则,所以会被RTA正常转发到Internet。
高级ACL配置
[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]display acl 3000
基本ACL可以依据源IP地址进行报文过滤,而高级ACL能够依据源/目的IP地址、源/目的端口号、网络层及传输层协议以及IP流量分类和TCP标记值等各种参数(SYN|ACK|FIN等)进行报文过滤。
本示例中,RTA上定义了高级ACL3000,其中第一条规则“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报文,并对报文执行允许动作。
ACL应用-NAT
本例要求通过ACL来实现主机A和主机B分别使用不同的公网地址池来进行NAT转换。
ACL还可用于网络地址转换操作,以便在存在多个地址池的情况下,确定哪些内网地址是通过哪些特定外网地址池进行地址转换的。例如,某企业网络作为客户连接到多个服务供应商网络,企业网络的内部用户位于不同的网段/子网,他们期望分别通过某个特定的地址组进行地址转换来实现报文转发。这种情况极有可能发生在连接不同服务供应商网络的路由器上行端口。
本示例中,要求192.168.1.0/24中的主机使用地址池1中的公网地址进行地址转换,而192.168.2.0/24中的主机使用地址池2中的公网地址进行地址转换。
[RTA]nat address-group 1 202.110.10.8 202.110.10.15
[RTA]nat address-group 2 202.115.60.1 202.115.60.30
[RTA]acl 2000
[RTA-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[RTA-acl-basic-2000]acl 2001
[RTA-acl-basic-2001]rule permit source 192.168.2.0 0.0.0.255
[RTA-acl-basic-2001]interface GigabitEthernet0/0/0
[RTA-GigabitEthernet0/0/0]nat outbound 2000 address-group 1
[RTA-GigabitEthernet0/0/0]nat outbound 2001 address-group 2
来源:CSDN
作者:ZIBIN哇
链接:https://blog.csdn.net/weixin_44132032/article/details/90759515