目录
ACL(Access Control List,访问控制列表)是网络设备中用于控制数据包转发的一种技术。通过 ACL,可以基于源 IP 地址、目的 IP 地址、协议类型、端口号等条件对数据包进行过滤或控制。在华为 ENSP(Enterprise Network Simulation Platform)中,ACL 的配置是网络管理的基础技能之一。
一、基本 ACL 原理
1. ACL 的作用
- 流量过滤:允许或拒绝特定流量的通过。
- 流量控制:基于 ACL 规则对流量进行分类和处理。
- 安全防护:限制非法访问,保护网络安全。
2. ACL 的分类
- 基本 ACL(Basic ACL):仅基于源 IP 地址进行匹配。
- 高级 ACL(Advanced ACL):基于源 IP、目的 IP、协议类型、端口号等多维度进行匹配。
- 二层 ACL(Layer 2 ACL):基于 MAC 地址进行匹配。
3. ACL 的匹配规则
- 自上而下:ACL 规则按顺序逐条匹配,一旦匹配成功则停止后续匹配。
- 默认拒绝:如果数据包未匹配任何规则,则默认被拒绝。
4. ACL 的应用方向
- 入方向(Inbound):对进入设备接口的流量进行过滤。
- 出方向(Outbound):对离开设备接口的流量进行过滤。
二、基本 ACL 配置命令
1. 创建基本 ACL
acl number 2000 # 创建基本 ACL,编号范围为 2000-2999
rule 5 permit source 192.168.1.0 0.0.0.255 # 允许 192.168.1.0/24 网段的流量
rule 10 deny source any # 拒绝其他所有流量
- ACL 编号:基本 ACL 的编号范围为 2000-2999。
- rule:定义 ACL 规则,
permit
表示允许,deny
表示拒绝。 - source:匹配源 IP 地址,
any
表示任意地址。
2. 应用 ACL 到接口
interface GigabitEthernet0/0/1
traffic-filter inbound acl 2000 # 在接口入方向应用 ACL 2000
- inbound:表示对进入接口的流量进行过滤。
- outbound:表示对离开接口的流量进行过滤。
3. 查看 ACL 配置
display acl 2000 # 查看 ACL 2000 的配置信息
display traffic-filter applied-record # 查看 ACL 的应用记录
4. 删除 ACL 规则
acl number 2000
undo rule 5 # 删除规则 5
5. 删除 ACL
undo acl number 2000 # 删除 ACL 2000
三、配置示例
场景描述
- 允许
192.168.1.0/24
网段的流量通过,拒绝其他所有流量。 - 将 ACL 应用到接口
GigabitEthernet0/0/1
的入方向。
配置步骤
- 创建基本 ACL:
acl number 2000 rule 5 permit source 192.168.1.0 0.0.0.255 rule 10 deny source any
- 应用 ACL 到接口:
interface GigabitEthernet0/0/1 traffic-filter inbound acl 2000
- 查看 ACL 配置:
display acl 2000 display traffic-filter applied-record
四、命令拓展
1. 基于时间段的 ACL
time-range work-time 08:00 to 18:00 working-day # 定义时间段
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255 time-range work-time # 在指定时间段内生效
2. 基于协议的 ACL
acl number 3000 # 创建高级 ACL
rule 5 permit tcp source 192.168.1.0 0.0.0.255 destination 10.0.0.1 0.0.0.0 destination-port eq 80 # 允许 HTTP 流量
3. 基于接口的 ACL
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255 interface GigabitEthernet0/0/1 # 仅对指定接口生效
4. ACL 日志功能
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255 log # 记录匹配的流量日志
五、注意事项
- 规则顺序:ACL 规则按顺序匹配,应将最具体的规则放在前面。
- 默认拒绝:ACL 默认拒绝所有未匹配的流量,需明确允许的流量。
- 性能影响:过多的 ACL 规则会影响设备性能,需合理设计。
- 测试验证:配置完成后,务必通过
ping
或tracert
等工具验证 ACL 效果。
通过以上原理和命令,可以在 ENSP 中熟练配置基本 ACL,并根据实际需求进行拓展和优化。下面分享两个基本ACL案例
六、案例分享
实验一:基本ACL配置
路由器R的g0/0/0端口连接内网,g0/0/1连接外网,网络结构如图所示。
现在要允许IP地址为192.168.10.2的内网用户访问外网,其他用户都不可以访问外网。
实验拓扑图:
实验步骤:
PC的IP配置如图
交换机配置:无
路由器配置:
<Huawei>sys
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 192.168.10.254 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 218.100.100.1 24
[Huawei-GigabitEthernet0/0/1]q
[Huawei]ospf
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]net 192.168.10.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]net 218.100.100.0 0.0.0.255
ACL配置,并应用到g0/0/0接口,方向为来的方向,即in的方向(思考如何应用在g0/0/1接口上):
[Huawei]acl 2000
[Huawei-acl-basic-2000]rule permit source 192.168.10.2 0 //允许特定 IP (192.168.10.2) 的流量通过
[Huawei-acl-basic-2000]rule deny source any //拒绝所有其他IP的流量
[Huawei-acl-basic-2000]q
以下指令二选一:
入口方向:
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]traffic-filter inbound acl 2000
//G0/0/0 接口应用于入方向,只允许特定 IP 的入站流量
出口方向:
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/0]traffic-filter outbound acl 2000
//G0/0/1 接口应用于出方向,只允许特定 IP 的出站流量
验证:
PC1插入ACL前后对比:
PC2插入ACL前后对比:
实验二:基本ACL实用案例
假设某单位有5个网段:192.168.10.0/24,192.168.20.0/24,192.168.30.0/24,192.168.40.0/24,192.168.50.0/24,分别对应5个VLAN,即vlan 10、vlan 20、vlan 30、vlan 40、vlan 50,其中vlan 50网段是服务器的网段,如图所示。现要求实现vlan 30和vlan 40可以访问vlan 50,但vlan 10和vlan 20不允许访问。
实验拓扑图:
实验步骤:
PC与服务器的IP设置如图
交换机设置:
<Huawei>sys
[Huawei]vlan ba 10 20 30 40 50
[Huawei]int vlanif 10
[Huawei-Vlanif10]ip add 192.168.10.254 24
[Huawei-Vlanif10]int vlanif 20
[Huawei-Vlanif20]ip add 192.168.20.254 24
[Huawei-Vlanif20]int vlanif 30
[Huawei-Vlanif30]ip add 192.168.30.254 24
[Huawei-Vlanif30]int vlanif 40
[Huawei-Vlanif40]ip add 192.168.40.254 24
[Huawei-Vlanif40]int vlanif 50
[Huawei-Vlanif50]ip add 192.168.50.254 24
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]p l a
[Huawei-GigabitEthernet0/0/1]p d v 10
[Huawei-GigabitEthernet0/0/1]int g0/0/2
[Huawei-GigabitEthernet0/0/2]p l a
[Huawei-GigabitEthernet0/0/2]p d v 20
[Huawei-GigabitEthernet0/0/2]int g0/0/3
[Huawei-GigabitEthernet0/0/3]p l a
[Huawei-GigabitEthernet0/0/3]p d v 30
[Huawei-GigabitEthernet0/0/3]int g0/0/4
[Huawei-GigabitEthernet0/0/4]p l a
[Huawei-GigabitEthernet0/0/4]p d v 40
[Huawei-GigabitEthernet0/0/4]int g0/0/24
[Huawei-GigabitEthernet0/0/24]p l a
[Huawei-GigabitEthernet0/0/24]p d v 50
ACL规则设置:
[Huawei]acl 2000
[Huawei-acl-basic-2000]rule permit source 192.168.30.0 0.0.0.255
# 允许源IP地址为192.168.30.0/24的流量通过
[Huawei-acl-basic-2000]rule permit source 192.168.40.0 0.0.0.255
# 允许源IP地址为192.168.40.0/24的流量通过
[Huawei-acl-basic-2000]rule deny source any
# 拒绝其他所有流量
[Huawei-acl-basic-2000]q
[Huawei]int g0/0/24
[Huawei-GigabitEthernet0/0/24]traffic-filter outbound acl 2000
# 在接口0/0/24的出方向应用ACL 2000进行流量过滤
测试截图
PC5:
PC7:
最后想了解更多ACL高级规则可以参考博主的另一篇博文:ENSP 配置高级 ACL 原理与命令拓展https://blog.csdn.net/m0_57376564/article/details/148070766?spm=1001.2014.3001.5501