有时候我们可能会想对路由器设置一些策略,让一些数据流在指定的时间被允许或拒绝。但是管理员要是去写几个ACL,在不同时段去把它应用起来又非常不方便。这样就可以使用基于时间的访问控制列表。
基于时间的ACL并不是什么新的ACL类型,只是定义好一段时间,然后让路由器在这段时间里去应用指定的ACL条目而已。
指定的时间可以指定一段日期时间范围,也可以指定某天的一段时间范围。为了完成实验,我做了下面这样的一个拓扑:
R1-f0/0————f0/0-R2-f1/0————f0/0-R3
R1的f0/0:192.168.10.1/24;R2的f0/0:192.168.10.2/24;f1/0:192.168.11.1/24;R3的f0/0:192.168.11.2/24,为了使R1和R3能互通需要在两台路由器上配置好相应的静态路由。
一、指定一段时间
1、先创建一个时间段:
R2(config)#time-range allow-packs //allow-pack是自己起的名字
在该命令下的子命令里,主要有absolute和periodic两个命令可以使用,absolute定义的是绝对时间,指定从哪年哪天几点到哪年哪天几点,如下:
R2(config-time-range)#absolute start 10:00 1 Feb 2007 end 11:00 28 Feb 2007
如果只写了start意思就是从什么时间开始,一直应用;如果只写了end意思是立刻开始,到什么时间结束。
注:我做实验的时间是2007年2月7日星期三
2、创建扩展的访问控制列表:
为了简单起见,我设置了在指定时间段全部拒绝,否则全部允许。时间段是和具体的条目相对应的,而不是和一张整表。
R2(config)#access-list 100 deny ip any any time-range allow-packs log
R2(config)#access-list 100 permit ip any any
3、应用至接口:
R2(config)#interface FastEthernet 1/0
R2(config-if)#ip access-group 100 in
4、从R1验证:
R1#ping 192.168.11.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.11.2, timeout is 2 seconds:
U.U.U
Success rate is 0 percent (0/5)
从R2验证:
R2#
*Feb 7 10:21:41.247: %SEC-6-IPACCESSLOGDP: list 100 denied icmp 192.168.10.1 -> 192.168.11.2 (0/0), 24 packets
二、指定每天的时间段(仍然使用上面定义的ACL)
R2(config)#time-range allow-packs
R2(config-time-range)#periodic weekdays 10:30 to 10:45
这里可以按周指定时间,可以使用的选项有: Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday、daily、weekdays、weekend。其中daily指从周一至周日,weekdays指从周一至周五,weekend指周六至周日。
2、在10:40的时候从R1上测试:
R1#ping 192.168.11.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.11.2, timeout is 2 seconds:
U.U.U
Success rate is 0 percent (0/5)
3、在10:46的时候从R1上测试:
R1#ping 192.168.11.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.11.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 104/173/300 ms
转载于:https://blog.51cto.com/kwsnh/392707