ACL Access Control List 訪問控制表
ACL Advanced Communication Link 高級通信鏈路
ACL Application Control Language 應用控制語言
ACL Authorized Component List 授權成員表
ACL介紹
訪問控制列表(Access Control List,ACL) 是路由器接口的指令列表,用來控制端口進出的數(shù)據(jù)包。ACL適用于所有的被路由協(xié)議,如IP、IPX、AppleTalk等。
ACL的定義也是基于每一種協(xié)議的。如果路由器接口配置成為支持三種協(xié)議(IP、AppleTalk以及IPX)的情況,那么,用戶必須定義三種ACL來分別控制這三種協(xié)議的數(shù)據(jù)包。
ACL的作用
ACL可以限制網(wǎng)絡流量、提高網(wǎng)絡性能。例如,ACL可以根據(jù)數(shù)據(jù)包的協(xié)議,指定數(shù)據(jù)包的優(yōu)先級。
ACL提供對通信流量的控制手段。例如,ACL可以限定或簡化路由更新信息的長度,從而限制通過路由器某一網(wǎng)段的通信流量。
ACL是提供網(wǎng)絡安全訪問的基本手段。如圖1所示,ACL允許主機A訪問人力資源網(wǎng)絡,而拒絕主機B訪問。
ACL可以在路由器端口處決定哪種類型的通信流量被轉(zhuǎn)發(fā)或被阻塞。例如,用戶可以允許E-mail通信流量被路由,拒絕所有的Telnet通信流量。
ACL的執(zhí)行過程
一個端口執(zhí)行哪條ACL,這需要按照列表中的條件語句執(zhí)行順序來判斷。如果一個數(shù)據(jù)包的報頭跟表中某個條件判斷語句相匹配,那么后面的語句就將被忽略,不再進行檢查。
ACL具體的執(zhí)行流程見圖2。
在圖2中,數(shù)據(jù)包只有在跟第一個判斷條件不匹配時,它才被交給ACL中的下一個條件判斷語句進行比較。如果匹配(假設為允許發(fā)送),則不管是第一條還是最后一條語句,數(shù)據(jù)都會立即發(fā)送到目的接口。如果所有的ACL判斷語句都檢測完畢,仍沒有匹配的語句出口,則該數(shù)據(jù)包將視為被拒絕而被丟棄。
這里要注意,ACL不能對本路由器產(chǎn)生的數(shù)據(jù)包進行控制。
ACL的分類
目前有兩種主要的ACL:標準ACL和擴展ACL。
標準的ACL使用 1 ~ 99 以及1300~1999之間的數(shù)字作為表號 擴展的ACL使用 100 ~ 199以及2000~2699之間的數(shù)字作為表號
這兩種ACL的區(qū)別是,標準ACL只檢查數(shù)據(jù)包的源地址; 擴展ACL既檢查數(shù)據(jù)包的源地址,也檢查數(shù)據(jù)包的目的地址,同時還可以檢查數(shù)據(jù)包的特定協(xié)議類型、端口號等。
網(wǎng)絡管理員可以使用標準ACL阻止來自某一網(wǎng)絡的所有通信流量,或者允許來自某一特定網(wǎng)絡的所有通信流量,或者拒絕某一協(xié)議簇(比如IP)的所有通信流量。
擴展ACL比標準ACL提供了更廣泛的控制范圍。例如,網(wǎng)絡管理員如果希望做到“允許外來的Web通信流量通過,拒絕外來的FTP和Telnet等通信流量”,那么,他可以使用擴展ACL來達到目的,標準ACL不能控制這么精確。
在路由器配置中,標準ACL和擴展ACL的區(qū)別是由ACL的表號來體現(xiàn)的,上表指出了每種協(xié)議所允許的合法表號的取值范圍。
正確放置ACL
ACL通過過濾數(shù)據(jù)包并且丟棄不希望抵達目的地的數(shù)據(jù)包來控制通信流量。然而,網(wǎng)絡能否有效地減少不必要的通信流量,這還要取決于網(wǎng)絡管理員把ACL放置在哪個地方。
假設在圖3所示的一個運行TCP/IP協(xié)議的網(wǎng)絡環(huán)境中,網(wǎng)絡只想拒絕從RouterA的T0接口連接的網(wǎng)絡到RouterD的E1接口連接的網(wǎng)絡的訪問,即禁止從網(wǎng)絡1到網(wǎng)絡2的訪問。
根據(jù)減少不必要通信流量的通行準則,網(wǎng)管員應該盡可能地把ACL放置在靠近被拒絕的通信流量的來源處,即RouterA上。如果網(wǎng)管員使用標準ACL來進行網(wǎng)絡流量限制,因為標準ACL只能檢查源IP地址,所以實際執(zhí)行情況為:凡是檢查到源IP地址和網(wǎng)絡1匹配的數(shù)據(jù)包將會被丟掉,即網(wǎng)絡1到網(wǎng)絡2、網(wǎng)絡3和網(wǎng)絡4的訪問都將被禁止。由此可見,這個ACL控制方法不能達到網(wǎng)管員的目的。同理,將ACL放在RouterB和RouterC上也存在同樣的問題。只有將ACL放在連接目標網(wǎng)絡的RouterD上(E0接口),網(wǎng)絡才能準確實現(xiàn)網(wǎng)管員的目標。由此可以得出一個結論: 標準ACL要盡量靠近目的端。
網(wǎng)管員如果使用擴展ACL來進行上述控制,則完全可以把ACL放在RouterA上,因為擴展ACL能控制源地址(網(wǎng)絡1),也能控制目的地址(網(wǎng)絡2),這樣從網(wǎng)絡1到網(wǎng)絡2訪問的數(shù)據(jù)包在RouterA上就被丟棄,不會傳到RouterB、RouterC和RouterD上,從而減少不必要的網(wǎng)絡流量。因此,我們可以得出另一個結論:擴展ACL要盡量靠近源端。
Access Control List,訪問控制列表。 被授權訪問 某一資源的實體及其訪問權限的列表。