概述
一个很通常的需求,就是在某个公司里,有时希望限制员工在某个时间范围内才可以访问网页,即HTTP服务,或其它服务,在时间范围之外,就不能访问,那么这样的需求,就可以通过配置基于时间的ACL来实现。
要通过ACL来限制用户在规定的时间范围内访问特定的服务,首先设备上必须配置好正确的时间。在相应的时间要允许相应的服务,这样的命令,在配置ACL时,是正常配置的,但是,如果就将命令正常配置之后,默认是在所有时间内允许的,要做到在相应时间内允许,还必须为该命令加上一个时间限制,这样就使得这条ACL命令只在此时间范围内才能生效。而要配置这样的时间范围,是通过配置time-range来实现的,在time-range中定义好时间,再将此time-range跟在某ACL的条目之后,那么此条目就在该时间范围内起作用,其它时间是不起作用的。
在定义time-range时,常用的时间简单分为两种,第一种叫做绝对时间(absolute),即这个时间只生效一次,比如2010年1月1月15:00;另一种时间叫做周期时间(periodic),即这个时间是会多次重复的,比如每周一,或者每周一到周五。
正确放置
ACL通过过滤数据包并且丢弃不希望抵达目的地的数据包来控制通信流量。然而,网络能否有效地减少不必要的通信流量,这还要取决于网络管理员把ACL放置在哪个地方。
假设在的一个运行TCP/IP协议的网络环境中,网络只想拒绝从RouterA的T0接口连接的网络到RouterD的E1接口连接的网络的访问,即禁止从网络1到网络2的访问。
根据减少不必要通信流量的通行准则,网管员应该尽可能地把ACL放置在靠近被拒绝的通信流量的来源处,即RouterA上。如果网管员使用标准ACL来进行网络流量限制,因为标准ACL只能检查源IP地址,所以实际执行情况为:凡是检查到源IP地址和网络1匹配的数据包将会被丢掉,即网络1到网络2、网络3和网络4的访问都将被禁止。由此可见,这个ACL控制方法不能达到网管员的目的。同理,将ACL放在RouterB和RouterC上也存在同样的问题。只有将ACL放在连接目标网络的RouterD上(E0接口),网络才能准确实现网管员的目标。由此可以得出一个结论:标准ACL要尽量靠近目的端。
网管员如果使用扩展ACL来进行上述控制,则完全可以把ACL放在RouterA上,因为扩展ACL能控制源地址(网络1),也能控制目的地址(网络2),这样从网络1到网络2访问的数据包在RouterA上就被丢弃,不会传到RouterB、RouterC和RouterD上,从而减少不必要的网络流量。因此,我们可以得出另一个结论:扩展ACL要尽量靠近源端。ACL的主要的命令描述access-list定义访问控制列表参数ip access-group指派一个访问控制列表到一个接口ip access-list extended定义一个扩展访问控制列表Remark 注释一个访问控制列表show ip access-list 显示已配置的访问控制列表。
定义规范
(1)ACL的列表号指出了是哪种协议的ACL。各种协议有自己的ACL,而每个协议的ACL又分为标准ACL和扩展ACL。这些ACL是通过ACL列表号区别的。如果在使用一种访问ACL时用错了列表号,那么就会出错误。
(2)一个ACL的配置是每协议、每接口、每方向的。路由器的一个接口上每一种协议可以配置进方向和出方向两个ACL。也就是说,如果路由器上启用了IP和IPX两种协议栈,那么路由器的一个接口上可以配置IP、IPX两种协议,每种协议进出两个方向,共四个ACL。
(3)ACL的语句顺序决定了对数据包的控制顺序。在ACL中各描述语句的放置顺序是很重要的。当路由器决定某一数据包是被转发还是被阻塞时,会按照各项描述语句在ACL中的顺序,根据各描述语句的判断条件,对数据报进行检查,一旦找到了某一匹配条件就结束比较过程,不再检查以后的其他条件判断语句。
(4)最有限制性的语句应该放在ACL语句的首行。把最有限制性的语句放在ACL语句的首行或者语句中靠近前面的位置上,把“全部允许”或者“全部拒绝”这样的语句放在末行或接近末行,可以防止出现诸如本该拒绝(放过)的数据包被放过(拒绝)的情况。
(5)新的表项只能被添加到ACL的末尾,这意味着不可能改变已有访问控制列表的功能。如果必须改变,只有先删除已存在的ACL,然后创建一个新ACL,将新ACL应用到相应的接口上。
(6)在将ACL应用到接口之前,一定要先建立ACL。首先在全局模式下建立ACL,然后把它应用在接口的出方向或进方向上。在接口上应用一个不存在的ACL是不可能的。
(7)ACL语句不能被逐条的删除,只能一次性删除整个ACL。
(8)在ACL的最后,有一条隐含的“全部拒绝”的命令,所以在ACL里一定至少有一条“允许”的语句。
(9)ACL只能过滤穿过路由器的数据流量,不能过滤由本路由器上发出的数据包。
(10)在路由器选择进行以前,应用在接口进入方向的ACL起作用。
(11)在路由器选择决定以后,应用在接口离开方向的ACL起作用。
ACL会议(Annual Meeting of the Association for Computational Linguistics)
ACL会议是自然语言处理与计算语言学领域最高级别的学术会议,由计算语言学协会主办,每年一届。涉及对话(Dialogue(篇章(Discourse)评测(Eval)信息抽取(IE)信息检索(IR)语言生成(LanguageGen)语言资源(LanguageRes)机器翻译(MT)多模态(Multimodal)音韵学/形态学(Phon/Morph)自动问答(QA)语义(Semantics)情感(Sentiment)语音(Speech)统计机器学习(Stat ML)文摘(Summarisation)句法(Syntax)等多个方面。
access-list命令格式
标准访问列表
access-list access-list-number{permit|deny}{source[source-wildcard]|any}
命令解释如下:
access-list:访问列表命令。
access-list-number:访问列表号码,值为1~99.
permit:允许。
deny:拒绝。
source:源IP地址。
source-wildcard:源IP地址的通配符。
扩展访问列表
access-list access-list-number{permit|deny}{protocolprotocol-keyword}{source[source-wildcard]|any}{destination destination-wildcard}|any}[protocol-specific options][log]
命令解释如下:
access-list-number:访问列表号码,值为100~199.
protocolprotocol-keyword:可使用的协议,包括IP、ICMP、IGRP、EIGRP、OSPF等。
destination destination-wild:目的IP地址,格式与源IP地址相同。
protocol-specific options:协议制定的选项。
log:记录有关数据报进入访问列表的信息。