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

  • 编辑 | 排版 | 制图 | 测试 | ©瑞哥
  • 此文用时1小时19分钟,原创不易,坚持更不易,希望我的每一份劳动成果都可以得到大家的一个【在看】

基本原理

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


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


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


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


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

原文发布于微信公众号 - 网络技术联盟站(it666lmz)

原文发表时间:2019-06-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券