首页 > 编程知识 正文

acl中的通配符掩码的作用是什么,子网掩码1代表什么意思

时间:2023-05-05 01:31:35 阅读:119157 作者:1999

学习ACL,一旦知道ACL,就不能不戴上通配符掩码、通配符掩码。 简单来说,通配符掩码0是绝对匹配的,必须严格匹配,但1是任意的,从某种意义上说,8位有一个字符,就只有0或1两种方式,但组合起来方式更多。

举个例子来说明吧。

我们一般在APP应用中进行地址块匹配,怎么说呢? 也就是说:

1 )匹配某个a、b、c类网,或教通配符屏蔽

2 )将ACL应用于某个子网络。

3 )将ACL应用于特定主机

4 )将ACL应用于任何主机或网络

5 )特殊情况匹配

会出现以上五种情况。 以下逐一说明。

1 )对某一类网络进行ACL通配符掩码。

这种情况可以很好地说明。

例如,10.0.0.0 0.255.255.255类

首先用二进制格式写。 00001010.0000000.00000000.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

0000000.11111111.11111111.11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

可见第一个字节需要严格匹配。 也就是说,10 .必须是之后的任意一致。

得到的网络为10.*

如果改变这个呢? 10.0.0.0 0.0.3.255

同样用二进制格式写。 00001010.0000000.0000000.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

00000000.0000000.000000000000000000000000000000000000000000000111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

前两个字节严格匹配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.1280.0.0.127

地址块为64,192.168.1.0.0.63

地址块为32,192.168.1.0.0.31

地址块为16,192.168.1.0.0.15

地址块为8,192.168.1.0.0.7

地址块为4,192.168.1.0.0.0.3

地址块为2,192.168.1.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自学指南一定要从2的幂开始,而不是从11.0和12.0等网络开始。 无视这个规则,还是用最原始的方法一一匹配。

写为二进制格式: 11000000.10101000.00000001.00010111

00000000.000000.00000000.000000000000000000000000000000000000000000000000000000000000000000000000001

接下来是匹配计算。 前三个字节毫无疑问,严格匹配。 最后的字节都是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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。