网络技术联盟站 | 网络安全之访问控制列表ACL详解和配置案例(全)
ACL 概述
- ACL(
Access Control List
,访问控制列表)是由一系列permit或deny语句组成的、有序的规则集合,它通过匹配报文的相关字段实现对报文的分类。 - ACL本身只是一组规则,只能区分某一类报文,换句话说,ACL更像是一个工具,当我们希望通过ACL来实现针对特定流量的过滤时,就需要在适当的应用中调用已经定义好的ACL。
- ACL是一个使用非常广泛的工具,能够在多种场景下被调用。
ACL的主要使用场景:
- 被流量策略调用,用于过滤流量(可基于源、目的IP地址、协议类型、端口号等元素);
- 在route-policy中被调用,用于匹配特定的路由前缀,从而执行路由策略;
- 在VPN中调用,用于匹配感兴趣数据流;
- 在防火墙的策略部署中调用,用于匹配流量;
- 其他……。
ACL(Access Control List)称为访问控制列表,顾名思义它是一个列表形式的一组规则。ACL能够识别一个IP数据包中的源IP地址、目的IP地址、协议类型、源目的端口等元素,从而能够针对上述元素进行报文的匹配。
例如一个网络设备在某个接口上源源不断地接收各种网络流量,现在我们希望对这些流量中的某些特定流量进行识别,以便做进一步的动作,那么就可以用到ACL了。此外,除了能够用于匹配数据,ACL还能够用于匹配路由,使得我们能够针对不同的路由部署不同的路由策略。
上图显示的是一个编号为xxx的ACL,这个ACL中包含了多条规则(Rule),每条规则都有一个编号,所有的规则按照规则编号的大小进行排列,编号越小,排行越前。
在每一个规则中,都可定义匹配条件,以及相应的允许/拒绝的动作。在ACL的执行过程中,设备从该ACL中拥有最小编号的规则开始进行计算与匹配,如果被匹配对象满足该条规则中的匹配条件,则执行该条规则所定义的动作,并且不会再往下计算其他规则;而如果被匹配对象不满足该条规则中的匹配条件,则继续往下一条规则进行匹配
。
ACL 的分类
ACL可以使用一个数字来命名,例如ACL 2000,也可以使用一个字符串来命名,例如Test。我们在创建ACL时,可以选择上述两种命名方式中的一种。
按照功能不同,ACL存在多种类型,其中最主要的两种是:
1.基本ACL
基本ACL只能够针对IP报文的源IP地址等信息进行流量匹配。例如我们可以使用基本ACL来拒绝源IP地址段为192.168.1.0/24的报文。
如果在交换机上使用数字命名的方式创建一个基本ACL,那么数字的范围为2000~2999。
2.高级ACL
高级ACL能够针对IP报文的源IP地址、目的IP地址、协议类型、TCP源或目的端口、UDP源或目的端口等元素进行流量匹配。因此它的功能相较基础ACL要更丰富一些。
如果在交换机上使用数字命名的方式创建一个高级ACL,那么数字的范围为3000~3999。
ACL 的配置
1.创建基本ACL
使用数字命名的方式创建一个基本ACL,并进入ACL视图:
[Huawei] acl acl-number # 编号范围( 2000 ~ 2999 )
[Huawei-acl-basic-num]
- 1
- 2
在基本ACL中,创建一个rule的典型命令如下:
[Huawei-acl-basic-num] rule [ rule-id ] { deny | permit } [ source { source-address source-wildcard | any }]
- 1
如果不指定规则ID,则增加一个新规则时设备自动会为这个规则分配一个ID,ID按照大小排序。在上面的配置中,wildcard通配符掩码的概念,其实我们在OSPF的配置中已经介绍过了,此处不再赘述。
2.创建高级ACL
使用数字命名的方式创建一个高级ACL,并进入ACL视图:
[Huawei] acl acl-number # 编号范围( 3000 ~ 3999 )
[Huawei-acl-adv-num]
- 1
- 2
在高级ACL中,创建一个rule的典型命令如下。高级ACL可以用于匹配多种协议类型,例如OSPF、ICMP、TCP、UDP、IP等等,此处以IP为例:
[Huawei-acl-adv-num] rule [ rule-id ] { deny | permit } ip [ destination { destination-address destination-wildcard |any } | source { source-address source-wildcard | any } ]
- 1
ACL 配置实例(路由器)
1.基本ACL配置示例
初始情况下PC1及PC2都能够访问Server。现在在GW的接口上应用ACL,使得PC2无法访问Server,
而其他用户都能够访问Server。
GW的配置如下:
[GW] acl 2000
[GW-acl-basic-2000] rule deny source 192.168.1.2 0 #禁止以192.168.1.2为源地址的流量
#上面的命令,等同于 rule deny source 192.168.1.2 0.0.0.0
[GW-acl-basic-2000] rule permit source any #放行其他所有流量
[GW] interface GigabitEthernet0/0/1
[GW-GigabitEthernet0/0/1] traffic-filter inbound acl 2000 #将ACL2000关联到流量过滤器并应用在GE0/0/1接口的入方向
- 1
- 2
- 3
- 4
- 5
- 6
2.高级ACL配置示例1
初始情况下PC1及PC2都能够访问Server。现在在GW的接口上应用ACL,使得PC2无法访问Server2,放行其他流量。
GW的配置如下:
[GW] acl 3000
[GW-acl-adv-3000] rule deny ip source 192.168.1.2 0 destination 10.0.0.2 0
[GW-acl-adv-3000] rule permit ip #放行其他所有IP流量
[GW] interface GigabitEthernet0/0/1
[GW-GigabitEthernet0/0/1] traffic-filter inbound acl 3000
- 1
- 2
- 3
- 4
- 5
3.高级ACL配置示例2
初始情况下PC1及PC2都能够访问Server。现在在GW的接口上应用ACL,只禁止PC2访问Server2的
Telnet服务,放行其他流量。
GW的配置如下:
[GW] acl 3000
[GW-acl-adv-3000] rule deny tcp source 192.168.1.2 0 destination 10.0.0.2 0 destination-port eq 23
[GW-acl-adv-3000] rule permit ip
[GW] interface GigabitEthernet0/0/1
[GW-GigabitEthernet0/0/1] traffic-filter inbound acl 3000
- 1
- 2
- 3
- 4
- 5
ACL 配置示例(交换机)
在S53交换机上完成ACL的配置,使得R1无法ping通R2,但其他的所有流量都放行。
[SW] acl 3000
[SW-acl-adv-3000] rule deny icmp
[SW-acl-adv-3000] rule permit ip
[SW]interface GigabitEthernet 0/0/1
[SW-GigabitEthernet0/0/1] traffic-filter inbound acl 3000
- 1
- 2
- 3
- 4
- 5
完成配置后,R1无法ping通R2但是可以Telnet R2。
文章来源: blog.csdn.net,作者:wljslmz,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_43025343/article/details/108835826
- 点赞
- 收藏
- 关注作者
评论(0)