zoukankan      html  css  js  c++  java
  • 思科ACL不连续通配符掩码的计算

    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又是什么鬼?


        要知道0.0.0.191匹配到了什么地址,这就要从通配符掩码说起,在ACL语句中,当使用地址作为条件时,地址后面跟的都是通配符掩码,通配符掩码决定了地址中哪些位是需要精确匹配,哪些位不需要匹配。通配符掩码是一个32位数,采用点分十进制方式书写,匹配时,“0”表示检查的位、“1”表示不检查的位。
        由此我们可以先进行通配符的二进制转换,由此可以看出这个通配符必须匹配1-24位和26位。
        0.0.0.191--》0000 0000.0000 0000.0000 0000.1011 1111


        而IP地址由于是10.0.0.0,所以二进制就是:
        10.0.0.0---》0000 1010.0000 0000.0000 0000.0000 0000


        由此我们可以看出,通配符必须匹配以下标红位数
        0000 1010.0000 0000.0000 0000.0000 0000


        而不标红位数第一个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。

  • 相关阅读:
    【转】简单地用nfs实现linux间文件共享
    CentOS 6.1上部署SVN时遇到的问题及解决方法
    ubuntu下部署SVN服务
    LINUX GBK>UTF8文件编码批量转换脚本[转]
    Thinkpad E420 3YC(双显卡)安装64位Ubuntu 11.10笔记
    拦截器详解
    快排的算法
    冒泡排序的算法
    struts2的输入校验
    ssh整合开发
  • 原文地址:https://www.cnblogs.com/airoot/p/5740004.html
Copyright © 2011-2022 走看看