學習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的規則,如果要阻止多個位址或一 一 什麼是萬用字元掩碼 萬...