ACL中wildcard mask的使用

                                 ACLwildcard mask的使用

                                                                          --By Garylu

 

   在路由器里我们经常使用access-list来做些地址过滤,达到某些安全策略的目的,一般常用的方法是对某个地址段进行permit或者deny,例如:

access-list permit 1 192.168.1.0 0.0.0.3

access-list permit 1 192.168.1.16 0.0.0.15

   初学者对于wildcard mask的定义可能不是非常清晰,都会认为在ACL中的wildcard mask只能使用网络中已使用的地址段的子网掩码的反掩码来作为ACL的wildcard mask,看以下例子:

例一:某网络上存在一IP地址段192.168.1.0/29,如果是要允许这个网段所有的机子上网就可以用access-list permit 1 192.168.1.0 0.0.0.7来做策略,但是如果要求只允许网络内192.168.1.1、192.168.1.5这两个地址上网的话,我们通常会这样写ACL:

Access-list permit 1 192.168.1.1 0.0.0.0

Access-list permit 1 192.168.1.5 0.0.0.0

Access-list deny any any

   如果对wildcard mask在ACL中的使用定义很清晰的话,我们可以用另外一种写法,在此之前,我们先来回顾下ACL中使用wildcard mask的匹配规则:

   ACL中的wildcard mask由32个0和1组成,如果该位为0那么被匹配的地址的对应位就必需与ACL中的地址对应位匹配,如:

被匹配地址:   192.168.1.1   1100 0000.1010 1000.0000 0001.0000 0001

Wildcard mask: 0.0.0.7       0000 0000.0000 0000.0000 0000.0000 0111

ACL中的地址:  192.168.1.0   1100 0000.1010 1000.0000 0001.0000 0000

   红色粗体部分就是被匹配地址与ACL中的地址需要完全匹配的部分,因为wildcard mask的前29位为0,而后三位为1,所以被匹配地址的后三位被忽略,也就是所谓的don’t care,因此后三位可以是0和1的任意组合。

我们再看下以下这个ACL: 

Access-list permit 1 192.168.1.1 0.0.0.4(192.168.1.1为ACL的匹配条件地址)

假设网络内被匹配地址段为192.168.1.0/29

 

被匹配地址:

192.168.1.1

1100 0000.

1010 1000.

0000 0001.

0000 0

0

01

 

192.168.1.2

1100 0000.

1010 1000.

0000 0001.

0000 0

0

10

 

192.168.1.3

1100 0000.

1010 1000.

0000 0001.

0000 0

0

11

 

192.168.1.4

1100 0000.

1010 1000.

0000 0001.

0000 0

1

00

 

192.168.1.5

1100 0000.

1010 1000.

0000 0001.

0000 0

1

01

 

192.168.1.6

1100 0000.

1010 1000.

0000 0001.

0000 0

1

10

Wildcard mask:

0.0.0.4  

0000 0000.

0000 0000.

0000 0000.

0000 0

1

00

ACL条件地址:

192.168.1.1

1100 0000.

1010 1000.

0000 0001.

0000 0

0

01

 

    

根据ACL的wildcard mask定义,0.0.0.4中只有第30位为1,所以与该位的匹配可以忽略(蓝色部分);而其它位必需与ACL中的条件匹配地址192.168.1.1的对应位相同,因此我们看上面红色字体,条件地址的末两位是01,和条件地址末两位相同的只有地址192.168.1.1、192.168.1.5,也就是说在地址段192.168.1.0/29中,只有1和5这两个地址能够通过ACL匹配。

我们上面例1中的ACL:

Access-list permit 1 192.168.1.1 0.0.0.0

Access-list permit 1 192.168.1.5 0.0.0.0

Access-list deny any any

可以写为:

Access-list permit 1 192.168.1.1 0.0.0.4

通过以上例子,我们看出ACL中的wildcard mask和在动态路由协议里的反码是不同定义的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值