华为ACL应用笔记
1、基本ACL 2000-2999
基本ACL(Access Control List,访问控制列表)是一种网络安全技术,它根据源IP地址、分片信息和生效时间段等信息来定义规则,对报文进行过滤。
规则: ACL由一系列规则组成,每条规则都包含一个匹配条件和相应的动作(允许或拒绝)。
规则按照编号从小到大的顺序进行匹配,一旦报文匹配到某条规则,就会执行该规则的动作,并停止继续匹配其他规则。
匹配条件:
源IP地址:指定报文的源IP地址范围。可以使用通配符掩码来指定一个IP地址段。
生效时间段:指定ACL规则生效的时间段。这是一个可选参数,可以根据需要来配置。
动作:
允许(Permit):如果报文匹配到某条规则,并且该规则的动作是允许,则报文会被放行。
拒绝(Deny):如果报文匹配到某条规则,并且该规则的动作是拒绝,则报文会被丢弃。
规则顺序:
ACL中的规则是按照编号从小到大的顺序进行匹配的,因此需要注意规则的排列顺序。通常,更具体的规则(例如针对特定IP地址的规则)应该放在前面,更通用的规则(例如允许所有其他流量的规则)应该放在后面。。
禁止源IP地址为192.168.10.1的设备访问任何网络
[AR1]acl 2000
[AR1-acl-basic-2000]rule deny source 192.168.10.1 0.0.0.0
[AR1-acl-basic-2000]rule permit source any
[AR1-acl-basic-2000]int g0/0/0
[AR1-GigabitEthernet0/0/0]traffic-filter inbound acl 2000
在工作日的上午9点到下午5点,禁止源IP地址为192.168.20.0/24网段的设备访问server
[AR1]time-range work-time 09:00 to 17:00 working-day 创建时间段
[AR1]acl 2001
[AR1-acl-basic-2001]rule deny source 192.168.20.0 0.0.0.255 time-range work-time
[AR1-acl-basic-2001]rule permit
[AR1-acl-basic-2001]int g0/0/2
[AR1-GigabitEthernet0/0/2]traffic-filter outbound acl 2001
2、高级ACL 3000-3999
高级ACL(Access Control List,访问控制列表)能够针对IP报文的多种元素进行流量匹配,这些元素包括但不限于源IP地址、目的IP地址、协议类型、TCP源或目的端口、UDP源或目的端口等。
编号范围:
在多数网络设备(如华为设备)上,高级ACL的编号范围为3000~3999。
匹配规则:
源IP地址:指定报文的源IP地址范围。
目的IP地址:指定报文的目的IP地址范围。
协议类型:可以匹配如ICMP、TCP、UDP、IP等多种协议类型。
端口号:针对TCP或UDP协议,可以匹配源端口或目的端口号。
动作:
permit:允许匹配到的报文通过。
deny:拒绝匹配到的报文通过。
其他参数(如适用):
掩码:用于指定IP地址的匹配范围,如greater-equal和less-equal参数,可以表示掩码的大小范围。
顺序:规则是按照顺序进行匹配的,一旦报文匹配到某条规则,就不会再继续匹配后续的规则。
拒绝源IP地址为192.168.10.0/24网段的主机
ping 100.100.100.2的server设备
[AR1]acl number 3000
[AR1-acl-adv-3000]rule 5 deny icmp source 192.168.10.0 0.0.0.255 destination 100
.100.100.2 0
[AR1-acl-adv-3000]rule 100 permit ip
[AR1-acl-adv-3000]int g0/0/1
[AR1-GigabitEthernet0/0/1]traffic-filter outbound acl 3000
3、二层ACL 4000-4999
二层ACL(Access Control List)是网络设备用于根据报文的源MAC地址、目的MAC地址、二层协议类型等内容定义规则,以控制报文转发的技术。
规则编号(rule-id):
指定ACL的规则ID。如果指定ID的规则已经存在,新规则会覆盖旧规则;如果不存在,则使用指定ID创建新规则。
系统自动分配ID时,会从缺省步长值起始(如5),并按步长值递增生成规则序号(如5、 10、15……)。
动作(permit|deny):
permit:允许符合条件的报文通过。
deny:拒绝符合条件的报文通过。
报文封装格式:
ether-ii:Ethernet II封装。
802.3:802.3封装。
snap:SNAP封装。
二层协议类型(l2-protocoltype-value[type-mask]):
指定ACL规则匹配报文的类型,如ARP(0x0806)、IP(0x0800)、IPv6(0x86dd)等。
目的MAC地址(destination-macdest-mac-address[dest-mac-mask]):指定ACL规则匹配报文的目的MAC地址信息。
dest-mac-address:报文的目的MAC地址。
dest-mac-mask:目的MAC地址掩码,用于指定感兴趣的MAC地址范围。
源MAC地址(source-macsource-mac-address[source-mac-mask]):指定ACL规则匹配报文的源MAC地址信息。
source-mac-address:报文的源MAC地址。
source-mac-mask:源MAC地址掩码,用于指定感兴趣的MAC地址范围。
VLAN信息:
vlan-idvlan-id[vlan-id-mask]:指定ACL规则匹配报文的外层VLAN编号。
cvlan-idcvlan-id[cvlan-id-mask]:指定ACL规则匹配报文的内层VLAN编号。
8021p802.1p-value:指定ACL规则匹配报文的802.1p优先级。
时间段(time-rangetime-name):
指定ACL规则生效的时间段。
禁止源MAC地址位为 5489-98FB-376B 的报文发送到目的MAC地址为 5489-9813-237F的设备
[LSW1]acl 4000 配置ACL
[LSW1-acl-L2-4000]rule deny source-mac 5489-98FB-376B ffff-ffff-ffff destination
-mac 5489-9813-237F ffff-ffff-ffff
[LSW1]traffic classifier mac1 基于ACL的流分类
[LSW1-classifier-mac1]if-match acl 4000
[LSW1]traffic behavior mac2 配置流行为
[LSW1-behavior-mac2]deny
[LSW1]traffic policy pol 配置流策略
[LSW1-trafficpolicy-pol]classifier mac1 behavior mac2
[LSW1-trafficpolicy-pol]int e0/0/1 在接口上应用流策略
[LSW1-Ethernet0/0/1]traffic-policy pol inbound
4、自定义ACL(Name ACL,或称为扩展功能ACL)
编号范围:5000~5999
功能:根据报文头、偏移位置、字符串掩码和用户自定义字符串来定义规则,对报文进行过滤。此外,也有资料表明自定义ACL可以通过名称来创建,称为命名型ACL,此时编号由系统自动分配或用户指定(如果系统支持)。
5、基于报文的复杂ACL
编号范围:6000~9999
功能:根据报文的源IP地址、源业务组、源用户组、源端口号、目的IP地址、目的业务组、目的用户组、目的端口号、协议类型等内容定义规则,实现对报文的匹配过滤。
6、基于MPLS的ACL
编号范围:10000~10999
功能:根据MPLS报文的Exp值、Label值、TTL值对报文进行过滤。
7、基于ARP的ACL(某些特定型号或版本可能支持)
编号范围:23000~23999
功能:根据ARP报文的源IPv4地址、目的IPv4地址、源MAC地址、目的MAC地址来定义规则,对报文进行过滤。
其他注意事项
华为设备的ACL规则通常按照规则ID从小到大进行排序和匹配。
用户可以配置规则的步长,以便在规则之间方便地插入新的规则。
ACL规则可以配置生效时间段,以实现基于时间的访问控制。
在某些华为设备上,还可以使用ACL名称来代替ACL编号来定义IP访问控制列表,以便于记忆和管理。