时间范围 ACL 是什么
时间范围 ACL 把访问控制与时钟绑定:先定义一段时间,再让 ACL 规则引用它,规则就只在指定时段内生效。最典型的用法是办公网络只允许工作时间访问某些资源,或者只在夜间放行备份流量。三厂都支持这套机制,差别在写法:思科先建 time-range 名称、再用 periodic 或 absolute 定义周期,华为与 H3C 直接在 time-range 命令后面跟时段与工作日。这条特性对时钟极度敏感——设备时间不对,策略就会在错误的时段生效。
基本信息
| 适用场景 | 按时间段放行或禁止访问 |
|---|---|
| 思科写法 | time-range 名称 + periodic weekdays 时段 / absolute 时段 |
| 华为/H3C 写法 | time-range 名称 时段 working-day 等关键字 |
| 引用方式 | 在 ACL 规则后加 time-range 名称 |
| 硬性前提 | 设备必须已完成 NTP 时间同步 |
典型使用场景
- 办公限流:工作时间禁止访问视频或下载类站点,非工作时间放开
- 夜间备份:只允许备份任务在指定时段访问数据库端口
- 访客网络:仅开放会议时间段的外网访问权限
- 考试或演练:在指定窗口内临时收紧访问策略,结束后自动恢复
- 防止误操作:把高风险端口的访问限制在变更窗口对应的时段
华为 VRP 与 H3C
华为 VRP 与 H3C
[Huawei] time-range WORKDAY 08:00 to 18:00 working-day
[Huawei] acl number 3000
[Huawei-acl-adv-3000] rule 5 deny tcp destination 10.1.1.20 0 destination-port eq 80 time-range WORKDAY
[Huawei-acl-adv-3000] rule 10 permit ip
! H3C 写法一致:time-range 名称 时段 working-day,ACL 规则引用同名思科 IOS
思科 IOS
SW-CORE-01(config)# time-range WORKDAY
SW-CORE-01(config-time-range)# periodic weekdays 08:00 to 18:00
SW-CORE-01(config)# ip access-list extended WEB
SW-CORE-01(config-ext-nacl)# deny tcp any host 10.1.1.20 eq 80 time-range WORKDAY
SW-CORE-01(config-ext-nacl)# permit ip any any
SW-CORE-01# show time-range ! 查看当前是否处于生效时段三厂写法对照
| 项目 | 华为 VRP | 思科 IOS | H3C Comware |
|---|---|---|---|
| 定义时段 | time-range 名称 时段 关键字 | time-range 名称后跟 periodic 或 absolute | time-range 名称 时段 关键字 |
| 周期写法 | 08:00 to 18:00 working-day | periodic weekdays 08:00 to 18:00 | 08:00 to 18:00 working-day |
| 一次性时段 | 支持绝对时间范围 | 使用 absolute 关键字 | 支持绝对时间范围 |
| 规则引用 | rule ... time-range 名称 | time-range 名称 | rule ... time-range 名称 |
| 查看生效 | 查看当前时间与 ACL 命中 | show time-range | 查看当前时间与 ACL 命中 |
启用前必须先完成 NTP 同步。设备时钟偏差几小时,时间 ACL 就会在半夜生效、白天失效,表现为策略完全反向,而且从配置上看不出任何问题。
时段之外的行为要提前想清楚:规则在非生效时段通常不参与匹配,实际效果取决于后面是否还有兜底规则。用 permit 收尾还是用 deny 收尾,结果完全不同。