华为ensp配置ACL

目录

一、实验介绍

1.1关于实验

1.2实验目的

1.3实验组网介绍

1.4实验配置任务

二、实验配置任务

2.1搭建拓扑,并实现全网互通

2.2基本ACL的配置

2.2.1配置基本ACL的语法

步骤一

步骤2创建并应用基本ACL

2.1查看ACL

步骤3验证项目效果(1)

3.1从PC1向PC3发起ping测试

​编辑 3.2从PC1向其他IP地址发起ping测试

3.3查看ACL 2000匹配次数

 2.3高级ACL的配置

2.3.1高级ACL的介绍

步骤1 选择高级ACL的位置和方向

步骤2 创建并应用高级ACL

步骤3 验证ACL

3.1从PC2向PC3发起ping测试

3.2从PC2向其他IP地址发起ping测试

3.3查看ACL 3000匹配次数

2.4ACL规则的顺序

2.4.1ACL规则的顺序

步骤1 设计ACL

步骤2创建并应用ACL

步骤3 检查ACL 3000的配置

步骤4 在AR3上启用Telnet

步骤5 验证配置结果

5.1从AR1上对AR3的环回接口发起ping与telnet测试

5.2从AR2上验证项目效果

步骤6 查看ACL 3000匹配次数

步骤7 使用自动排序

7.1在AR3上更改ACL规则的顺序

7.2在AR3上添加deny规则

7.5在AR3上添加permit规则

7.6.从AR1上验证项目效果

7.6.1从AR2上验证项目效果

7.7查看ACL 3000匹配次数

三、实验总结 



一、实验介绍

1.1关于实验

在本实验中,我们会提出两个通信需求,读者需要对 ACL 的部署位置和具体的命令进行设计,并且在应用后对效果进行测试。在此过程中,希望读者能够理解 ACL 的设计思路和配置命令,掌握 ACL 的应用。

1.2实验目的

熟悉基本 ACL 和高级 ACL 的配置命令
掌握基本 ACL的设计思路
掌握高级 ACL的设计思路

1.3实验组网介绍

实验组网拓扑图

华为ensp配置ACL_第1张图片

使用的网络地址

1.4实验配置任务

1.搭建拓扑,并实现全网互通配置任务

2.基本ACL 的配置

3. 高级 ACL的配置

4.ACL 规则的顺序

二、实验配置任务

2.1搭建拓扑,并实现全网互通

首先,在使用 ACL 对流量进行限制之前,我们要实现全网所有网段的互通,即所有设备及网段之间都能够相互 ping通。本实验通过动态路由协议 OSPF 来实现全网互通,读者可以自行配置 OSPF 并进行验证,本节以 OSPF 为例提供相应的基础配置,读者可以进行参考,当然也可以使用其他方法来实现全网互通。在OSPF的配置中,我们的规则是手动指定每台路由器的环回接口P 地址作为OSPF路由器ID,同时也今环回接口加入 OSPF域。例8-1例 8-3 分别展示了路由器 AR1AR2和AR3 的初始配置。

AR1的初始配置

interface GigabitEthernet0/0/0
 ip address 10.10.12.1 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 10.10.10.254 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 10.10.20.254 255.255.255.0 
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 

ospf 1 router-id 1.1.1.1 
 area 0.0.0.0 
  network 1.1.1.1 0.0.0.0 
  network 10.10.10.254 0.0.0.0 
  network 10.10.12.1 0.0.0.0 
  network 10.10.20.254 0.0.0.0 

AR2的初始配置

interface GigabitEthernet0/0/0
 ip address 10.10.12.2 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 10.10.23.2 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 10.10.30.254 255.255.255.0 
interface LoopBack0
 ip address 2.2.2.2  255.255.255.255 

ospf 1 router-id 2.2.2.2
 area 0.0.0.0 
  network 10.10.12.2  0.0.0.0 
  network 10.10.23.2 0.0.0.0 
  network 2.2.2.2 0.0.0.0 
  network 10.10.30.254  0.0.0.0 

AR3的初始配置

[AR3]interfaceGigabitEthernet0/0/1
[AR3-GigabitEthernet0/0/1]ipaddress10.10.23.324
[AR3-GigabitEthernet0/0/1]quit
[AR3]interfaceLoopBack0
[AR3-LoopBack0]ipaddress3.3.3.332
[AR3-LoopBack0]quit
[AR3]ospf1router-id3.3.3.3
[AR3-ospf-1]area0
[AR3-ospf-1-area-0.0.0.0]network10.10.23.30.0.0.0
[AR3-ospf-1-area-0.0.0.0]network3.3.3.30.0.0.0

检查AR1的IP路由表

华为ensp配置ACL_第2张图片

检查AR2的IP路由表

华为ensp配置ACL_第3张图片

检查AR3的IP路由表

华为ensp配置ACL_第4张图片

2.2基本ACL的配置

2.2.1配置基本ACL的语法

 基本 ACL 只能基子 数据包的源P 址、是否分片及时间信息来进行过滤,本实验仪介绍基于源  地址进行匹配的方式。基本 ACL 配置语句的命令语法如下。

rule [ rule-id ] ( deny l permit ) [ source ( source-address source-wildcard ) any ]

①rue-id:指定 ACL 规则编号。这是一个可选参数,若不指定D,系统会自动分配I 值。在自动分配ID 值时,系统会使用“步长”的概念,步长指每两个自动生成的ID之间的间隔。缺省的步长为 5,系统自动生成的ID为5并按照 5 的倍数自动生成序号,即 5、10、15,以此类推。

②deny 或 permit: 必选参数,指定处理行为,拒绝或允许匹配数据包。

③ource{source-address source-wildcard|any; 如果根据源IP 地址匹配数据包,就需要使用这一组关键字和参数。source-address 指定源IP 地址:source-wildcard 指定通配符掩码,在子网掩码中,0 表示不关心,1 表示匹配,而在通配符抢码中,0 表示匹配,表示不关心,因此通配符掩码也被称为反掩码,比如,如果匹配子网 10.10.0.0/24,要使用的通配符掩码为 0.0.0.255;any 匹配任意源IP 地址。

④在使用命令创建了基本 ACL 后,我们还需要将它应用在接口上,以使 ACL 的功能生效。要想在接口上应用 ACL,需要先进入相应接口,然后使用以下命令进行应用。

⑤trafic-filter {outbound inbound}aclacl-number: 接口视图命令,关键字 outbound指定将 ACL应用于出方向的流量,关键字 inbound 指定将 ACL 应用于入方向的流量。

步骤一

  在这个实验中,我们通过使用基本 ACL,禁止 PC1所属网段的设备访PC3所属网段的设备,其他流量不受影响。
  我们从 ACL的设计进行分析,首先,基本 ACL 只能根据源P 地址来对数据包进行匹配。因为流量是双向的,所以根据本实验的需求,我们有两种选择:PC1 所属网毁的P地址 (10.10.10.0/24)和 PC3 所属网段的P 地址(10.10.30.0/24)。

  荐 PC1 所属子阿作为面 P 地址进行过池,我们可以在以下接口的方向上应用基本ACL。
1)ARI接口G0/0/1 的入方向(但同时也会导致 PCI无法访问 PC2)
2)ARI接口G0/0/0的出向
3A接口G0/0/0的入方向
OAR2 接日G/0/0/2 的出方向
  若以 PC3 所属子网作为源  地址进行过滤,我们可以在以下接口的方向上应用基本ACL。
1)ARI接口 GO/01 的出方向
2)ARI 接口G0/00 的入方向
3)AR2 接口G0/0/0的出方向
DAR2接口G0/02的入方向(但同时也会导致 PC3 无法访间 PC2)
  在选择基本ACL 的应用位置时,应道循的原则是:在尽可能靠近目的地的位置应用基本ACL,基于此,若以 PC1子网为源,最佳应用位置为 AR2 接口 G0/0/2 的山方向:若以 PC3 于网为源,最佳应用位置为 ARI 接口 G0/0/1 的出方向,这样做是为了避免无意闻扩大阻塞范围。比如:以 PCI 子网为,在接近源的 AR2 接口 G0/0/0 的入方向阻塞流量,则PC1将无法访问AR2 所连接的任何子网:若 AR2 不仅连接了 PC3子网还连接了其他子网,甚至连接了互联网,则 PC1 不仅无法访间 PC3 了网,还无法访问其他子网和互联网;若在距离源最近的 ARI接口 G0/0/1 的入方向阻塞流量,ARI 就会去弃 PCI 的流量,使流量无法到达子网之外。

步骤2创建并应用基本ACL

在AR2的G0/0/2出方向上应用以PC1子网为源的基本ACL
 

[AR2]acl2000
[AR2-acl-basic-2000]ruledenysource10.10.10.00.0.0.255
[AR2-acl-basic-2000]rulepermitsourceany
[AR2-acl-basic-2000]quit
[AR2]interfaceGigabitEthernet0/0/2
[AR2-GigabitEthernet0/0/2]traffic-filteroutboundacl2000
2.1查看ACL

华为ensp配置ACL_第5张图片

步骤3验证项目效果(1)

3.1从PC1向PC3发起ping测试
华为ensp配置ACL_第6张图片 3.2从PC1向其他IP地址发起ping测试

华为ensp配置ACL_第7张图片

3.3查看ACL 2000匹配次数

在AR2上查看ACL 2000 

 华为ensp配置ACL_第8张图片

 2.3高级ACL的配置

2.3.1高级ACL的介绍

  高级 ACL 可以根据源I 地址、目的IP 址、IP 类型、传输层源端口、传输层目的端口、是否分片及时间戳信息来进行过滤。高级 ACL 规则的命令语法需要根据 IP 数据包承载的协议类型来选择不同的参数组合,比如,当协议类型为 TCP(TransmissionControl Protocol,传输控制协议)时,高级 ACL 的语法格式为(完整的命令语法可参考华为设备配置指南).

步骤1 选择高级ACL的位置和方向

  考虑从PC2去往PC3的方向进行过滤,即源IP地址为PC2所属网段,
目的IP地址为PC3所属网段,可以在以下接口应用高级ACL:
AR1接口G0/0/2的入方向
AR1接口G0/0/0的出方向
AR2接口G0/0/0的入方向
AR2接口G0/0/2的出方向

步骤2 创建并应用高级ACL

在AR1的G0/0/2入方向上应用高级ACL(以PC2子网为源,PC3子网
为目的)

[AR1]acl3000
[AR1-acl-adv-3000]ruledenyipsource10.10.20.00.0.0.255destination10.10.30.00.0.0.255
[AR1-acl-adv-3000]quit
[AR1]interfaceGigabitEthernet0/0/2
[AR1-GigabitEthernet0/0/2]traffic-filterinboundacl3000

步骤3 验证ACL

3.1从PC2向PC3发起ping测试

华为ensp配置ACL_第9张图片

3.2从PC2向其他IP地址发起ping测试

华为ensp配置ACL_第10张图片

3.3查看ACL 3000匹配次数

  在AR1上查看ACL 3000

2.4ACL规则的顺序

2.4.1ACL规则的顺序

  ACL 是由多条 deny 或 permit 规则构成的一组有序的规则列表,有时这些规则之间会存在重叠或行为矛盾的地方,比如以下两条规则:
rule deny ip destination 10.1.0.0 0.0255.255
rule permit ip destination 10.1.1.0 0.0.0.255
  第一条规则拒绝了目的网段为 10.1.0.0/16 的数据包通过,第二条规则允许了目的网段为 10.1.1.0/24 的数据包通过。通过对比这两条规则,我们可以发现,10.1.0.0/16 网段中包含 10.1.1.0/24 网段,这两条规则对这个网段的处理行为是矛盾的。
  若这两条规则以上述顺序出现在 ACL 中,则目的网段为 10.1.1./24 的数据包永远没有机会与第二条规则相匹配。这是因为 ACL 是按顺序来处理每个规则的,一旦发现与数据包相匹配的规则,设备便会执行规则中指定的行为并退出 ACL匹配进程。因此目的网段为 10.1.1.0/24 的数据包会与第一条规则相匹配,从而被丢弃。

在这个实验任务中,我们需要通过高级 ACL禁止AR1的G0/0/0接口 ping 通AR3的环回接口,但ARI能够 Telnet到AR3 的环回接口,同时能够禁止其他设备 Telnet到AR3 的环回接口。

步骤1 设计ACL

上述需求中涉及两种协议:ICMP和Telnet。D对于ICMP来说,需求中规定禁止AR1的GO/0/0接口ping通AR3的环回接口但允许其他IP地址ping通AR3 的环回接口。要想满足这个需求,只需要一条规则即可为了便于参考,我们列出以下匹配ICMP的命令语法:
rule [ rule-id ]  deny  permit )  protocol-number  icmp }[ destinationdestination-address destination-wildcard  any   icmp-type { icmp-name  icmp-type[ icmp-code ]} ] source { source-address source-wildcardJ any }]根据命令语法,我们需要在规则中将协议定义为ICMP(或协议号 1),将源 地址定义为10.10.12.1(AR1的G0/0/0接口IP地址),将目的IP 地址定义为3.3.3.3(AR3的环回接口P地址)。AR1发来的ICMP数据包的类型是ICMP请求 (Echo-request),因此我们可以将ICMP指定为echo(在该命令语法中echo 参数代表ICMP请求)。最终命令为:rule denyicmp source 10.10.12.10 destination 3.3.3.3 0icmp-type echo。注意,我们在这里只匹配了-个P地址,使用的通配符掩码为0.0.0.0,这个通配符掩码可以简写为0。@对于Telnet来说,需求中规定只有AR1能够 Telnet到AR3的环回接口,同时禁止其他设备对其进行 Telnet。我们需要使用两条命令来满足这个需求:放行 AR1 去往AR3的Telnet流量,拒绝其他设备去往 AR3 的 Telnet 流量。Telnet 使用TCP(端口23),因此我们将匹配TCP的命令语法列出:
rule [ rule-id ]  deny  permit   protocol-number  tcp ?[ destination destination-address destination-wildcard  any )  destination-port ( eq port | gt port l ltport| range port-start port-end ) source  source-address source-wildcard  anysource-port f eq port gt port  lt port  range port-start port-end ) tep-flag f ackestablished/ fin  psh  rst  syn  urg ]
根据命令语法,在放行 AR1流量的规则中,我们需要将协议定义为TCP,将源IP 地址定义为10.10.12.1(AR1的G0/0/0接口P 地址),将目的P地址定义为3.3.3.3(AR3的环回接口IP地址),同时指定目的端口23(Telnet 协议使用的端口),最终命令为: rule permittcp source 10.10.12.1 0 destination 3.3.3.3 0 destiation-port eq 23。接着我们还需要配置一条命令来禁止其他设备对IP 地址 3.3.3.3 发起Telnet,此时的源IP 地址要定义为any,因此最终命今为: rule deny tcp source any destination 3.3.3.3 0 destination-port eq 23。

步骤2创建并应用ACL

在AR3的G0/0/1入方向上应用ACL

[AR3]acl3000
[AR3-acl-adv-3000]ruledenyicmpsource10.10.12.10destination3.3.3.30icmp-
typeecho
[AR3-acl-adv-3000]rulepermittcpsource10.10.12.10destination3.3.3.30
destination-porteq23
[AR3-acl-adv-3000]ruledenytcpsourceanydestination3.3.3.30destination-
porteq23
[AR3-acl-adv-3000]quit
[AR3]interfaceGigabitEthernet0/0/1
[AR3-GigabitEthernet0/0/1]traffic-filterinboundacl3000

步骤3 检查ACL 3000的配置

[AR3]displayacl3000
AdvancedACL3000,3rules
Acl'sstepis5
rule5denyicmpsource10.10.12.10destination3.3.3.30icmp-typeecho
rule10permittcpsource10.10.12.10destination3.3.3.30destination-port
eqtelnet
rule15denytcpdestination3.3.3.30destination-porteqtelnet

步骤4 在AR3上启用Telnet

[AR3]user-interfacevty04
[AR3-ui-vty0-4]authentication-modepassword
Pleaseconfiguretheloginpassword(maximumlength16):Huawei@123

步骤5 验证配置结果

我们通过AR1和AR2分别向AR3的环回接口 3.3.3.3发起 ping和Tenet测试,以验证ACL的配置是否满足需求。例8-18 展示了AR1上的ping和Telnet 测试,结果与需求匹配:ping测试失败,Telnet 测试成功。需要注意的是,我们需要在用户视图中使用Telnet命令。

5.1从AR1上对AR3的环回接口发起ping与telnet测试
ping3.3.3.3
PING3.3.3.3:56databytes,pressCTRL_Ctobreak
Requesttimeout
Requesttimeout
Requesttimeout
Requesttimeout
Requesttimeout
---
3.3.3.3pingstatistics---
5packet(s)transmitted
0packet(s)received
100.00%packetloss

telnet3.3.3.3
PressCTRL_]toquittelnetmode
Trying3.3.3.3...
Connectedto3.3.3.3...
Loginauthentication
Password:Huawei@123
5.2从AR2上验证项目效果
ping3.3.3.3
PING3.3.3.3:56databytes,pressCTRL_Ctobreak
Replyfrom3.3.3.3:bytes=56Sequence=1ttl=255time=60ms
Replyfrom3.3.3.3:bytes=56Sequence=2ttl=255time=20ms
Replyfrom3.3.3.3:bytes=56Sequence=3ttl=255time=40ms
Replyfrom3.3.3.3:bytes=56Sequence=4ttl=255time=20ms
Replyfrom3.3.3.3:bytes=56Sequence=5ttl=255time=30ms
---
3.3.3.3pingstatistics---
5packet(s)transmitted
5packet(s)received
0.00%packetloss
round-tripmin/avg/max=20/34/60ms
telnet3.3.3.3
PressCTRL_]toquittelnetmode
Trying3.3.3.3...
Error:Can'tconnecttotheremotehost

步骤6 查看ACL 3000匹配次数

从AR3上查看ACL 3000

[AR3]displayacl3000
AdvancedACL3000,3rules
Acl'sstepis5
rule5denyicmpsource10.10.12.10destination3.3.3.30icmp-type
echo(5matches)
rule10permittcpsource10.10.12.10destination3.3.3.30
destination-porteqtelnet(35matches)
rule15denytcpdestination3.3.3.30destination-porteqtelnet

步骤7 使用自动排序

7.1在AR3上更改ACL规则的顺序
[AR3]undoacl3000
[AR3]acl3000match-orderauto
[AR3-acl-adv-3000]ruledenyicmpsource10.10.12.10destination
3.3.3.30icmp-typeecho
[AR3-acl-adv-3000]displaythis
[V200R003C00]
#
aclnumber3000match-orderauto
rule5denyicmpsource10.10.12.10destination3.3.3.30icmp-type
echo
#
return
7.2在AR3上添加deny规则
[AR3-acl-adv-3000]ruledenytcpsourceanydestination3.3.3.30
destination-porteqtelnet
[AR3-acl-adv-3000]displaythis
[V200R003C00]
#
aclnumber3000match-orderauto
rule5denyicmpsource10.10.12.10destination3.3.3.30icmp-type
echo
rule10denytcpdestination3.3.3.30destination-porteqtelnet
#
return
7.5在AR3上添加permit规则
[AR3-acl-adv-3000]rulepermittcpsource10.10.12.10destination
3.3.3.30destination-porteqtelnet
[AR3-acl-adv-3000]displaythis
[V200R003C00]
#
aclnumber3000match-orderauto
rule5denyicmpsource10.10.12.10destination3.3.3.30icmp-type
echo
rule10permittcpsource10.10.12.10destination3.3.3.30
destination-porteqtelnet
rule15denytcpdestination3.3.3.30destination-porteqtelnet
#
return
7.6.从AR1上验证项目效果

ping3.3.3.3
PING3.3.3.3:56databytes,pressCTRL_Ctobreak
Requesttimeout
Requesttimeout
Requesttimeout
Requesttimeout
Requesttimeout
---
3.3.3.3pingstatistics---
5packet(s)transmitted
0packet(s)received
100.00%packetloss
telnet3.3.3.3
PressCTRL_]toquittelnetmode
Trying3.3.3.3...
Connectedto3.3.3.3...
Loginauthentication
Password:Huawei@123

7.6.1从AR2上验证项目效果

ping3.3.3.3
PING3.3.3.3:56databytes,pressCTRL_Ctobreak
Replyfrom3.3.3.3:bytes=56Sequence=1ttl=255time=20ms
Replyfrom3.3.3.3:bytes=56Sequence=2ttl=255time=30ms
Replyfrom3.3.3.3:bytes=56Sequence=3ttl=255time=40ms
Replyfrom3.3.3.3:bytes=56Sequence=4ttl=255time=20ms
Replyfrom3.3.3.3:bytes=56Sequence=5ttl=255time=20ms
---
3.3.3.3pingstatistics---
5packet(s)transmitted
5packet(s)received
0.00%packetloss
round-tripmin/avg/max=20/26/40ms
telnet3.3.3.3
PressCTRL_]toquittelnetmode
Trying3.3.3.3...
Error:Can'tconnecttotheremotehost

7.7查看ACL 3000匹配次数

[AR3]displayacl3000
AdvancedACL3000,3rules,match-orderisauto
Acl'sstepis5
rule5denyicmpsource10.10.12.10destination3.3.3.30icmp-type
echo(5matches)
rule10permittcpsource10.10.12.10destination3.3.3.30
destination-porteqtelnet(26matches)
rule15denytcpdestination3.3.3.30destination-porteqtelnet

三、实验总结 

ACL指的是访问控制列表,是一种用于控制文件和目录的访问权限的机制。ACL被广泛地应用于操作系统中,并且分为基础ACL和高级ACL两种类型。

基础ACL是指在传统Unix文件系统中常见的权限控制机制,包括文件所有者、文件组所有者和其他用户三个等级。在这种ACL机制下,每个文件和目录都有一个所有者和一个组所有者,在访问控制时,可以将用户分为这三类,然后为这三类用户分别设置各自的权限。

高级ACL是相对于基础ACL而言的,它提供了更为灵活、精细的访问控制机制。高级ACL可以针对每个文件和目录设置多个不同的权限和访问规则,对于特定的用户或用户组可以设置特定的权限。同时,高级ACL可以支持继承机制,也就是说子目录或文件可以继承其父目录或文件的ACL规则。

基础ACL的工作原理相对简单,当用户试图访问某个文件或目录时,首先系统会检查该用户的UID,如果该用户与该文件的所有者ID匹配,则系统将采用该文件的所有者的权限规则;如果该用户与该文件的组所有者ID匹配,则系统将采用该组所有者的权限规则;否则,系统将采用其他用户的权限规则。

高级ACL的工作原理则更加复杂,因为它需要对访问控制规则进行更为精细的判断和计算,同时需要考虑继承机制和多级别的访问权限。当用户试图访问某个文件或目录时,系统会按照预先设置的ACL规则进行判定,首先判断该用户是否被包含在特定的用户组中,如果是,则采用该用户组的权限规则;否则,判断该用户是否被特定的ACL规则包容,如果包容,则采用该ACL规则中的权限规则;否则,采用其他用户的权限规则。

总之,基础ACL和高级ACL是操作系统中控制文件和目录访问权限的机制,两者的主要差别在于高级ACL提供更为灵活、精细的权限控制机制,可以对不同的用户或用户组设置不同的访问规则。无论是基础ACL还是高级ACL,都可以有效地控制文件或目录的访问权限,提高系统的安全性和可维护性。

你可能感兴趣的:(网络,运维,服务器,智能路由器,华为)