关于ACL基本概念及原理
ACL基本概念
华为ACL(Access Control List)是一种用于网络设备上的访问控制列表。ACL用于控制网络流量的传输,决定哪些流量被允许通过设备,哪些流量被阻塞或丢弃。ACL是由一系列permit或deny语句组成的、有序规则的列表。
ACL可以基于源IP地址、目的IP地址、协议类型、TCP/UDP端口号等条件进行设置。可以根据需要配置不同的规则,以实现对特定流量的管理和控制。
ACL通常被用于网络安全策略的实施,例如限制特定IP地址或IP地址段的访问、阻止黑名单或恶意IP的流量、允许只有特定端口的通信等。
在华为设备上,ACL可以应用于不同的网络设备和接口,例如交换机、路由器、防火墙等。通过配置ACL规则,可以保护网络免受未经授权的访问和恶意攻击的威胁。
ACL工作原理
1. 规则匹配
ACL将流量与规则进行匹配。规则通常包含源IP地址、目标IP地址、传输协议(如TCP、UDP)、端口号等信息。当流量进入设备时,设备将根据规则逐一匹配流量。
2. 匹配动作
当某个规则匹配到流量时,设备将执行该规则定义的动作。动作可以是允许(permit)该流量通过,拒绝(deny)该流量通过,或者将该流量重定向(redirect)到指定接口或设备。
3. 顺序匹配
ACL规则通常是按照顺序进行匹配的。设备会逐一检查规则,直到匹配到一个规则为止。因此,规则的顺序非常重要。
4. 隐式匹配
如果流量不匹配任何规则,设备会根据默认规则来处理。默认规则可以是允许所有流量通过,或者拒绝所有流量通过。
5. 层次结构
ACL可以分为多个层次,每个层次可以包含多个规则。设备将按照层次结构依次匹配规则。
ACL的工作原理可以根据不同设备和厂商有所不同,但大体上遵循上述原理。ACL的目的是增强网络安全,控制网络流量,阻止未经授权的访问和恶意活动。
ACL的组成
ACL由若干条permit或deny语句组成。每条语句就是该ACL的一条规则,每条语句中的permit或deny就是与这条规则相对应的处理动作。
ACL的分类与标识
基于ACL规则定义方式的分类
基本ACL
2000~2999 仅使用报文的源IP地址、分片信息和生效时间段信息来定义规则。
高级ACL
3000~3999 可使用IPv4报文的源IP地址、目的IP地址、IP协议类型、ICMP类型、TCP源/目的端口号、UDP源/目的端口号、生效时间段等来定义规则。
二层ACL
4000~4999 使用报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址、二层协议类型等。
用户自定义ACL
5000~5999 使用报文头、偏移位置、字符串掩码和用户自定义字符串来定义规则。
用户ACL
6000~6999 既可使用IPv4报文的源IP地址或源UCL(User Control List)组,也可使用目的IP地址或目的UCL组、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。
基于ACL标识方法的分类
数字型ACL
传统的ACL标识方法。创建ACL时,指定一个唯一的数字标识该ACL。
命名型ACL
通过名称代替编号来标识ACL。
• ACL是一种应用非常广泛的网络技术。它的基本原理是:配置了ACL的网络设备根据事先设定好的报文匹配规则对经过该设备的报文进行匹配,然后对匹配上的报文执行事先设定好的处理动作。这些匹配规则及相应的处理动作是根据具体的网络需求而设定的。处理动作的不同以及匹配规则的多样性,使得ACL可以发挥出各种各样的功效。
• ACL技术总是与防火墙、路由策略、QoS、流量过滤等其他技术结合使用。
ACL配置内容
项目拓扑图
PC1配置
PC2配置
PC3配置
AR1的初始配置代码
sys
un in en
sys AR1
int g0/0/0
ip add 10.124.12.1 24
int g0/0/1
ip add 10.124.10.254 24
int g0/0/2
ip add 10.124.20.254 24
int loo0
ip add 1.1.1.1 32
q
ospf 1 router-id 1.1.1.1
area 0
net 10.124.12.1 0.0.0.0
net 1.1.1.1 0.0.0.0
net 10.124.10.254 0.0.0.0
net 10.124.20.254 0.0.0.0
AR2的初始配置代码
sys
un in en
sys AR2
int g0/0/0
ip add 10.124.12.2 24
int g0/0/1
ip add 10.124.23.2 24
int g0/0/2
ip add 10.124.30.254 24
int loo0
ip add 2.2.2.2 32
q
ospf 1 router-id 2.2.2.2
area 0
network 10.124.12.2 0.0.0.0
network 10.124.23.2 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.124.30.254 0.0.0.0
AR3的初始配置代码
sys
un in en
sys AR3
int g0/0/1
ip add 10.124.23.3 24
int loo0
ip add 3.3.3.3 32
q
ospf 1 router-id 3.3.3.3
area 0
network 10.124.23.3 0.0.0.0
network 3.3.3.3 0.0.0.0
检查AR1 IP路由表中的OSPF路由
dis ip routing-table
检查AR2 IP路由表中的OSPF路由
display ip routing-table
检查AR3 IP路由表中的OSPF路由
display ip routing-table
基本ACL的配置代码
在AR2的G0/0/2cha上应用以PC1子网为源的基本ACL
acl 2000
rule deny source 10.124.10.0 0.0.0.255
rule permit source any
q
int g0/0/2
traffic-filter outbound acl 2000
q
查看ACL
display acl all
PC1向PC3发起ping测试
ping 10.124.30.10
PC1向其他IP地址发起ping测试
ping 3.3.3.3
高级ACL的配置
创建并应用高级ACL
acl 3000
rule deny ip source 10.124.20.0 0.0.0.255 destination 10.124.3
0.0 0.0.0.255
interface GigabitEthernet 0/0/2
traffic-filter inbound acl 3000
验证配置效果
pc2向pc3发起ping测试
pc2 ping其他ip
ACL规则的顺序
在AR3的G0/0/1入方向上应用ACL
acl 3000
ule deny icmp source 10.124.12.1 0 destination 3.3.3.3 0 icmp
-type echo
rule permit tcp source 10.124.12.1 0 destination 3.3.3.3 0 de
stination-port eq 23
rule deny tcp source any destination 3.3.3.3 0 destination-por
t eq 23
q
int g0/0/1
traffic-filter inbound acl 3000
在AR3上检查ACL 3000
在AR3上启用Telnet(设置登陆密码为Huawei@123)
user-interface vty 0 4
authentication-mode password
在AR1上验证项目效果
从AR1上对AR3的环回接口发起telnet测试
在AR2上验证项目效果并发起telnet测试
在AR3上更改ACL规则的顺序
undo acl 3000
acl 3000 match-order auto
rule deny icmp source 10.124.12.1 0 destination 3.3.3.3 0 icmp
-type echo
dis this
在AR3上添加deny规则
rule deny tcp source any destination 3.3.3.3 0 destination-por
t eq telnet
display this
在AR3上添加permit规则
rule permit tcp source 10.124.12.1 0 destination
3.3.3.3 0 destination-port eq telnet
dis this
从AR1上验证项目效果
从AR2上验证项目效果