訪問控制列表 ACL匹配規則

2022-04-02 20:04:03 字數 3319 閱讀 1401

首先,小編為大家介紹acl匹配機制。上一期提到,acl在匹配報文時遵循「一旦命中即停止匹配」的原則。其實,這句話就是對acl匹配機制的乙個高度的概括。當然,acl匹配過程中,還存在很多細節。比如,acl不存在系統會怎麼處理?acl存在但規則不存在系統會怎麼處理?為了對整個acl匹配過程展開詳細的介紹,小編畫了一張acl匹配流程圖,相信對大家理解acl匹配機制能有所幫助。

從整個acl匹配流程可以看出,報文與acl規則匹配後,會產生兩種匹配結果:匹配」和「不匹配」

l  匹配(命中規則):指存在acl,且在acl中查詢到了符合匹配條件的規則。不論匹配的動作是「permit」還是「deny」,都稱為「匹配」,而不是只是匹配上permit規則才算「匹配」。

l  不匹配(未命中規則):指不存在acl,或acl中無規則,再或者在acl中遍歷了所有規則都沒有找到符合匹配條件的規則。切記以上三種情況,都叫做「不匹配」。

無論報文匹配acl的結果是「不匹配」、「允許」還是「拒絕」,該報文最終是被允許通過還是拒絕通過,實際是由應用acl的各個業務模組來決定的。不同的業務模組,對命中和未命中規則報文的處理方式也各不相同。例如,在telnet模組中應用acl,只要報文命中了permit規則,就允許通過;而在流策略中應用acl,如果報文命中了permit規則,但流行為動作配置的是deny,該報文會被拒絕通過。

從上面的acl匹配報文流程圖中,可以看到,只要報文未命中規則且仍剩餘規則,系統會一直從剩餘規則中選擇下一條與報文進行匹配。

系統是根據什麼樣的順序來選擇規則進行報文匹配的呢?

回答這個問題之前,先來看個例子。假設我們先後執行了以下兩條命令進行配置:

rule deny ip destination 1.1.0.0 0.0.255.255   //表示拒絕目的ip位址為1.1.0.0網段的報文通過

rule permit ip destination 1.1.1.0 0.0.0.255   //表示允許目的ip位址為1.1.1.0網段的報文通過,該網段位址範圍小於1.1.0.0網段範圍

這條permit規則與deny規則是相互矛盾的。對於目的ip=1.1.1.1的報文,如果系統先將deny規則與其匹配,則該報文會被禁止通過。相反,如果系統先將permit規則與其匹配,則該報文會得到允許通過。

因此,對於規則之間存在重複或矛盾的情形,報文的匹配結果與acl規則匹配順序是息息相關的。下面,小編就為大家介紹acl定義的兩種規則匹配順序:配置順序(config)和自動排序(auto)。

配置順序,即系統按照acl規則編號從小到大的順序進行報文匹配,規則編號越小越容易被匹配。後插入的規則,如果你指定的規則編號更小,那麼這條規則可能會被先匹配上。

acl規則的生效前提,是要在業務模組中應用acl。當acl被業務模組引用時,你可以隨時修改acl規則,但規則修改後是否立即生效與具體的業務模組相關。關於acl的應用,在後續**的應用篇中,小編還將為大家詳細介紹。

自動排序,是指系統使用「深度優先」的原則,將規則按照精確度從高到底進行排序,系統按照精確度從高到低的順序進行報文匹配。規則中定義的匹配項限制越嚴格,規則的精確度就越高,即優先順序越高,那麼該規則的編號就越小,系統越先匹配。例如,有一條規則的目的ip位址匹配項是一台主機位址2.2.2.2/32,而另一條規則的目的ip位址匹配項是乙個網段2.2.2.0/24,前一條規則指定的位址範圍更小,所以其精確度更高,系統會優先將報文與前一條規則進行匹配。

在自動排序的acl中配置規則,不允許自行指定規則編號。系統能自動識別出該規則在這條acl中對應的優先順序,並為其分配乙個適當的規則編號。

例如,在auto模式的acl 3001中,存在以下兩條規則。

如果在acl 3001中插入rule deny ip destination 1.1.1.1 0(目的ip位址是主機位址,優先順序高於上圖中的兩條規則),系統將按照規則的優先順序關係,重新為各規則分配編號。插入新規則後,新的排序如下。

可以看到,rule deny ip destination 1.1.1.1 0的優先順序最高,排列最靠前。

最後,我們來說說acl規則最核心的部分??規則匹配項。

在上一期中,小編在介紹acl分類時,就已經提到各類acl的規則定義描述。比如,基本acl可以使用報文的源ip位址作為匹配選項;高階acl則更高一籌,不僅可以使用源ip位址,還能使用目的ip位址、協議型別、埠號等等。

協議型別

格式為:protocol-number | icmp | tcp | udp | gre | igmp | ip | ipinip | ospf

高階acl支援過濾的報文型別很多,常用的協議型別包括: icmp(協議號1)、tcp(協議號6)、udp(協議號17)、gre(協議號47)、igmp(協議號2)、ip(指任何ip層協議)、ipinip(協議號4)、ospf(協議號89)。protocol-number取值可以是1~255。

什麼情況下可以使用協議型別作為匹配項?

例如,交換機某個介面下的使用者存在大量的攻擊者,你希望能夠禁止這個介面下的所有使用者接入網路。這時,通過指定協議型別為ip來遮蔽這些使用者的ip流量,就可以達到目的。配置如下:

rule deny ip //表示拒絕ip報文通過

再如,交換機上開啟透明防火牆功能後,在預設情況下,透明防火牆會在域間丟棄所有入域間的報文,包括業務報文和協議報文。如果你希望像ospf這樣的動態路由協議報文能正常通過防火牆,保證路由互通,這時,通過指定協議型別為ospf即可解決問題。配置如下:

rule permit ospf  //表示允許ospf報文通過

目的位址

格式為:destination 

什麼情況下可以使用目的位址作為匹配項?

rule deny ip destination 1.1.1.1 0  //表示拒絕目的位址是1.1.1.1的報文通過

萬用字元掩碼的格式與ip位址相同,也是乙個32位元位的數字字串,用於指示目的ip位址中的哪些位將被檢查。各位元位中,0表示「檢查相應的位」,1表示「不檢查相應的位」,

概括為一句話就是「檢查0,忽略1」。 如圖所示,以8位元為例,萬用字元的低8位如果為全0,就表示對目的ip位址的低8位全部進行檢查;全1就表示全部忽略。有多少位為0,就表示檢查多少位;有多少位為1,就表示忽略多少位。

ACL訪問控制列表

acl的基本原理 功能與侷限性 網路中常說的acl是網路裝置所提供的一種訪問控制技術 其他很多地方也用到了acl 初期僅在路由器上支援,近些年來已經擴充套件到三層交換機,部分最新的二層交換機如2950之類也開始提供acl的支援。只不過支援的特性不是那麼完善而已。在其它廠商的路由器或多層交換機上也提供...

ACL訪問控制列表

技術從來都是一把雙刃劍,網路應用與網際網路的普及在大幅提高企業的生產經營效率的同時,也帶來了諸如資料的安全性,員工利用網際網路做與工作不相干事等負面影響。如何將乙個網路有效的管理起來,盡可能的降低網路所帶來的負面影響就成了擺在網路管理員面前的乙個重要課題。a公司的某位可憐的網管目前就面臨了一堆這樣的...

訪問控制列表 ACL

訪問控制列表的條件引數都在ip包中,協議號和ip位址 源位址和目的位址 都在ip包頭部分,埠號在ip包的資料部分,也就是第四層頭部。訪問控制列表是應用在路由器介面的指令列表,這些指令列表用來告訴路由器哪些資料報可以接收 哪些資料報需要拒絕。訪問控制是網路安全防範和保護的主要策略,它的主要任務是保證網...