ACL

ACL

訪問控制列表(ACL)是一種基於包過濾訪問控制技術,它可以根據設定的條件對接口上的數據包進行過濾,允許其通過或丟棄。訪問控制列表被廣泛地套用於路由器和三層交換機。藉助於訪問控制列表,可以有效地控制用戶對網路的訪問,從而最大程度地保障網路安全。

基本介紹

  • 中文名:訪問控制列表
  • 外文名:Access Control List
  • 簡稱:ACL
  • 主要作用:限制網路流量,提高網路性能
  • 套用場景:路由器和三層交換機
  • 學科:網路技術
定義,匹配過程,套用規則,作用,分類,

定義

訪問控制列表(ACL,Access Control Lists)是套用在路由器(或三層交換機)接口上的指令列表,用來告訴路由器哪些數據可以接收,哪些數據是需要被拒絕並丟棄。
ACL的定義是基於協定的,它適用於所有的路由協定,如IP、IPX等。它在路由器上讀取數據包頭中的信息,如源地址、目的地址、使用的協定、源連線埠、目的連線埠等,並根據預先定義好的規則對包進行過濾,從而達到對網路訪問的精確、靈活控制。
訪問控制列表由一系列包過濾規則組成,每條規則明確地定義對指定類型的數據進行的操作(允許、拒絕等),訪問控制列表可關聯作用於三層接口、VLAN,並且具有方向性。當設備收到一個需要進行訪問控制列表處理的數據分組時,會按照訪問控制列表的表項自頂向下進行順序處理。一旦找到匹配項,列表中的後續語句就不再處理,如果列表中沒有匹配項,則此分組將會被丟棄。目前主要有三種ACL:標準ACL、擴展ACL和命名ACL。

匹配過程

路由器接口的訪問控制取決於套用在其上的ACL。數據在進(出)網路前,路由器會根據ACL對其進行匹配,匹配成功將對數據進行過濾或轉發,匹配失敗則丟棄數據。
ACL實質上是一系列帶有自上而下邏輯順序的判斷語句。當數據到達路由器接口時,ACL首先將數據與第1條語句進行比較,如果符合當前條件將直接進入控制策略,後面的語句將被忽略不再檢查;如果與第一條語句條件不符合,則將數據交給第2條語句進行比較,符合條件將直接進入控制策略,不符合條件則繼續交給下一條語句。以此類推。如果數據到達最後一條語句仍然不匹配,即所有判斷語句條件都不符合,則拒絕並丟棄該數據。

套用規則

1.“3P”原則
在路由器上套用ACL時,可以為每種協定(Per Protocol)、每個方向(Per Direction)
和每個接口(Per Interface)配置一個ACL,一般稱為“3P原則”。
(1)一個ACL只能基於一種協定,因此每種協定都需要配置單獨的ACL。
(2)經過路由器接口的數據有進(ln)和出(Out)兩個方向,因此在接口上配置訪問控制列表也有進(In)和出(Out)兩個方向。每個接口可以配置進方向的ACL,也可以配置出方向的ACL,或者兩者都配置,但是一個ACL只能控制一個方向。
(3)一個ACL只能控制一個接口上的數據流量,無法同時控制多個接口上的數據流量。
2.語句順序決定了對數據的控制順序
ACL的語句是一種自上而下的邏輯排列關係。數據匹配過程中是依次對語句進行比較,一旦匹配成功則按照當前語句控制策略處理,不再與之後的語句進行比較。因此,正
確的語句順序才能得到所需的控制效果。
3.至少有一條允許(Permit)語句
所有ACL的最後一條語句都是隱式拒絕語句,表示當所有語句都無法匹配時,將拒絕數據通過並自動丟棄數據,以防數據意外進入網路。因此,在寫“拒絕(deny)”的ACL時,一定至少要有一條允許(Permit)語句,否則配置ACL的接口將拒絕任何數據通過,影響正常的網路通信。
4.最有限制性的語句應該放在ACL的靠前位置
最有限制性的語句放在ACL的靠前位置,可以首先過濾掉很多不符合條件的數據,節省後面語句的比較時間,從而提供路由器的工作效率。

作用

訪問控制列表的主要作用如下:
(1)拒絕、允許特定的數據流通過網路設備,如防止攻擊、訪問控制、節省頻寬等;
(2)對特定的數據流報文、路由條目等進行匹配和標識,以用於其他目的路由過濾,如QoS、Route-map等。

分類

根據過濾欄位(元素)可將訪問控制列表分為以下兩類:
(1)標準訪問控制列表:只能根據數據包的源IP位址進行過濾;編號範圍:1~99。
(2)擴展訪問控制列表:可以根據協定、源/目的IP位址、源/目的連線埠號進行包過濾。編號範圍:100~199。
根據訪問控制列表的命名方式可將訪問控制列表分為以下兩類:
(1)編號訪問控制列表:編號ACL在所有ACL中分配一個唯一的號碼。
(2)名稱訪問控制列表:名稱ACL.在所有ACL分配一個唯一的名稱。名稱ACL有利於讓使用者通過ACL的名稱了解此ACL的作用。更加有利於使用與維護。

相關詞條

熱門詞條

聯絡我們