CISCO路由器中的access-list(访问列表)最基本的有两种,分别是标准访问列表和扩展访问列表,二者的区别主要是前者是基于目标地址的数据包过滤,而后者是基于目标地址、源地址和网络协议极其端口的数据包过滤。随着网络的发展和用户要求的变化,从IOS12.0开始,CISCO路由器新增加了一种基于时间的访问列表。通过它,可以根据一天中的不同时间或者根据一星期中的不同日期(当然也可以二者结合起来)控制网络数据包的转发。
一、使用方法
这种基于时间的访问列表就是在原来的标准访问列表和扩展访问列表中加入有效的时间范围来更合理有效的控制网络。它需要先定义一个时间范围,然后在原来的各种访问列表的基础上应用它。并且,对于编号访问表和名称访问表都适用。
二、使用规则
用time-range 命令来指定时间范围的名称,然后用absolute命令或者一个或者多个 periodic命令来具体定义时间范围,IOS命令格式为:
time-range time-range-name absolute [start time date] [end time date] periodic days-of-the week hh:mm to [days-of-the week] hh:mm
我们分别来介绍一下每个命令和参数的详细情况:
time-range: 用来定义时间范围的命令
time-range-name: 时间范围名称,用来标识时间范围,以便于在后面的访问列表中引用
absolute: 该命令用来指定绝对时间范围。它后面紧跟这start和 end两个关键字。在这两个关键字后面的时间要以24小时制、hh:mm(小时:分钟)表示,日期要按照日/月/年来表示。可以看到,他们两个可以都省略。如果省略start及其后面的时间,那表示与之相联系的permit 或deny语句立即生效,并一直作用到end处的时间为止;若省略如果省略end及其后面的时间,那表示与之相联系的permit 或deny语句在start处表示的时间开始生效,并且永远发生作用,当然把访问列表删除了的话就不会起作用了。
上面讲的就是命令和基本参数为了便于理解,下面我们来看两个例子。
如果要表示每天的早8点到晚8点就可以用这样的语句:
absolute start 8:00 end 20:00
再如,我们要使一个访问列表从2000年12月1日早5点开始起作用,直到2000年12月31日晚24点停止作用,语句如下:
absolute start 5:00 1 December 2000 end 24:00 31 December 2000
这样一来,我们就可以用这种基于时间的访问列表来实现,而不用半夜跑到办公室去删除那个访问列表了,这对于网络管理员来说应该是件好事吧。接下来,让我们看下一个periodic命令及其参数。一个时间范围只能有一个absolute语句,但是可以有几个periodic语句。
periodic:主要是以星期为参数来定义时间范围的一个命令。它的参数主要有Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday中的一个或者几个的组合,也可以是daily(每天)、weekday(周一到周五)或者weekend(周末)。
我们还是来看几个具体的例子。比如表示每周一到周五的早9点到晚10点半,就可以用:
periodic weekday 9:00 to 22:30
每周一早7点到周二的晚8点就可以用:
periodic Monday to Tuesday 20:00
好了,我们已经把这个时间范围如何定义弄清楚了,下面让我们看看如何在实际情况下应用这种基于时间的访问列表。
三、应用实例
例1:在如上图所示的网络中,路由器有两个以太网接口E0和E1,分别连接着202.111.170.0和202.222.100.0两个子网络,其中202.111.170.50和202.222.100.100分别是WEB服务器1和WEB服务器2。还有一个串口S1,连入Internet。为了让202.111.170.0子网公司员工在工作时间不能进行WEB浏览,从2000年12月1日1点到2000年12月31日晚24点这一个月中,只有在周六早7点到周日晚10点才可以通过公司的网络访问Internet。我们做如下的基于时间的访问控制列表来实现这样的功能:
Router# config t
Router(config)# interface ethernet 0
Router(config-if)#ip access-group 101 in
Router(config-if)#time-range http
Router(config-if)#absolute start 1:00 1 December 2000 end 24:00 31
December 2000 periodic Saturday 7:00 to Sunday 22:00
Router(config-if)#ip access-list 101 permit tcp any any eq 80 http
我们是在一