了解ACL 萬用字元掩碼

2021-09-02 23:45:18 字數 3296 閱讀 8055

學習acl,搞懂acl就不能不搞定wildcard mask,萬用字元掩碼。說簡單點,萬用字元掩碼就是0為絕對匹配,必須嚴格匹配才行,而1為任意,從某種意義上講,如果乙個8位上有乙個1字元,那也只有兩種方式,0或者1,但是如果進行組合,那麼方式就多了。

舉例說明吧。

一般我們在應用上都是進行位址塊的匹配,怎麼講呢?就是說:

1)對某個a b c類網進行匹配或者教萬用字元遮蔽

2)對某個子網應用acl。

3)對特定主機應用acl

4)對任意主機或者網路應用acl

5)特殊情況的匹配

差不多就是以上五種情況,下面一一說明。

1)對某個有類網路進行acl的萬用字元遮蔽。

這種情況很好解釋。

例如:a類:10.0.0.0 0.255.255.255

先寫成二進位制形式: 00001010.00000000.00000000.00000000

00000000.11111111.111111111.11111111

可以看出,第乙個位元組需要嚴格匹配,也就是說必須為10.,後面的任意匹配。

得到的網路為10...*

如果我把這個改一下呢?10.0.0.0 0.0.3.255

同樣寫成二進位制形式:00001010.00000000.00000000.00000000

00000000.00000000.00000011.111111111

前兩個位元組嚴格匹配為10.0,後面的同上題乙個思路,0就嚴格匹配,1就任意。

在這裡,後10個位元可以任意匹配,我們通過計算可以得到合適的結果:

10.0.0.*

10.0.1.*

10.0.2.*

10.0.3.*

這四個子網

2)對某個子網應用acl

還是舉例說明,以c類網路192…168.1.0/24為例進行子網劃分。

我們引入位址塊的思想進行解釋會好理解一些。因為子網一般都是以位址塊形式存在的。

位址塊為128,192.168.1.128 0.0.0.127

位址塊為64,192.168.1.0 0.0.0.63

位址塊為32,192.168.1.0 0.0.0.31

位址塊為16,192.168.1.0 0.0.0.15

位址塊為8,192.168.1.0 0.0.0.7

位址塊為4,192.168.1.0 0.0.0.3

位址塊為2,192.168.1.0 0.0.0.1

3)對特定主機應用acl

萬用字元需要全匹配,例如:182.168.12.4 0.0.0.0

還有一種表示方法:host 182.168.12.4

host在這裡是關鍵字,用來代替0.0.0.0 ,用於源位址和目的位址字段。

4)對任意主機或者網路應用acl

這是任意匹配的情況,主機任意,萬用字元任意匹配:0.0.0.0 255.255.255.255,同時這裡也有簡寫——any

5)比較特殊的情況。

用我的話說這種情況是不按規則出牌的情況,也是比較有趣的。

我不想讓某個子網或者是某個有類網被萬用字元遮蔽,我僅僅是想讓部分主機被遮蔽,不過這部分主機也應該是有規律的,要不管理人員肯定得折騰瘋。哈哈。

僅舉兩例以供說明:

隨便寫乙個,計算出遮蔽了哪些網路。

隨便寫乙個 192.168.1.23 0.0.0.5

怎麼?傻眼了?這就是不按規則出牌的情況,ccna自學指南裡面肯定說了,不能從11.0或者12.0等網路開始,非得是2的次冪才行。對此規矩我們不予理睬,還是使用最為原始的辦法進行乙個乙個匹配。

寫成二進位制形式:11000000.10101000.00000001.00010111

00000000.00000000.00000000.00000101

接下來就是匹配計算了。前三個位元組毫無疑問,嚴格匹配。最後乙個位元組逢0匹配,逢1任意。

00010111

00000101 000101

如上的公式,我們看到有星號的位置是可以任意匹配的,這樣我們就可以算出:

①00010010——18

②00010011——19

③00010110——21

④00010111——23

這樣就很明顯了,得到的結果就是192.168.1.18

192.68.1.19

192.168.1.21

192.168.1.23 都被0.0.0.5這個萬用字元掩碼給遮蔽了。

怎樣,這個不按規則出牌的萬用字元掩碼是不是也愚弄了你一次?

備註:只要嚴格按照0——嚴格匹配,1——任意配置的原則不管什麼反掩碼都是紙老虎。

寫第二個,我需要匹配乙個網路裡面奇數ip的主機或者偶數ip的主機(或者的路由過濾中需要奇數網路)

還是看例子:

192.168.1.1

192.168.1.2

192.168.1.3

192.168.1.4

192.168.1.5

192168.1.6

192.168.1.7

192.168.1.9

……………

192.168.1.254

思路都是一樣的,條條道路通羅馬,這裡條條道路萬用字元

我還是要寫成二進位制形式

前面的三個位元組就省略了,只寫後面的乙個位元組的:

00000001

00000010

00000011

00000100

00000101

00000110

00000111

…………

看出規律了麼? 什麼?沒有啊,仔細瞧瞧麼!奇數ip的最後一位都是1,而偶數ip的最後一位都是0。這就是規律啊。

那麼怎麼寫呢?這個就比較簡單了吧,奇數ip的:192.168.1.1 0.0.0.254 ;偶數ip的呢——192.168.1.2 0.0.0.254

如上就是我對acl的理解,有說錯的,做錯的,還望大家指正,所謂三人行必有我師,你有什麼更好的辦法別忘記跟帖。

acl主要難點是在萬用字元的計算,如有這麼一道題:

已知子網,求萬用字元掩碼。

例:允許199.172.5.0/24

199.172.10.0/24

199.172.13.0/24

199.172.14.0/24網段訪問路由器。要求寫出acl來,但只能用兩條acl代替。

1 z 1 0

------------ 0 1 0 0

-------- 4

最後得出:

access-list 10 permit 199.172.5.0 0.0.8.0

access-list 11 permit 199.172.10.0 0.0.4.0

ACL 萬用字元

在acl中,可使用萬用字元掩碼指定特定網路或者特定主機的一部分 結合使用萬用字元和子網位址來告訴路由器要過濾的位址範圍 要指定一台主機可使用 192.168.1.1 0.0.0.0 其中每個0代表乙個位元組,0代表位址中的相應位元組必須與指定的位址相同,要指定某個位元組可以為任何值,可使用255,如...

萬用字元及反掩碼的詳解 (網路中ACL )

在我們學習acl中,在搞懂acl的同時也要搞定萬用字元掩碼 wildcard mask 說簡單點,萬用字元掩碼就是0為絕對匹配,必須嚴格匹配才行,而1為任意,從某種意義上講,如果乙個8位上有乙個1字元,那也只有兩種方式,0或者1,但是如果進行組合,那麼方式就多了。舉例說明吧。一般我們在應用上都是進行...

理解萬用字元掩碼

一 什麼是 萬用字元 掩碼 萬用字元 掩碼是乙個32位位元數,以點分十進位制表示,告訴路由器資料報ip位址的哪些位元需要和access list命令中給定的ip位址相匹配。二 萬用字元 掩碼的作用 一條典型的acl僅能指定乙個要允許或拒絕ip的規則,如果要阻止多個位址或一 一 什麼是萬用字元掩碼 萬...