tft每日頭條

 > 生活

 > acl通配符匹配規則

acl通配符匹配規則

生活 更新时间:2025-01-13 15:55:58

•随着網絡的飛速發展,網絡安全和網絡服務質量QoS (Quality of Service)問題日益突出。訪問控制列表 (ACL, Access Control List)是與其緊密相關的一個技術。

•ACL可以通過對網絡中報文流的精确識别,與其他技術結合,達到控制網絡訪問行為、防止網絡攻擊和提高網絡帶寬利用率的目的,從而切實保障網絡環境的安全性和網絡服務質量的可靠性。

•在本章節中,将介紹ACL的基本原理和基本作用,ACL的不同種類及特點,ACL的基本組成和匹配順序,通配符的使用方法和ACL的相關配置。

技術背景:需要一個工具,實現流量過濾

•随着網絡的飛速發展,網絡安全和網絡服務質量QoS(Quality of Service)問題日益突出。

▫園區重要服務器資源被随意訪問,園區機密信息容易洩露,造成安全隐患。

▫Internet病毒肆意侵略園區内網,内網環境的安全性堪憂。

▫網絡帶寬被各類業務随意擠占,服務質量要求最高的語音、視頻業務的帶寬得不到保障,造成用戶體驗差。

•以上種種問題,都對正常的網絡通信造成了很大的影響。因此,提高網絡安全性和服務質量迫在眉睫,我們需要對網絡進行控制。比如,需要借助一個工具幫助實現一些流量的過濾。

acl通配符匹配規則(ACL原理和作用ACL類型和特點)1

•某公司為保證财務數據安全,禁止研發部門訪問财務服務器,但總裁辦公室不受限制。

ACL概述

•通過ACL可以實現對網絡中報文流的精确識别和控制,達到控制網絡訪問行為、防止網絡攻擊和提高網絡帶寬利用率的目的,從而切實保障網絡環境的安全性和網絡服務質量的可靠性。

▫ACL是由permit或deny語句組成的一系列有順序的規則的集合;它通過匹配報文的相關字段實現對報文的分類。

▫ACL是能夠匹配一個IP數據包中的源IP地址、目的IP地址、協議類型、源目的端口等元素的基礎性工具;ACL還能夠用于匹配路由條目。

•在本章課程中主要通過流量過濾來介紹ACL。

•ACL是由一系列permit或deny語句組成的、有序規則的列表。

•ACL是一個匹配工具,能夠對報文進行匹配和區分。

acl通配符匹配規則(ACL原理和作用ACL類型和特點)2

ACL應用

•匹配IP流量

•在Traffic-filter中被調用

•在NAT(Network Address Translation)中被調用

•在路由策略中被調用

•在防火牆的策略部署中被調用

•在QoS中被調用

•其他……

ACL的組成

•ACL的組成:

▫ACL編号:在網絡設備上配置ACL時,每個ACL都需要分配一個編号,稱為ACL編号,用來标識ACL。不同分類的ACL編号範圍不同,這個後面具體講。

▫規則:前面提到了,一個ACL通常由若幹條“permit/deny”語句組成,每條語句就是該ACL的一條規則。

▫規則編号:每條規則都有一個相應的編号,稱為規則編号,用來标識ACL規則。可以自定義,也可以系統自動分配。ACL規則的編号範圍是0~4294967294,所有規則均按照規則編号從小到大進行排序。

▫動作:每條規則中的permit或deny,就是與這條規則相對應的處理動作。permit指“允許”,deny指“拒絕”,但是ACL一般是結合其他技術使用,不同的場景,處理動作的含義也有所不同。

▪比如:ACL如果與流量過濾技術結合使用(即流量過濾中調用ACL),permit就是“允許通行”的意思,deny就是“拒絕通行”的意思。

▫匹配項:ACL定義了極其豐富的匹配項。例子中體現的源地址,ACL還支持很多其他規則匹配項。例如,二層以太網幀頭信息(如源MAC、目的MAC、以太幀協議類型)、三層報文信息(如目的地址、協議類型)以及四層報文信息(如TCP/UDP端口号)等。

•提問:rule 5 permit source 1.1.1.0 0.0.0.255 是什麼意思?這個在後續課程中會介紹。

•ACL由若幹條permit或deny語句組成。每條語句就是該ACL的一條規則,每條語句中的permit或deny就是與這條規則相對應的處理動作。

acl通配符匹配規則(ACL原理和作用ACL類型和特點)3

規則編号

•規則編号和步長的概念:

▫規則編号:每條規則都有一個相應的編号,稱為規則編号,用來标識ACL規則。可以自定義,也可以系統自動分配。

▫步長:系統自動為ACL規則分配編号時,每個相鄰規則編号之間會有一個差值,這個差值稱為“步長”。缺省步長為5,所以規則編号就是5/10/15…以此類推。

▪如果手工指定了一條規則,但未指定規則編号,系統就會使用大于當前ACL内最大規則編号且是步長整數倍的最小整數作為規則編号。

▪步長可以調整,如果将步長改為2,系統則會自動從當前步長值開始重新排列規則編号,規則編号就變成2、4、6…。

•那步長的作用是什麼?直接rule 1/2/3/4…為什麼不可以?

▫先來看一個小題目:如果希望增加一條規則,該如何處理?

▫可以在rule 10和rule 15之間,手工加入一條rule 11。

▫因此,設置一定長度的步長的作用,是方便後續在舊規則之間插入新的規則。

acl通配符匹配規則(ACL原理和作用ACL類型和特點)4

規則編号與步長

規則編号(Rule ID):

一個ACL中的每一條規則都有一個相應的編号。

步長(Step):

步長是系統自動為ACL規則分配編号時,每個相鄰規則編号之間的差值,缺省值為5。步長的作用是為了方便後續在舊規則之間,插入新的規則。

Rule ID分配規則:

系統為ACL中首條未手工指定編号的規則分配編号時,使用步長值(例如步長=5,首條規則編号為5)作為該規則的起始編号;為後續規則分配編号時,則使用大于當前ACL内最大規則編号且是步長整數倍的最小整數作為規則編号。

通配符 (1)

•當進行IP地址匹配的時候,後面會跟着32位掩碼位,這32位稱為通配符。

•通配符,也是點分十進制格式,換算成二進制後,“0”表示“匹配”,“1”表示“不關心”。

•具體看下這2條規則:

▫rule 5: 拒絕源IP地址為10.1.1.1報文通過——因為通配符為全0,所以每一位都要嚴格匹配,因此匹配的是主機IP地址10.1.1.1;

▫rule 15:允許源IP地址為10.1.1.0/24網段地址的報文通過——因為通配符:0.0.0.11111111,後8位為1,表示不關心,因此10.1.1.xxxxxxxx 的後8位可以為任意值,所以匹配的是10.1.1.0/24網段。

•例子:如果要精确匹配192.168.1.1/24這個IP地址對應的網段地址,通配符是多少?

▫可以得出:網絡位需要嚴格匹配,主機位無所謂,因此通配符為“0.0.0.255”。

acl通配符匹配規則(ACL原理和作用ACL類型和特點)5

匹配規則:

“0”表示“匹配”;“1”表示“随機分配”

acl通配符匹配規則(ACL原理和作用ACL類型和特點)6

通配符 (Wildcard)

•通配符是一個32比特長度的數值,用于指示IP地址中,哪些比特位需要嚴格匹配,哪些比特位無需匹配。

•通配符通常采用類似網絡掩碼的點分十進制形式表示,但是含義卻與網絡掩碼完全不同。

通配符 (2)

•如果想匹配192.168.1.0/24網段中的奇數IP地址,通配符該怎麼寫呢?

▫我們先來看一看,奇數IP地址都有哪些:192.168.1.1、192.168.1.5、192.168.1.11……

▫後八位寫成二進制:192.168.1.00000001、192.168.1.00000101、192.168.1.00001011……

▫可以看出共同點:最後8位的高7位是任意值,最低位固定為1,因此答案是:192.168.1.1 0.0.0.254(0.0.0.11111110)

•這就得出了通配符的一個特點:通配符中的1或者0是可以不連續的。

•還有兩個特殊的通配符:

▫當通配符全為0來匹配IP地址時,表示精确匹配某個IP地址;

▫當通配符全為1來匹配0.0.0.0地址時,表示匹配了所有IP地址。

acl通配符匹配規則(ACL原理和作用ACL類型和特點)7

•匹配192.168.1.0/24這個子網中的奇數IP地址,例如192.168.1.1、192.168.1.3、192.168.1.5等。

ACL的分類與标識

•基于ACL規則定義方式的劃分,可分為:

▫基本ACL、高級ACL、二層ACL、用戶自定義ACL和用戶ACL。

•基于ACL标識方法的劃分,則可分為:

▫數字型ACL和命名型ACL。

•注意:用戶在創建ACL時可以為其指定編号,不同的編号對應不同類型的ACL。同時,為了便于記憶和識别,用戶還可以創建命名型ACL,即在創建ACL時為其設置名稱。命名型ACL,也可以是“名稱 數字”的形式,即在定義命名型ACL時,同時指定ACL編号。如果不指定編号,系統則會自動為其分配一個數字型ACL的編号。

•基于ACL規則定義方式的分類

分類

編号範圍

規則定義描述

基本ACL

2000~2999

僅使用報文的源IP地址、分片信息和生效時間段信息來定義規則。

高級ACL

3000~3999

可使用IPv4報文的源IP地址、目的IP地址、IP協議類型、ICMP類型、TCP源/目的端口号、UDP源/目的端口号、生效時間段等來定義規則。

二層ACL

4000~4999

使用報文的以太網幀頭信息來定義規則,如根據源MAC地址、目的MAC地址、二層協議類型等。

用戶自定義ACL

5000~5999

使用報文頭、偏移位置、字符串掩碼和用戶自定義字符串來定義規則。

用戶ACL

6000~6999

既可使用IPv4報文的源IP地址或源UCL(User Control List)組,也可使用目的IP地址或目的UCL組、IP協議類型、ICMP類型、TCP源端口/目的端口、UDP源端口/目的端口号等來定義規則。

基于ACL标識方法的分類

分類

規則定義描述

數字型ACL

傳統的ACL标識方法。創建ACL時,指定一個唯一的數字标識該ACL。

命名型ACL

通過名稱代替編号來标識ACL。

基本ACL&高級ACL

•基本ACL:

▫主要針對IP報文的源IP地址進行匹配,基本ACL的編号範圍是2000-2999。

▫比如這個例子,創建的是acl 2000,就意味着創建的是基本ACL。

•高級ACL:

▫可以根據IP報文中的源IP地址、目的IP地址、協議類型,TCP或UDP的源目端口号等元素進行匹配,可以理解為:基本ACL是高級ACL的一個子集,高級ACL可以比基本ACL定義出更精确、更複雜、更靈活的規則。

acl通配符匹配規則(ACL原理和作用ACL類型和特點)8

ACL的匹配機制

•ACL的匹配機制概括來說就是:

▫配置ACL的設備接收報文後,會将該報文與ACL中的規則逐條進行匹配,如果不能匹配上,就會繼續嘗試去匹配下一條規則。

▫一旦匹配上,則設備會對該報文執行這條規則中定義的處理動作,并且不再繼續嘗試與後續規則匹配。

•匹配流程:首先系統會查找設備上是否配置了ACL。

▫如果ACL不存在,則返回ACL匹配結果為:不匹配。

▫如果ACL存在,則查找設備是否配置了ACL規則。

▪如果規則不存在,則返回ACL匹配結果為:不匹配。

▪如果規則存在,則系統會從ACL中編号最小的規則開始查找。

−如果匹配上了permit規則,則停止查找規則,并返回ACL匹配結果為:匹配(允許)。

−如果匹配上了deny規則,則停止查找規則,并返回ACL匹配結果為:匹配(拒絕)。

−如果未匹配上規則,則繼續查找下一條規則,以此循環。如果一直查到最後一條規則,報文仍未匹配上,則返回ACL匹配結果為:不匹配。

•從整個ACL匹配流程可以看出,報文與ACL規則匹配後,會産生兩種匹配結果:“匹配”和“不匹配”。

▫匹配(命中規則):指存在ACL,且在ACL中查找到了符合匹配條件的規則。不論匹配的動作是“permit”還是“deny”,都稱為“匹配”,而不是隻是匹配上permit規則才算“匹配”。

▫不匹配(未命中規則):指不存在ACL,或ACL中無規則,再或者在ACL中遍曆了所有規則都沒有找到符合匹配條件的規則。以上三種情況,都叫做“不匹配”。

•匹配原則:一旦命中即停止匹配。

acl通配符匹配規則(ACL原理和作用ACL類型和特點)9

ACL的匹配順序及匹配結果

•配置順序(config模式)

▫系統按照ACL規則編号從小到大的順序進行報文匹配,規則編号越小越容易被匹配。

acl通配符匹配規則(ACL原理和作用ACL類型和特點)10

•一條ACL可以由多條“deny或permit”語句組成,每一條語句描述一條規則,這些規則可能存在包含關系,也可能有重複或矛盾的地方,因此ACL的匹配順序是十分重要的。

•華為設備支持兩種匹配順序:自動排序(auto模式)和配置順序(config模式)。缺省的ACL匹配順序是config模式。

▫自動排序,是指系統使用“深度優先”的原則,将規則按照精确度從高到低進行排序,并按照精确度從高到低的順序進行報文匹配。——這個比較複雜,這裡就不具體展開了,感興趣的同學可以課後查看資料。

▫配置順序,系統按照ACL規則編号從小到大的順序進行報文匹配,規則編号越小越容易被匹配。——這個就是我們前面提到的匹配順序。

▪如果後面又添加了一條規則,則這條規則會被加入到相應的位置,報文仍然會按照從小到大的順序進行匹配。

•匹配結果:(如圖所示,以192.168.1.3/24為例)

▫首先理解ACL 2000的含義:

▪rule 1:允許源IP地址為192.168.1.1的報文

▪rule 2:允許源IP地址為192.168.1.2的報文

▪rule 3:拒絕源IP地址為192.168.1.2的報文

▪rule 4:允許其他所有IP地址的報文

ACL的匹配位置

acl通配符匹配規則(ACL原理和作用ACL類型和特點)11

入站 (Inbound)及出站 (Outbound)方向

acl通配符匹配規則(ACL原理和作用ACL類型和特點)12

基本ACL的基礎配置命令

•創建基本ACL

•[Huawei] acl [ number ] acl-number [ match-order config ]

acl-number:指定訪問控制列表的編号。

match-order config:指定ACL規則的匹配順序,config表示配置順序。

•[Huawei] acl name acl-name { basic | acl-number } [ match-order config ]

acl-name:指定創建的ACL的名稱。

basic:指定ACL的類型為基本ACL。

•配置基本ACL規則

•[Huawei-acl-basic-2000] rule [ rule-id ] { deny | permit } [ source { source-address source-wildcard | any } | time-range time-name ]

rule-id:指定ACL的規則ID。

deny:指定拒絕符合條件的報文。

permit:指定允許符合條件的報文。

source { source-address source-wildcard | any }:指定ACL規則匹配報文的源地址信息。如果不配置,表示報文的任何源地址都匹配。其中:

source-address:指定報文的源地址。

source-wildcard:指定源地址通配符。

any:表示報文的任意源地址。相當于source-address為0.0.0.0或者source-wildcard為255.255.255.255。

time-range time-name:指定ACL規則生效的時間段。其中,time-name表示ACL規則生效時間段名稱。如果不指定時間段,表示任何時間都生效。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved