大家好,又见面了,我是你们的朋友全栈君。
一、什么是通配符掩码
通配符掩码是一个32位比特数,以点分十进制表示,告诉路由器数据包IP地址的哪些比特需要和access-list命令中给定的IP地址相匹配。
二、通配符掩码的作用
一条典型的ACL仅能指定一个要允许或拒绝IP的规则,如果要阻止多个地址或一段范围的地址,那么如使用典型的ACL规则,则需要添加多条才能满足。这样导致工作量增多,易出错且ACL执行效率降低等不足。而通配符掩码就是解决批量范围的ACL应用。简单来说,通配符掩码定义了数据包地址的哪部分需要匹配ACL中已列出的地址,哪些部分不需要匹配。
对于只有0和255字节的通配符掩码,0字节表示需要匹配,255字节表示不需要匹配。
三、简单型通配符掩码
对于标准的IP地址,使用观察就可以确定数据包的哪些位会被ACL分析,具体参见下例:
允许单台主机的通配符掩码 172.16.33.134 0.0.0.0 允许某个/24网络所有主机的通配符掩码 192.168.0.0 0.0.0.255 允许某个/16网络所有主机的通配符掩码 172.16.0.0 0.0.255.255 允许某个/8网络所有主机的通配符掩码 10.0.0.0 0.255.255.255
四、复杂型通配符掩码求法
从上面可以看出通配符掩码能实现针对一段地址范围的过滤,如上面例子,也就是分别针对单个地址,C类地址,B类地址以及A类标准地址的网络地址进行精准匹配。那么除了标准的网络地址匹配外,对于有划分子网,或没有划分子网但希望实现对某段地址范围进行ACL控制,通配符掩码能不能实现呢?答案是可以的,参见下面的例子:
问题:有192.168.22.0/26的网络,如何实现通配符掩码进行ACL控制
方法一:根据块大小求得通配符掩码:块大小-1
已知/26,可知块大小=64,那么实现上述网络细分为四个子网:
192.168.22.0 192.168.22.64 192.168.22.128 192.168.22.192 (块大小-1)即是通配符掩码中不必进行精准匹配的部分,所以通配符掩码=0.0.0.63
方法二、根据子网掩码求通配符掩码:(255.255.255.255-子网掩码) 已知/26,所以子网掩码是:255.255.255.192 通配符掩码=255.255.255.255-子网掩码-0.0.0.63
四、通配符掩码与any/host关键字
某两个特殊的通配符掩码与any/host关键字含义相同,且IOS更倾向使用特殊关键字。
其中:host=0.0.0.0,表示所有的比特位都必须匹配
any=255.255.255.255,表示所有的比特位都不需要匹配
转载于:https://blog.51cto.com/alligator/1211056
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161527.html原文链接:https://javaforall.cn