訪問控制列表

應用在路由器介面的指令列表

訪問控制列表是應用在路由器介面的指令列表,這些指令列表用來告訴路由器哪些數據包可以接收、哪些數據包需要拒絕。訪問控制列表(Access Control Lists,ACL)是應用在路由器介面的指令列表。首先,在access和list這2個關鍵字之間必須有一個連字元"-";其次,list number的範圍在0~99之間,這表明該access-list語句是一個普通的標準型IP訪問列表語句。---- 在標準型IP訪問列表中,使用permit語句可以使得和訪問列表項目匹配的數據包通過介面,而deny語句可以在介面過濾掉和訪問列表項目匹配的數據包。

簡介


訪問控制列表(Access Control Lists,ACL)是應用在路由器介面的指令列表。這些指令列表用來告訴路由器哪些數據包可以收、哪些數據包需要拒絕。至於數據包是被接收還是拒絕,可以由類似於源地址、目的地址、埠號等的特定指示條件來決定。
訪問控制列表具有許多作用,如限制網路流量、提高網路性能;通信流量的控制,例如ACL可以限定或簡化路由更新信息的長度,從而限制通過路由器某一網段的通信流量;提供網路安全訪問的基本手段;在路由器埠處決定哪種類型的通信流量被轉發或被阻塞,例如,用戶可以允許E-mail通信流量被路由,拒絕所有的 Telnet通信流量等。
訪問控制列表從概念上來講並不複雜,複雜的是對它的配置和使用,許多初學者往往在使用訪問控制列表時出現錯誤。

功能


1)限制網路流量、提高網路性能。例如,ACL可以根據數據包的協議,指定這種類型的數據包具有更高的優先順序,同等情況下可預先被網路設備處理。
2)提供對通信流量的控制手段。
3)提供網路訪問的基本安全手段。
4)在網路設備介面處,決定哪種類型的通信流量被轉發、哪種類型的通信流量被阻塞。
例如,用戶可以允許E- mail通信流量被路由,拒絕所有的Telnet通信流量。例如,某部門要求只能使用WWW這個功能,就可以通過ACL實現;又例如,為了某部門的保密性,不允許其訪問外網,也不允許外網訪問它,就可以通過ACL實現。

工作原理


①當一個數據報進入一個埠,路由器檢查這個數據報是否可路由。
如果是可以路由的,路由器檢查這個埠是否有ACL控制進入數據報。
如果有,根據ACL中的條件指令,檢查這個數據報。
如果數據報是被允許的,就查詢路由表,決定數據報的目標埠。
②路由器檢查目標埠是否存在ACL控制流出的數據報。
若不存在,這個數據報就直接發送到目標埠。
若存在,就再根據ACL進行取捨。然後在轉發到目的埠。
總之,一入站數據包,由路由器處理器調入內存,讀取數據包的包頭信息,如目標IP地址,並搜索路由器的路由表,查看是否在路由表項中,如果有,則從路由表的選擇介面轉發(如果無,則丟棄該數據包),數據進入該介面的訪問控制列表(如果無訪問控制規則,直接轉發),然後按條件進行篩選。
當ACL處理數據包時,一旦數據包與某條ACL語句匹配,則會跳過列表中剩餘的其他語句,根據該條匹配的語句內容決定允許或者拒絕該數據包。如果數據包內容與ACL語句不匹配,那麼將依次使用ACL列表中的下一條語句測試數據包。該匹配過程會一直繼續,直到抵達列表末尾。最後一條隱含的語句適用於不滿足之前任何條件的所有數據包。這條最後的測試條件與這些數據包匹配,通常會隱含拒絕一切數據包的指令。此時路由器不會讓這些數據進入或送出介面,而是直接丟棄。最後這條語句通常稱為隱式的“deny any”語句。由於該語句的存在,所以在ACL中應該至少包含一條permit語句,否則,默認情況下,ACL將阻止所有流量。

分類


標準IP訪問列表
一個標準IP訪問控制列表匹配IP包中的源地址或源地址中的一部分,可對匹配的包採取拒絕或允許兩個操作。編號範圍是從1到99的訪問控制列表是標準IP訪問控制列表。
擴展IP訪問
擴展IP訪問控制列表比標準IP訪問控制列表具有更多的匹配項,包括協議類型、源地址、目的地址、源埠、目的埠、建立連接的和IP優先順序等。編號範圍是從100到199的訪問控制列表是擴展IP訪問控制列表。
命名的IP訪問
所謂命名的IP訪問控制列表是以列表名代替列表編號來定義IP訪問控制列表,同樣包括標準和擴展兩種列表,定義過濾的語句與編號方式中相似。
標準IPX訪問
標準IPX訪問控制列表的編號範圍是800-899,它檢查IPX源網路號和目的網路號,同樣可以檢查源地址和目的地址的節點號部分。
擴展IPX訪問
擴展IPX訪問控制列表在標準IPX訪問控制列表的基礎上,增加了對IPX報頭中以下幾個欄位的檢查,它們是協議類型、源Socket、目標Socket。擴展IPX訪問控制列表的編號範圍是900-999。
命名的IPX訪問
與命名的IP訪問控制列表一樣,命名的IPX訪問控制列表是使用列表名取代列表編號。從而方便定義和引用列表,同樣有標準和擴展之分。

訪問控制列表的使用


ACL的使用分為兩步:
(1)創建訪問控制列表ACL,根據實際需要設置對應的條件項;
(2)將ACL應用到路由器指定介面的指定方向(in/out)上。
在ACL的配置與使用中需要注意以下事項:
(1)ACL是自頂向下順序進行處理,一旦匹配成功,就會進行處理,且不再比對以後的語句,所以ACL中語句的順序很重要。應當將最嚴格的語句放在最上面,最不嚴格的語句放在底部。
(2)當所有語句沒有匹配成功時,會丟棄分組。這也稱為ACL隱性拒絕。
(3)每個介面在每個方向上,只能應用一個ACL。
(4)標準ACL應該部署在距離分組的目的網路近的位置,擴展ACL應該部署在距離分組發送者近的位置。

應用


ACL可以應用於多種場合,其中最為常見的應用情形如下:
1、過濾鄰居設備間傳遞的路由信息。
2、控制交換訪問,以此阻止非法訪問設備的行為,如對 Console介面、 Telnet或SSH訪問實施控制。
3、控制穿越網路設備的流量和網路訪問。
4、通過限制對路由器上某些服務的訪問來保護路由器,如HTP、SNMP和NIP等。
5、為DDR和 IPSeC VPN定義感興趣流。
6、能夠以多種方式在IOS中實現QoS(服務質量)特性。
7、在其他安全技術中的擴展應用,如TCP攔截和IOS防火牆。