小乔 发表于 2023-9-28 10:53:18

华为网络工程师 | 如何配置ACL?

本帖最后由 小乔 于 2023-9-28 10:54 编辑

基本原理ACL,是Access Control List的简称,中文名称叫“访问控制列表”。ACL由一系列规则(即描述报文匹配条件的判断语句)组成。这些条件,可以是报文的源地址、目的地址、端口号等。打个比方,ACL其实是一种报文过滤器,ACL规则就是过滤器的滤芯。安装什么样的滤芯(即根据报文特征配置相应的ACL规则),ACL就能过滤出什么样的报文。基于过滤出的报文,我们能够做到阻塞攻击报文、为不同类报文流提供差分服务、对Telnet登录/FTP文件下载进行控制等等,从而提高网络环境的安全性和网络传输的可靠性。

ACL类别
编号范围
规则定义描述

基本ACL
2000~2999
仅使用报文的源IP地址、分片标记和时间段信息来定义规则。

高级ACL
3000~3999
既可使用报文的源IP地址,也可使用目的地址、IP优先级、ToS、DSCP、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。

二层ACL
4000~4999
可根据报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址、以太帧协议类型等。

用户自定义ACL
5000~5999
可根据报文偏移位置和偏移量来定义规则。

用户ACL
6000~9999
既可使用IPv4报文的源IP地址或源UCL(User Control List)组,也可使用目的地址或目的UCL组、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。




生效时间段 time-range如果指定生效时间段,则ACL仅在该时间段内生效,如果不指定生效时间段,则ACL在任何时间都生效。ACL匹配缺省情况下,系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。报文与ACL规则匹配后,会产生两种匹配结果:“匹配”和“不匹配”。匹配(命中规则):指存在ACL,且在ACL中查找到了符合匹配条件的规则。不论匹配的动作是“permit”还是“deny”,都称为“匹配”,而不是只是匹配上permit规则才算“匹配”。
[*]匹配上permit: 允许
[*]匹配上deny: 拒绝
不匹配(未命中规则):指不存在ACL,或ACL中无规则,再或者在ACL中遍历了所有规则都没有找到符合匹配条件的规则。切记以上三种情况,都叫做“不匹配”。
无论报文匹配ACL的结果是“不匹配”、“允许”还是“拒绝”,该报文最终是被允许通过还是拒绝通过,实际是由应用ACL的各个业务模块来决定的。不同的业务模块,对命中和未命中规则报文的处理方式也各不相同。ACL应用ACL并不能单独完成控制网络访问行为或者限制网络流量的效果,而是需要应用到具体的业务模块才能实现。

业务分类
应用场景
涉及业务模块

登录控制
对交换机的登录权限进行控制,允许合法用户登录,拒绝非法用户登录,从而有效防止未经授权用户的非法接入,保证网络安全性。例如,一般情况下交换机只允许管理员登录,非管理员用户不允许随意登录。这时可以在Telnet中应用ACL,并在ACL中定义哪些主机可以登录,哪些主机不能。
Telnet、SNMP、FTP、TFTP、SFTP、HTTP

对转发的报文进行过滤
对转发的报文进行过滤,从而使交换机能够进一步对过滤出的报文进行丢弃、修改优先级、重定向、IPSEC保护等处理。例如,可以通过ACL降低P2P下载、网络视频等消耗大量带宽的数据流的服务等级,在网络拥塞时优先丢弃这类流量,减少它们对其他重要流量的影响。
QoS流策略、NAT、IPSEC

对上送CPU的报文进行过滤
对上送CPU的报文进行必要的限制,可以避免CPU处理过多的协议报文造成占用率过高、性能下降。例如,发现某用户向交换机发送大量的ARP攻击报文,造成交换机CPU繁忙,引发系统中断。这时就可以在本机防攻击策略的黑名单中应用ACL,将该用户加入黑名单,使CPU丢弃该用户发送的报文。
黑名单、白名单、用户自定义流

路由过滤
应用在各种动态路由协议中,对路由协议发布和接收的路由信息进行过滤。例如,可以将ACL和路由策略配合使用,禁止交换机将某网段路由发给邻居路由器。
BGP、IS-IS、OSPF、OSPFv3、RIP、RIPng、组播协议


特别注意:各类业务模块对命中/未命中ACL的处理机制是各不相同的。例如,在流策略中应用ACL时,如果ACL中存在规则但报文未匹配上,该报文仍可以正常通过;但在Telnet中应用ACL,这种情况下,该报文就无法正常通过了。再如,在黑名单中应用ACL时,无论ACL规则配置成permit还是deny,只要报文命中了规则,该报文都会被系统丢弃,其他模块却不存在这种情况。

业务模块
匹配上了permit规则
匹配上了deny规则
ACL中配置了规则,但未匹配上任何规则
ACL中没有配置规则
ACL未创建

流策略
流行为是permit时:permit(允许通过)流行为是deny时:deny(丢弃报文)
deny(丢弃报文)
permit(功能不生效,按照原转发方式进行转发)
permit(功能不生效,按照原转发方式进行转发)
permit(功能不生效,按照原转发方式进行转发)


ACL-限制内网网段主机互访示例
组网需求公司通过Switch实现各部门之间的互连。研发部主机划分在VLAN10中,规划为10.1.1.0/24网段。市场部主机划分在VLAN20中,规划为10.1.2.0/24网段。现要求限制两个网段之间互访,防止公司机密泄露。配置思路1.配置高级ACL和基于ACL的流分类,对研发部与市场部互访的报文进行过滤。2.配置流行为,拒绝匹配上ACL的报文通过。3.配置并应用流策略,使ACL和流行为生效。操作步骤


<HUAWEI> system-view//进入系统视图
vlan batch 10 20//创建VLAN10、VLAN20
interface gigabitethernet 0/0/1   //进入GE0/0/1接口
port link-type trunk       //配置接口为Trunk类型
port trunk allow-pass vlan 10 //配置接口允许VLAN10的报文通过
quit    //返回系统视图
interface gigabitethernet 0/0/2    //进入GE0/0/2接口
port link-type trunk       //配置接口为Trunk类型
port trunk allow-pass vlan 20 // 配置接口允许VLAN20的报文通过
quit   //返回系统视图
interface vlanif 10   // 进入VLANIF10接口
ip address 10.1.1.1 24   // 配置接口的IP地址为10.1.1.1/24
quit   //返回系统视图
interface vlanif 20   // 进入VLANIF20接口
ip address 10.1.2.1 24   // 配置接口的IP地址为10.1.2.1/24
quit   //返回系统视图
关键操作步骤
acl 3001//创建高级ACL3001,并进入高级ACL视图
rule deny ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
//配置ACL规则,拒绝研发部访问市场部的报文通过
quit//返回系统视图
acl 3002   //创建高级ACL3002,并进入高级ACL视图
rule deny ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
// 配置ACL规则,拒绝市场部访问研发部的报文通过
quit//返回系统视图


traffic classifier tc1   //配置流分类tc1
if-match acl 3001   //对匹配ACL3001的报文进行分类
if-match acl 3002    //对匹配ACL3002的报文进行分类
quit   //返回系统视图


traffic behavior tb1   // 配置流行为tb1
deny    //流行为动作为拒绝报文通过
quit   //返回系统视图


traffic policy tp1       // 配置流策略tp1
classifier tc1 behavior tb1   // 将流分类与流行为关联
quit    //返回系统视图


interface gigabitethernet 0/0/1   // 进入GE0/0/1接口
traffic-policy tp1 inbound    //在该接口入方向应用流策略tp1
quit    //返回系统视图
interface gigabitethernet 0/0/2    //进入GE0/0/2接口
traffic-policy tp1 inbound   //在该接口入方向应用流策略tp1
quit   //返回系统视图

dumpling_zzd 发表于 2023-9-30 09:21:55

{:6_267:}{:6_267:}{:6_267:}

shangd 发表于 2023-10-5 14:55:27

谢谢分享
页: [1]
查看完整版本: 华为网络工程师 | 如何配置ACL?