ensp-acl访问控制实验

IP ACL概述

ACL-Access Control List

它的作用是对网络流量的访问行为进行控制,是管理员管理、监控网络流量的得力工具;
ACL常常会和服务质量(Quality of Service,QoS)、路由策略等技术结合起来使用,为某项后续的操作定义流量的匹配标准。

在华为设备上,IP ACL分为两种类型:
基本IP ACL
只能基于源IP地址进行匹配
高级IP ACL
基于多种参数进行匹配,这些参数包括三层信息,比如源和目的IP地址,以及四层信息,比如TCP/UDP的源和目的端口号。

IP ACL工作原理

ACL是一个由多条匹配规则和行为构成的过滤列表,每个ACL中都可以包含多个匹配规则,每个匹配规则必须关联一个行为(允许或拒绝);
当与数据包相匹配的规则中指定了拒绝行为,设备就会丢弃这个数据包。当与数据包相匹配的规则中指定了允许行为,设备就会继续处理这个数据包。

如下为ACL的工作示意图
在这里插入图片描述数据包与ACL中的“允许”行为相匹配时的操作:
在这里插入图片描述数据包与ACL中的“拒绝”行为相匹配时的操作:
在这里插入图片描述

通配符掩码

通配符掩码有两种表现形式:

  • 十进制(点分十进制)
  • 二进制
    在这里插入图片描述
    通配符掩码中,0和1的匹配规则如下:
  • 二进制0:必须与IP地址中的对应位取值相匹配;
  • 二进制1:无需与IP地址中的对应位取值相匹配。
    通配符掩码与网络掩码的区别:
    在这里插入图片描述
    通配符掩码示例:
只匹配一个IP地址(主机地址)192.168.8.10:
192.168.8.10 0.0.0.0
匹配一个连续的IP地址范围:
192.168.8.10 0.0.0.255
匹配一个连续的IP地址范围192.168.8.0~192.168.15.255:
192.168.8.10 0.0.7.255
匹配所有IP地址:
192.168.8.10 255.255.255.255

通配符掩码深入理解案例一:
以IP地址10.10.10.10为例

在这里插入图片描述匹配多个连续的IP地址:通配符掩码(十进制)非0位的取值必须是1、3、7、15、31、63、127、255。

通配符掩码深入理解案例二:

在这里插入图片描述案例总结:

此案例中,0和1之间的分界线移到了通配符掩码的第3个八位组,这样一来匹配的IP地址数量就增多了。也就是说,0和1之间的分界线越往左侧移动,匹配的IP地址数量就越多;
在描述连续范围内的IP地址时,二进制格式的通配符掩码要满足:

前半部分必须是连续的0
后半部分必须是连续的1

通配符掩码总结:

在这里插入图片描述
描述一个连续的IP地址范围:二进制通配符掩码中的1从右侧起就是连续的,不能在任意两个1之间出现0。

IP ACL中的匹配顺序

  • 在有多条匹配规则的ACL中,数据包是按顺序从上到下与多个规则进行一一匹配的;
  • ACL中的每个条目(匹配规则)都有一个相应的编号,在使用这个ACL对数据包进行匹配时,设备会按照编号从小到大的顺序来对数据包进行匹配。

在设计ACL中的条目及其顺序时,管理员要考虑到以下几点:

  • 设备会按照从上到下(即编号从小到大)的顺序来依次匹配数据包;
  • 一旦数据包与当前规则匹配成功,设备就会按照当前规则中指定的行为来处理数据包,同时ACL匹配行为也就到此结束了,设备不会继续在ACL中查找其他匹配条目。
如果ACL中没有定义任何规则,则ACL匹配结果为:未命中;
如果ACL中定义了规则,则设备按照规则编号逐个查找匹配规则:
如果数据包与允许语句相匹配,则匹配结果为:匹配(允许);
如果数据包与拒绝语句相匹配,则匹配结果为:匹配(拒绝);
如果数据包与管理员明确配置的语句都不匹配,则匹配结果为:未命中。

入向IP ACL

路由器转发数据包时会由一个接口接收数据包并从另一个接口转发出去。因此这个数据包可能会经由两个ACL进行过滤:

  • 在入站接口上由入向ACL进行过滤
  • 在出站接口上再由出站ACL进行过滤
    在这里插入图片描述数据包在进入路由器接口时,会受到入站接口上应用的入向IP ACL的过滤,并且会产生以下两种结果:
  • 路由器把数据包转交给路由转发进程进行处理
  • 路由器丢弃数据包

入向IP ACL的应用位置和方向示意图:

在这里插入图片描述入站数据包过滤流程图
在这里插入图片描述

出向IP ACL

当路由器通过查询IP路由表,找到了转发数据包所使用的出站接口后,数据包就会受到出站接口应用的出向IP ACL的过滤,并且会产生以下两种结果:

  • 路由器把数据包转发出去
  • 路由器丢弃数据包

出向IP ACL的应用位置和方向示意图:
在这里插入图片描述
出站数据包过滤流程图:

在这里插入图片描述

基本IP ACL

在使用基本IP ACL进行流量过滤时,管理员只能在匹配规则中设置以下参数:

  • 源IP地址
  • 分片信息
  • 生效时间

当在一条匹配规则中同时配置了上述参数时,必须所有参数都满足条件,路由器才会认为数据包与这条规则相匹配;
管理员可以根据实际需求有选择地使用上述参数。

在流控制/简化流控制模块中应用ACL来过滤流量时,管理员可以使用以下三个步骤来创建并应用基本IP ACL:

步骤1

acl [number] acl-number
  • 系统视图命令;
  • 创建一个IP ACL,并进入IP ACL视图;
  • 管理员可以使用这条命令创建任意类型的ACL(IP ACL、MAC ACL或用户自定义ACL),只是要注意根据ACL类型来选择ACL的编号。

步骤2

rule [rule-id] {deny | permit} [source {source-address source-wildcard | any}]

基本IP ACL视图命令;
作用是定义一条匹配规则。

步骤3

traffic-filter {inbound | outbound} {acl | ipv6 acl} {acl-number | name acl-name}

接口视图命令;
作用是在接口上应用ACL。

创建基本IP ACL

在这里插入图片描述场景介绍
AR1作为网络中唯一一台路由器,负责不同VLAN之间的数据转发,同时作为企业网的网关为局域网中的主机提供Internet连接。

地址规划
在这里插入图片描述在这个企业网环境中,管理员要通过基本IP ACL实现以下需求:
源IP地址为私有地址的流量不能从Internet进入企业网络;
财务部门服务器VLAN(10.10.10.0/24)中的服务器只能由财务部VLAN(10.10.30.0/24)中的主机进行访问。

为了满足上述需求,管理员决定在AR1的G6/0/0G6/0/1接口上实施相应的过滤行为,并创建了下面两个基本IP ACL;
管理员在ACL 2000中拒绝了所有源为私有IP地址的访问,在ACL 2010中只允许VLAN 30的主机访问。

[AR1]acl 2000
[AR1-acl-basic-2000]rule deny source 10.0.0.0 0.255.255.255
[AR1-acl-basic-2000]rule deny source 172.16.0.0 0.15.255.255
[AR1-acl-basic-2000]rule deny source 192.168.0.0 0.0.255.255
[AR1-acl-basic-2000]quit
[AR1]acl 2010
[AR1-acl-basic-2010]rule permit source 10.10.30.0 0.0.0.255  #只允许这个网段的计算机访问
[AR1-acl-basic-2010]rule deny source any  # 其他网段都不允许访问

使用display acl命令查看了这两个IP ACL的配置。

[AR1]display acl all
 Total quantity of nonempty ACL number is 2 
 
Basic ACL 2000, 3 rules
Acl's step is 5
 rule 5 deny source 10.0.0.0 0.255.255.255 
 rule 10 deny source 172.16.0.0 0.15.255.255 
 rule 15 deny source 192.168.0.0 0.0.255.255 
 
Basic ACL 2010, 2 rules
Acl's step is 5
 rule 5 permit source 10.10.30.0 0.0.0.255 
 rule 10 deny 

在相应的接口上应用创建的IP ACL。

[AR1]interface g6/0/0
[AR1-GigabitEthernet6/0/0]traffic-filter inbound acl 2000
[AR1-GigabitEthernet6/0/0]quit
[AR1]interface g6/0/1
[AR1-GigabitEthernet6/0/1]traffic-filter outbound acl 2010

ISP路由器向AR1的G6/0/0接口发起了ping测试:
在这里插入图片描述分别从PC30和PC20向服务器10发起了ping测试
在这里插入图片描述在这里插入图片描述

高级IP ACL

在使用高级IP ACL进行流量过滤时,管理员能够在匹配规则中设置多种参数;
管理员可以使用以下三个步骤来创建并应用高级IP ACL。

步骤一:

acl [number] acl-number
  • acl:必选关键字,表示管理员将要配置一个ACL;
  • number:可选关键字,表示管理员要为这个ACL定义一个编号。在本节的配置案例中,我们会省略这个关键字;
  • acl-number:必选参数,在这里设置管理员要配置的ACL编号。高级IP ACL的编号取值范围是3000~3999

步骤二:

rule [rule-id] {deny | permit} ip [destination {destination-address destination-wildcard | any } | source {source-address source-wildcard | any}
  • rule:必选关键字,表示管理员将要配置一条规则;

  • rule-id:可选关键字,表示管理员为这条规则设置编号;

  • deny | permit:必选关键字(二选一),指定这条匹配规则的行为。如果要丢弃与这条规则相匹配的IP数据包,就使用关键字deny。如果要放行与这条规则相匹配的IP数据包,就使用关键字permit

  • destination {destination-address destination-wildcard | any }:可选关键字组,关键字destination表示管理员要配置目的IP地址信息;destination-address destination-wildcard参数用来指定具体的IP地址;关键字any表示这条规则要匹配任意目的IP地址的数据包;

  • source {source-address source-wildcard | any}:可选关键字组,关键字source表示管理员要配置源IP地址信息;source-address source-wildcard参数用来指定具体的IP地址;关键字any表示这条规则要匹配任意源IP地址的数据包。

步骤三:

traffic-filter {inbound | outbound} {acl | ipv6 acl} {acl-number | name acl-name}

traffic-filter:必选关键字;
inbound | outbound:必选关键字(二选一);
acl | ipv6 acl:必选关键字(二选一);
acl-number | name acl-name:必选关键字(二选一)。

创建高级IP ACL

基本IP ACL案例中添加了一台路由器后的拓扑:
在这里插入图片描述高级IP ACL环境中的IP地址规划:
在这里插入图片描述财务部门服务器VLAN(10.10.10.0/24)中的服务器只能由财务部VLAN(10.10.30.0/24)中的主机进行访问:
AR1上创建高级IP ACL

[AR1]acl 3000
[AR1-acl-adv-3000]rule deny ip destination 10.10.10.0 0.0.0.255

管理员在ACL 3000中禁止VLAN 20中的用户PC访问VLAN 10:
查看管理员创建的高级IP ACL

[AR1]display acl 3000
Advanced ACL 3000, 1 rule
Acl's step is 5 
 rule 5 deny ip destination 10.10.10.0 0.0.0.255 

高级IP ACL应用在相应的位置上:

[AR1]interface g6/0/2
[AR1-GigabitEthernet6/0/2]traffic-filter inbound acl 3000

配置缺省路由

[AR1]ip route-static 0.0.0.0 0 10.10.12.2
[AR2]ip route-static 0.0.0.0 0 10.10.12.1

测试高级IP ACL的效果:

PC20:
在这里插入图片描述PC30:
在这里插入图片描述
使用基本IP ACL和高级IP ACL来实现相同的访问限制的区别:
在这里插入图片描述单独删除指定规则:

[AR1] display acl 2000
Basic ACL 2000, 4 rules
Acl's step is 5
rule 5 deny source 10.0.0.0 0.255.255.255 
 rule 10 permit source 10.10.0.0 0.0.255.255 
 rule 15 deny source 172.16.0.0 0.0.15.255 
 rule 20 deny source 192.168.0.0 0.0.255.255 
 
[AR1] acl 2000
[AR1-acl-basic-2000]undo rule 10
[AR1-acl-basic-2000]quit
[AR1]display acl 2000
Basic ACL 2000, 3 rules
Acl's step is 5
 rule 5 deny source 10.0.0.0 0.255.255.255 
 rule 15 deny source 172.16.0.0 0.0.15.255 
 rule 20 deny source 192.168.0.0 0.0.255.255 

利用ACL步长重新自动编号

[AR1]display acl 2000
Basic ACL 2000, 3 rules
Acl's step is 5
 rule 5 deny source 10.0.0.0 0.255.255.255 
 rule 15 deny source 172.16.0.0 0.0.15.255 
 rule 20 deny source 192.168.0.0 0.0.255.255 
 
[AR1]acl 2000
[AR1-acl-basic-2000]rule 4 permit source 10.10.0.0 0.0.255.255
[AR1-acl-basic-2000]display acl 2000
Basic ACL 2000, 4 rules
Acl's step is 5
 rule 4 permit source 10.10.0.0 0.0.255.255 
 rule 5 deny source 10.0.0.0 0.255.255.255 
 rule 15 deny source 172.16.0.0 0.0.15.255 
 rule 20 deny source 192.168.0.0 0.0.255.255 
 
[AR1-acl-basic-2000]step 10
[AR1-acl-basic-2000]display acl 2000
Basic ACL 2000, 4 rules
Acl's step is 10
 rule 10 permit source 10.10.0.0 0.0.255.255 
 rule 20 deny source 10.0.0.0 0.255.255.255 
 rule 30 deny source 172.16.0.0 0.0.15.255 
 rule 40 deny source 192.168.0.0 0.0.255.255 

其他高级acl语句

[R1]acl 3000(定义一个扩展ACL3000)
[R1-acl-adv-3000]rule 5 permit ip source 192.168.1.20 0.0.0.0 destination.168.2.10
0.0.00(允许以C2为源C3为目标的流量)
[R1-acl-adv-3000]rule 10 deny ip source 192.168.1.00.0.0.255 destination 192.168.2.0
0.0.0.255(注意此条语句位置!拒绝所有van10为源van20为目标的流量)
[R1-acl-adv-3000]rule 15 deny tcp source 192.168.1.10 0.0.0.0 destination.0.0.2
0.00.0 destination-port eq80(拒绝C1为源访问目标为 Server的TCP80端口)
[R1ac-adv-3000]rule 20 permit ip source any(最后允许所有未匹配的流量)
[R1]int g0/0/1.10
[R1- GigabitEtherneto/0/1.10] traffic-filter inbound acl 3000(在van10网关的n方向调用)acl
  • 8
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ACL(Access Control List)是一种网络安全技术,用于控制网络流量,实现网络访问控制。为eNSP是一款网络仿真软件,可以用于模拟网络环境,进行ACL配置实验。下面是ACL配置实验的步骤: 1. 创建网络拓扑:在eNSP中创建网络拓,包括交换机、路由器和主机等设备。 2. 配置IP地址:为每个设备配置IP地址,使它们能够相互通信。 3. 配置ACL规则:根据实验需求,设计ACL规则,包括基本ACL和高级ACLACL规则可以根据源IP地址、目的IP地址、协议类型、端口号等条件进行匹配,从而实现对网络流量的控制。 4. 应用ACL规则:将ACL规则应用到相应的接口上,使其生效。 5. 测试ACL效果:通过发送数据包测试ACL规则的效果,验证ACL是否能够正确地控制网络流量。 下面是一个简单的ACL配置实验范例: 1. 创建网络拓扑:在eNSP中创建一个包含两台主机和一台路由器网络拓扑。 2. 配置IP地址:为路由器和两台主机分别配置IP地址,使它们能够相互通信。 3. 配置ACL规则:设计一个基本ACL规则,允许主机A向主机B发送HTTP流量,禁止其他流量通过。ACL规则如下: ```shell acl number 2001 rule 5 permit source 192.168.1.2 0 destination 192.168.1.3 0 http rule 10 deny ``` 4. 应用ACL规则:将ACL规则应用到路由器的接口上,使其生效。假设路由器的接口为GigabitEthernet 0/0/1,应用ACL规则的命令如下: ```shell interface GigabitEthernet 0/0/1 ip address 192.168.1.1 24 traffic-filter inbound acl 2001 ``` 5. 测试ACL效果:在主机A上发送HTTP流量到主机B,验证ACL规则是否生效。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值