概述
一個很通常的需求,就是在某個公司裡,有時希望限制員工在某個時間範圍内才可以訪問網頁,即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:記錄有關數據報進入訪問列表的信息。