1. 程式人生 > >路由交換基礎(四)——ACL訪問控制列表

路由交換基礎(四)——ACL訪問控制列表

per not 由器 地址 同時 擴展 數據包 而不是 需要

一、ACL
1.作用
訪問控制列表(Access Control List),是路由器和交換機接口的指令列表,用來控制端口進出的數據包。ACL可以過濾網絡中的流量,是控制訪問的一種網絡技術手段。
配置ACL後,可以限制網絡流量,允許特定設備訪問,指定轉發特定數據包等。如可以配置ACL禁止局域網內的設備訪問外部公共網絡,或者只能使用FTP服務。ACL既可以在路由器上配置,也可以在具有ACL功能的業務軟件上進行配置。

2.工作原理
一個端口執行哪條ACL,需要按照列表中的條件語句執行順序來判斷,如果一個數據包的報頭跟表中某個條件判斷語句相匹配,那麽後面的語句就將被忽略,不再進行檢查。
數據包只有在跟第一個判斷條件不匹配時,它才會被交給ACL中的下一個條件判斷語句進行比較。如果所有的ACL語句都檢測完畢仍沒有匹配的語句出口,則該數據包將視為被拒絕而被丟棄。

3.分類
--標準ACL
標準訪問控制列表基於源IP地址過濾數據包,僅僅關註源IP地址,ID範圍是1~99;
--擴展ACL
擴展訪問控制列表基於源IP地址、目的IP地址、指定協議及端口來過濾數據包,ID範圍是100~199;
--命名ACL
命名訪問控制列表可以為ACL起一個有意義的名字,通過名稱就可以得知該ACL要實現什麽功能。同時,因為使用的是名稱而不是數字,也就沒有了ACL數量上的限制。

4.ACL的使用
--創建格式
access-list {ID} permint | deny x.x.x.x y.y.y.y
說明:
ID範圍1~99 或100~199
permit 表示允許, deny 表示拒絕

x.x.x.x 表示一個IP地址或一個網絡範圍
y.y.y.y 是通配符,其中0表示匹配的位,1表示不匹配的位。
--舉個例子:
access-list 1 permit 192.168.1.0 0.0.0.255
首先分析ACL的類型,ID號是1,所以是標準ACL;
其次分析ACL的匹配條件,提取源IP地址中與通配符0所對應的位,與acl中的條件進行比對,如果相同,則表示匹配成功,執行動作permit或deny;如果不同則表示匹配失敗,繼續查找下一個匹配條件。
--調用ACL
調用acl時要註意確定在正確時設備上、在正確的端口上、在正確的方向上。
如:
interface f0/0
ip access-group 1 in

註意:
-任何一個ACL後面都有一個隱含的deny any;
-當一個ACL中有多個條目時,對每個條件匹配時是按照序列號從小到大依次進行檢查匹配的;
-標準ACL應該調用在距離目標近的位置;
-擴展ACL應該調用在距離源近的位置。

工作中常用命名的ACL
配置如下:
--創建:
#ip access-list standard notPing         // notPing 是自己命名的
#10 deny 192.168.1.2 0 0 0 0
#20 permint any
#exit
--調用:
#interface f0/0
ip access-group notPing

為了匹配更加精確的流量,我們使用擴展ACL
配置如下:
--創建:
#ip access-list extend notPing
#10 deny icmp host 192.168.1.2 host 192.168.1.254
#20 permit ip any any

--調用:
#interface f0/0
#ip access-group notPing in

--驗證
#show ip access-list
#show ip interface f0/0

路由交換基礎(四)——ACL訪問控制列表