思科ACL通配符掩碼的計算

    前天在幫客戶梳理nat轉換時,發現一個有趣的配置,發上來供你們學習。ide

access-list 120 permit ip 10.0.0.0 0.0.0.191 any學習

    這條ACL看似簡單,卻又複雜,由於正常咱們見到的通配符掩碼都是諸如0.0.0.255(255.255.255.0)/0.0.255.255(255.255.0.0)/0.0.0.127(255.255.255.128)等等,那這個0.0.0.191又是什麼鬼?spa

    要知道0.0.0.191匹配到了什麼地址,這就要從通配符掩碼提及,在ACL語句中,當使用地址做爲條件時,地址後面跟的都是通配符掩碼,通配符掩碼決定了地址中哪些位是須要精確匹配,哪些位不須要匹配。通配符掩碼是一個32位數,採用點分十進制方式書寫,匹配時,「0」表示檢查的位、「1」表示不檢查的位。ip

    由此咱們能夠先進行通配符的二進制轉換,由此能夠看出這個通配符必須匹配1-24位和26位。it

0.0.0.191--》0000 0000.0000 0000.0000 0000.1011 1111class

    而IP地址因爲是10.0.0.0,因此二進制就是:配置

10.0.0.0---》0000 1010.0000 0000.0000 0000.0000 0000二進制

    由此咱們能夠看出,通配符必須匹配如下標紅位數di

0000 1010.0000 0000.0000 0000.0000 0000view

    而不標紅位數第一個0能夠有兩種可能0/1,當第25位爲0時,後六位的範圍是000000-111111

0000 1010.0000 0000.0000 0000.0000 0000=10.0.0.0

0000 1010.0000 0000.0000 0000.0011 1111=10.0.0.63

    當第25位爲1時,後六位的範圍是000000-111111

0000 1010.0000 0000.0000 0000.1000 0000=10.0.0.128

0000 1010.0000 0000.0000 0000.1011 1111=10.0.0.191

    因此,10.0.0.0 0.0.0.191匹配了兩個網段的IP地址,分別是10.0.0.0-10.0.0.63和10.0.0.128-10.0.0.191。

相關文章
相關標籤/搜索