了解ACL—通配符掩码「建议收藏」

了解ACL—通配符掩码「建议收藏」学习ACL,搞懂ACL就不能不搞定wildcardmask,通配符掩码。说简单点,通配符掩码就是0为绝对匹配,必须严格匹配才行,而1为任意,从某种意义上讲,如果一个8位上有一个1字符,那也只有两种方式,0或者1,但是如果进行组合,那么方式就多了。举例说明吧。一般我们在应用上都是进行地址块的匹配,怎么讲呢?就是说:1)对某个ABC类网进行匹配或者教通配符屏蔽2)对某个子网应用ACL。…

大家好,又见面了,我是你们的朋友全栈君。

学习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代替。

先将这四个数换成二进制:
5.0

0 1 0 1
10.0

1 0 1 0
13.0

1 1 0 1
14.0

1 1 1 0
观察可以看到5.0和13.0
10.0和14.0有共同点。
2.
将不相同的部分用Z表示
5.0和13.0

Z 1 0 1
10.0和14.0

1 Z 1 0
3.
将Z换成1,数字换成0。可以得出:
5.0和13.0

Z 1 0 1
———— 1 0 0 0
10.0和14.0

1 Z 1 0
———— 0 1 0 0
4.
最后将二进制换成十进制:
5.0和13.0

Z 1 0 1
———— 1 0 0 0
——– 8
10.0和14.0

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161562.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 线性内插interp1函数用法

    线性内插interp1函数用法线性内插是假设在二个已知数据中的变化为线性关系,因此可由已知二点的座标(a,b)去计算通过这二点的斜线,公式如下:其中 a 在上式的 b 点即是代表要内插的点,f(b) 则是要计算的内插函数值。下图即是一个以二种内插法的比较\pcxfile[12cm,5cm]{fig9_1.pcx}\caption{线性式与spline函数的曲线契合}线性内插是最简单的内插方

    2022年5月8日
    92
  • 使用FileReader对象的readAsDataURL方法来读取图像文件

    使用FileReader对象的readAsDataURL方法来读取图像文件readAsDataURL方法会使用base-64进行编码,编码的资料由data字串开始,后面跟随的是MIMEtype,然后再加上base64字串,逗号之后就是编码过的图像文件的内容。data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAB0CAYAAABUmhYnAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAA……使用

    2025年7月30日
    0
  • 防止攻击服务器_iis部署网站无法通过ip访问

    防止攻击服务器_iis部署网站无法通过ip访问摘要:介绍了IIS服务器常见的攻击及几种常见防御方式,阐述了IIS服务器的攻击原理,针对IIS服务器的缺陷阐述了IIS的常用防御方式,同时结合实例具体实现方式。关键词:IIS;服务器攻击;服务器防御中图分类号:TP393            文献标识码:A0         引言  随着Internet的不断发展与普及,英特网上出现了越来越多的WEB服务器。人们通过WEB服

    2022年8月30日
    1
  • 业务逻辑漏洞

    业务逻辑漏洞目录什么是业务逻辑漏洞:业务逻辑漏洞产生的核心原因:应用中的缺陷通常分为两种类型:逻辑漏洞主要产生的位置登录处存在的逻辑漏洞1.可以暴力破解用户名或密码:2.session没有清空:业务办理处存在的逻辑漏洞水平越权篡改手机号验证码处存在的逻辑漏洞登录验证码未刷新手机或邮箱验证码可爆破手机或邮箱验证码回显到客户端修改response包绕过判定支付处存在的逻辑漏洞修改商品编号金额修改商品数量修改通过前端限制限购商品充值中放弃订单

    2022年6月10日
    33
  • 简述设计的意义是什么_定义和概念的最大区别

    简述设计的意义是什么_定义和概念的最大区别究竟啥叫设计?让我们来先看个故事。      你开着一辆车。      在一个暴风雨的晚上。      你经过一个车站。      有三个人正在焦急的等公共汽车。      一个是快要临死的老人,他需要马上去医院      一个是医生,他曾救过你的命,你做梦都想报答他。      还有一个女人/男人,她/他是你做梦都想嫁/娶的人,也许错过

    2022年4月19日
    41
  • J2me开发大致框架「建议收藏」

    J2me开发大致框架「建议收藏」J2me开发名目繁多.但大致框架还算有规律可寻,我根据开发经验给大家提点意见,做下总结:游戏的结构很多,不过基本上都是在一个游戏主循环内实现。程序里面的主循环包含了程序框架的最主要的结构体。J2me的程序一般都包含两个class文件,一个是MIDlet,一个是Displayable。一般我都是把游戏的主要代码放在Displayable这个类里面。这个类是基

    2022年7月27日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号