ACL 存取控制列表是什麼?
ACL(Access Control List,存取控制列表)是一組按次序排列的過濾規則,路由器與交換機以之逐條比對每個封包的來源、目的地址與埠號,決定放行或攔截。本頁講解 ACL 的工作原理、標準與延伸 ACL 的分別、規則次序與隱含拒絕的要點,以及在企業與監控網絡的實際應用。
ACL 的定義:一張「誰可以做什麼」的規則清單
存取控制列表的概念來自資訊安全的基本模型:為每項資源列明哪些主體獲允許進行哪些操作。在檔案系統中,ACL 記錄哪個用戶可以讀寫某個檔案;而在網絡設備上,網絡 ACL 則是套用在路由器或交換機介面上的一組規則,逐條比對經過的封包,匹配的封包按規則指定的動作處理——允許(permit)通過,或拒絕(deny)丟棄。
網絡 ACL 是無狀態的過濾機制:它獨立審視每一個封包,不追蹤連線的來龍去脈。正因為簡單,它的處理效率高,適合在網絡內部大量部署,作為 VLAN 之間、部門之間的第一層流量管控。關於網絡分段的基礎,可參考 VLAN 是什麼。
封包如何被 ACL 處理
- 封包到達介面——ACL 可套用在介面的入向(inbound)或出向(outbound),封包經過時觸發檢查。
- 由上而下逐條比對——設備按規則排列次序,逐條比對封包的來源地址、目的地址、協定與埠號。
- 首次匹配即執行——封包一旦匹配某條規則,立即執行該規則的允許或拒絕動作,不再檢查其後規則。
- 全部不匹配則隱含拒絕——大多數設備在列表末端隱含一條「拒絕所有」規則,未被明確允許的封包一律丟棄。
由此衍生兩條工程鐵律:規則次序必須「窄前寬後」,具體規則放在寬泛規則之前;套用 ACL 前必須確認已明確允許所有必要流量(包括管理流量),避免把自己封鎖在外。