文章目錄
-
- ACL 概述
-
- ACL的主要使用場景:
- ACL 的分類
-
- 1.基本ACL
- 2.進階ACL
- ACL 的配置
-
- 1.建立基本ACL
- 2.建立進階ACL
- ACL 配置執行個體(路由器)
-
- 1.基本ACL配置示例
- 2.進階ACL配置示例1
- 3.進階ACL配置示例2
- ACL 配置示例(交換機)
ACL 概述
- ACL(
,通路控制清單)是由一系列permit或deny語句組成的、有序的規則集合,它通過比對封包的相關字段實作對封包的分類。Access Control List
- ACL本身隻是一組規則,隻能區分某一類封包,換句話說,ACL更像是一個工具,當我們希望通過ACL來實作針對特定流量的過濾時,就需要在适當的應用中調用已經定義好的ACL。
- ACL是一個使用非常廣泛的工具,能夠在多種場景下被調用。
ACL的主要使用場景:
- 被流量政策調用,用于過濾流量(可基于源、目的IP位址、協定類型、端口号等元素);
- 在route-policy中被調用,用于比對特定的路由字首,進而執行路由政策;
- 在VPN中調用,用于比對感興趣資料流;
- 在防火牆的政策部署中調用,用于比對流量;
- 其他……。
ACL(Access Control List)稱為通路控制清單,顧名思義它是一個清單形式的一組規則。ACL能夠識别一個IP資料包中的源IP位址、目的IP位址、協定類型、源目的端口等元素,進而能夠針對上述元素進行封包的比對。
例如一個網絡裝置在某個接口上源源不斷地接收各種網絡流量,現在我們希望對這些流量中的某些特定流量進行識别,以便做進一步的動作,那麼就可以用到ACL了。此外,除了能夠用于比對資料,ACL還能夠用于比對路由,使得我們能夠針對不同的路由部署不同的路由政策。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY1AzMjRGZklzM3UTN2gTMmhTN0UDOxEmMlZGZ5EmYy8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
上圖顯示的是一個編号為xxx的ACL,這個ACL中包含了多條規則(Rule),每條規則都有一個編号,所有的規則按照規則編号的大小進行排列,編号越小,排行越前。
在每一個規則中,都可定義比對條件,以及相應的允許/拒絕的動作。在ACL的執行過程中,裝置從該ACL中擁有最小編号的規則開始進行計算與比對,
如果被比對對象滿足該條規則中的比對條件,則執行該條規則所定義的動作,并且不會再往下計算其他規則;而如果被比對對象不滿足該條規則中的比對條件,則繼續往下一條規則進行比對
。
ACL 的分類
ACL可以使用一個數字來命名,例如ACL 2000,也可以使用一個字元串來命名,例如Test。我們在建立ACL時,可以選擇上述兩種命名方式中的一種。
按照功能不同,ACL存在多種類型,其中最主要的兩種是:
1.基本ACL
基本ACL隻能夠針對IP封包的源IP位址等資訊進行流量比對。例如我們可以使用基本ACL來拒絕源IP位址段為192.168.1.0/24的封包。
如果在交換機上使用數字命名的方式建立一個基本ACL,那麼數字的範圍為2000~2999。
2.進階ACL
進階ACL能夠針對IP封包的源IP位址、目的IP位址、協定類型、TCP源或目的端口、UDP源或目的端口等元素進行流量比對。是以它的功能相較基礎ACL要更豐富一些。
如果在交換機上使用數字命名的方式建立一個進階ACL,那麼數字的範圍為3000~3999。
ACL 的配置
1.建立基本ACL
使用數字命名的方式建立一個基本ACL,并進入ACL視圖:
[Huawei] acl acl-number # 編号範圍( 2000 ~ 2999 )
[Huawei-acl-basic-num]
在基本ACL中,建立一個rule的典型指令如下:
[Huawei-acl-basic-num] rule [ rule-id ] { deny | permit } [ source { source-address source-wildcard | any }]
如果不指定規則ID,則增加一個新規則時裝置自動會為這個規則配置設定一個ID,ID按照大小排序。在上面的配置中,wildcard通配符掩碼的概念,其實我們在OSPF的配置中已經介紹過了,此處不再贅述。
2.建立進階ACL
使用數字命名的方式建立一個進階ACL,并進入ACL視圖:
[Huawei] acl acl-number # 編号範圍( 3000 ~ 3999 )
[Huawei-acl-adv-num]
在進階ACL中,建立一個rule的典型指令如下。進階ACL可以用于比對多種協定類型,例如OSPF、ICMP、TCP、UDP、IP等等,此處以IP為例:
[Huawei-acl-adv-num] rule [ rule-id ] { deny | permit } ip [ destination { destination-address destination-wildcard |any } | source { source-address source-wildcard | any } ]
ACL 配置執行個體(路由器)
1.基本ACL配置示例
初始情況下PC1及PC2都能夠通路Server。現在在GW的接口上應用ACL,使得PC2無法通路Server,
而其他使用者都能夠通路Server。
GW的配置如下:
[GW] acl 2000
[GW-acl-basic-2000] rule deny source 192.168.1.2 0 #禁止以192.168.1.2為源位址的流量
#上面的指令,等同于 rule deny source 192.168.1.2 0.0.0.0
[GW-acl-basic-2000] rule permit source any #放行其他所有流量
[GW] interface GigabitEthernet0/0/1
[GW-GigabitEthernet0/0/1] traffic-filter inbound acl 2000 #将ACL2000關聯到流量過濾器并應用在GE0/0/1接口的入方向
2.進階ACL配置示例1
初始情況下PC1及PC2都能夠通路Server。現在在GW的接口上應用ACL,使得PC2無法通路Server2,放行其他流量。
GW的配置如下:
[GW] acl 3000
[GW-acl-adv-3000] rule deny ip source 192.168.1.2 0 destination 10.0.0.2 0
[GW-acl-adv-3000] rule permit ip #放行其他所有IP流量
[GW] interface GigabitEthernet0/0/1
[GW-GigabitEthernet0/0/1] traffic-filter inbound acl 3000
3.進階ACL配置示例2
初始情況下PC1及PC2都能夠通路Server。現在在GW的接口上應用ACL,隻禁止PC2通路Server2的
Telnet服務,放行其他流量。
GW的配置如下:
[GW] acl 3000
[GW-acl-adv-3000] rule deny tcp source 192.168.1.2 0 destination 10.0.0.2 0 destination-port eq 23
[GW-acl-adv-3000] rule permit ip
[GW] interface GigabitEthernet0/0/1
[GW-GigabitEthernet0/0/1] traffic-filter inbound acl 3000
ACL 配置示例(交換機)
在S53交換機上完成ACL的配置,使得R1無法ping通R2,但其他的所有流量都放行。
[SW] acl 3000
[SW-acl-adv-3000] rule deny icmp
[SW-acl-adv-3000] rule permit ip
[SW]interface GigabitEthernet 0/0/1
[SW-GigabitEthernet0/0/1] traffic-filter inbound acl 3000
完成配置後,R1無法ping通R2但是可以Telnet R2。