华为交换机,使用ACL实现特定时间网络不通

2025-09-22 by 昊之云

使用ACL实现:拒绝192.168.1.24-30每天8:00到18:00这个网段IP地址访问internet

这是一个非常典型的基于时间的ACL访问控制案例。

第一步:绘制网络拓扑图

为了清晰地分析问题,我们假设一个标准的企业网络拓扑。华为交换机作为核心或接入设备,连接着内部网络和出口路由器。

拓扑说明:

  1. 内部网络:包含需要被控制的IP网段 192.168.1.0/24。我们的目标主机 192.168.1.24 到 192.168.1.30 就在这个网段中。
  2. 核心交换机:我们使用一台华为交换机S3700,ACL将在这里配置和应用。这是实施控制策略的最佳位置。
  3. 出口路由器:连接内部网络和Internet的网关设备。交换机将过滤后的流量转发给它。
  4. 流量路径:当 192.168.1.24 的用户访问Internet时,流量会先经过核心交换机,再到达路由器。因此我们在交换机上配置ACL来拦截这部分流量。

先做基础配置:

PC1:

PC2:

路由器: 配置0口和1口的ip地址

[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 200.200.200.254 24
[Huawei-GigabitEthernet0/0/1]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 192.168.1.254 24

PC3:

配置完成后,用PC1 ping PC3,可以通

第二步:需求分析

动作:拒绝(deny)

源IP:192.168.1.24 到 192.168.1.30 (可以用 192.168.1.24/29 表示,但注意24/29的网段范围是24-31,略大于需求。更精确的做法是使用 192.168.1.24 0.0.0.7 的反掩码)
目的:访问Internet(通常指所有出方向流量)
时间:每天 8:00 到 18:00
方向:从内网到外网(出方向)

第三步:配置命令与步骤讲解

在华为交换机上的配置步骤如下:

1. 创建时间段(time-range)

首先,我们需要定义一个周期性的时间段,命名为 WORKING-HOURS。

<HUAWEI> system-view
[HUAWEI] time-range WORKING-HOURS 08:00 to 18:00 daily


  • time-range WORKING-HOURS:创建一个名为 WORKING-HOURS 的时间段。
  • 08:00 to 18:00 daily:设置时间范围为每天的8点到18点。

2. 创建高级ACL

使用基本ACL(2000-2999)通常只匹配源IP,而我们需要匹配源IP并在出方向应用,高级ACL(3000-3999)更为灵活。

[HUAWEI] acl 3001
[HUAWEI-acl-adv-3001] rule 5 deny ip source 192.168.1.24 0.0.0.7 time-range WORKING-HOURS
[HUAWEI-acl-adv-3001] rule 10 permit ip
[HUAWEI-acl-adv-3001] quit

  • acl 3001:进入编号为3001的高级ACL视图。
  • rule 5 deny ip source 192.168.1.24 0.0.0.7:
    • rule 5:设置规则的序号为5(步长默认为5,便于插入新规则)。
    • deny:动作是拒绝。
    • ip:匹配所有IP协议(包括TCP、UDP、ICMP等,即所有网络流量)。
    • source 192.168.1.24 0.0.0.7:匹配源IP地址。这里的 0.0.0.7 是反掩码(wildcard),类似于子网掩码的反码。0.0.0.7 换算成二进制是 00000111,表示前29位必须严格匹配,最后3位可以变化。这正好覆盖了 192.168.1.24 到 192.168.1.31 的IP范围(共8个IP)。虽然比需求多了一个.31,但这是最简洁的写法。如果需要精确匹配24-30,需要使用多条规则,实践中通常采用这个小范围超出的写法。
    • time-range WORKING-HOURS:关键配置!这条规则只在WORKING-HOURS时间段生效。
  • rule 10 permit ip:允许所有其他IP流量。**ACL默认隐含deny all**,如果没有这条规则,所有其他IP流量(包括其他网段访问Internet)在指定时间段内也会被拒绝。

3. 在接口上应用ACL(策略方向)

根据拓扑图,我们需要在连接出口路由器的接口上,出方向(outbound) 应用此ACL。

[HUAWEI] interface Ethernet 0/0/3   # 假设这是连接路由器的接口
[HUAWEI-Ethernet0/0/3] traffic-filter outbound acl 3001
[HUAWEI-Ethernet0/0/3] quit


  • interface Ethernet 0/0/3:进入连接路由器的接口视图。
  • traffic-filter outbound acl 3001:将ACL 3001应用于该接口的出方向。这意味着从内部网络去往路由器的流量会经过ACL 3001的检查。

为什么是出方向?

  • 出方向(Outbound):流量从交换机发出到路由器时进行过滤。这是我们想要控制的数据包的路径。
  • 入方向(Inbound):是流量从路由器进入交换机时进行过滤,不适合本需求。

第四步:验证配置

配置完成后,请使用以下命令进行验证:

  1. 检查时间段状态:

[HUAWEI] display time-range all

查看 WORKING-HOURS 的状态是否为 Active(在当前时间范围内)或 Inactive(不在时间范围内)。

2.检查ACL配置:

[HUAWEI] display acl 3001

确认规则是否正确配置。

  1. 测试:
    在 192.168.1.24 主机上,在8:00到18:00期间尝试ping一个公网IP(如200.200.200.1),应该无法ping通。
    在18:00之后或8:00之前尝试,可以ping通。

总结与注意事项

核心思想:利用时间范围(time-range) 和高级ACL配合,在流量的出方向进行过滤。
反掩码:0.0.0.7 覆盖了24-31,如果需要精确控制24-30,可以拆分为两条规则(例如:rule 5 deny ip source 192.168.1.24 0.0.0.0 和 rule 6 deny ip source 192.168.1.25 0.0.0.6),但配置更复杂。在大多数场景下,使用0.0.0.7是可接受的。
允许所有(permit ip):务必记得添加允许其他流量的规则,否则会成为网络中断。
设备时间:确保交换机的时间(时区、时间)设置正确,否则时间段功能将无法正常工作。可以使用display clock命令查看。建议配置NTP服务器同步时间。

通过以上步骤,你就可以在华为交换机上成功实现基于时间的精细访问控制了。

上一篇



@河南昊之云信息科技有限公司 2011~2025 豫ICP备11031407号