Cisco - Access Control List
Cisco 網路設備上實現簡易的防火牆功能,透過 ACL 存取控制清單 (Access Control List) 機制對封包進行篩選與過濾。
1. ACL 存取控制清單簡述
在網路架構中所有的封包流向都是沒有進或是出的概念,以路由器為例,封包只管目的地地址要轉發至哪一個網路介面,而並不在乎來源地址,不過透過 ACL (Access Control List) 存取控制清單可以針對來源位置進行篩選分類並加以進行操作。
Cisco provides basic traffic filtering capabilities with access control lists (also referred to as access lists). Access lists can be configured for all routed network protocols (IP, AppleTalk, and so on) to filter the packets of those protocols as the packets pass through a router.
From Cisco DOC。
2. ACL 運作機制
ACL 是一個程式,其中內容記錄多條的條件式,當條件吻合則進行判斷動作,如果沒有吻合則往下一個條件進行比對。
當封包進入路由器時, ACL 檢測機制如下 :
- 由上而下逐一條件進行比對,直到最後一筆到程式結束。
- 條件如果吻合,並且該判斷動作為 允許(permit) 則允許封包通過,並跳出比對條件程式。
- 條件如果吻合,並且該判斷動作為 拒絕(deny) 則拒絕封包通過,並跳出比對條件程式。
- 如果上述所有條件都沒有吻合,程式最後一筆隱藏的條件會拒絕所有( deny any )的封包通過。
3. ACL 形式
最早 ACL 成立時只能針對來源地址來進行條件判斷並做允許或是拒絕封包動作,此模式又稱為 標準型 ( standard access list ),不過此機制對於複雜的網路架構篩選條件是遠遠不足的,後續開發能篩選 目的地址、協定及阜號的 ACL 又稱為延伸型 (extended access list)。每一組 ACL 都是一支程式有識別的 ID ,標準型與延伸型 ID 範圍各為不同。
標準型 | 延伸型 | |
---|---|---|
ID 範圍(第一版) | 0-99 | 100-199 |
ID 範圍(第二版) | 1300-1999 | 2000-2699 |
3.1.1 標準型 ACL 語法
|
|
sequence-number -> 0-99, 1300-1999
允許所有來源 192.168.50.0/24 網段封包放行。
|
|
3.1.2 延伸型 ACL 語法
|
|
sequence-number -> 100-199, 2000-2699
允許所有來源 192.168.50.0/24 網段封包可以存取 10.10.10.10 指定主機的 tcp/80 服務。
|
|
3.1.3 命名型 ACL 語法
除上述使用 ID 來區分標準或是延伸型的 ACL 之外,在新版本引入透過賦予名子方式來定義 ACL,定義完後會自動進入 ACL 的子命令模式設定條件。
|
|
標準型命名方式 - 允許所有來源 192.168.50.0/24 網段封包放行。
|
|
延伸型命名方式 - 允許所有來源 192.168.50.0/24 網段封包可以存取 10.10.10.10 指定主機的 tcp/80 服務。
|
|
4 啟用 ACL
上述步驟僅為設定 ACL 的條件,如果要將設定好的 ACL 啟用,就必須把 ACL 綁定在指定的網路介面並設定為檢測進 (Inbound) 或是出 (Outbound) 網路設備時進行 ACL 條件判斷。
4.1.1 標準型 ACL 啟用
拒絕所有來源 192.168.20.0/24 網段封包進入 GigabitEthernet0/0/0 介面。
|
|
4.1.1 延伸型 ACL 啟用
允許所有來源 192.168.50.0/24 網段封包( 從 GigabitEthernet0/0/1 介面離開 )可以存取 10.10.10.10 指定主機的 tcp/80 服務。
|
|
5. Packet Tracer 實作 – 5.4.13 Configure Extended IPv4 ACLs
- Download 此 LAB PKA 檔案請點我,資源來至 itexamanswers.net 網站。
5.1. 目標:
- 以名稱方式創建延伸型的 ACL。
- 禁止 PC1 存取 Server 1 及 Server 2 的 Http 及 Https 服務。
- 禁止 PC2 存取 Server 1 及 Server 2 的 FTP 服務 。
- 禁止 PC3 發送 ICMP 封包至 Server1 及 Server2
- 啟用 ACL 。
5.2. 步驟 :
- 創建 ACL 名稱及制訂規則
|
|
- 啟用 ACL
|
|
透過 show ip access-lists
指令可以看出有多少封包被攔截。
|
|
6. 小結
ACL 在 Cisco 網路設備中是非常重要的功能,許多功能都能與 ACL 進行組合搭配,例如 NAT 、 VPN 、 VTY 存取等。 另外曾經學習過 Linux 的 iptables 指令會發現其使用方式十分相似,等於會了 iptables 規則設定 ACL 規則就很容易,反之亦然。
允許所有來源 192.168.50.0/24 網段封包可以存取指定主機 10.10.10.10 的 tcp/80 服務。
|
|
如果你還沒有註冊 Like Coin,你可以在文章最下方看到 Like 的按鈕,點下去後即可申請帳號,透過申請帳號後可以幫我的文章按下 Like,而 Like 最多可以點五次,而你不用付出任何一塊錢,就能給我寫這篇文章的最大的回饋!