奇偶ACL的网络号匹配

artType01.jpg         奇偶ACL的网络号匹配                 2007-03-27 18:21:01

            原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://allens21.blog.51cto.com/103334/21723
作者:stanley.wy & allens
实验TOPO:

200703271174990923093.jpg


实验要求:使用ACL,route-map配合重发布,R1仅能够学习到奇数位的网络号或是偶数位的网络号,即192.168.x.0的x为奇或为偶.

实验步骤一:配置各路由器的IP,并且确认直接接口可以PING通.
实验步骤二:配置RIP和OSPF的协议,同时network正确的网络接口,并且注意passive-interface的使用
实验步骤三:在R2上配置重发布,确认网络是可以通过重发布学习到所有的网络.

题目要求分析:
R1仅能够学习到R3的奇数位的网络号或是偶数号的网络号.将各个子网拆成二进制观察规律
192.168.1.0/24192.168.0000 0001.0/24
192.168.2.0/24192.168.0000 0010.0/24
192.168.3.0/24192.168.0000 0011.0/24
192.168.4.0/24192.168.0000 0100.0/24
192.168.5.0/24192.168.0000 0101.0/24
192.168.6.0/24192.168.0000 0110.0/24
192.168.7.0/24192.168.0000 0111.0/24
192.168.8.0/24192.168.0000 1000.0/24
可以发现,只要是192.168.x.0/24的x为偶数,则第24位为0,如果为奇,则第24位为1,因此根据此规律和ACL的0为完全匹配1为忽略匹配规则,可以写出如下两个acl,针对第24位进行匹配.

用于偶数位的网络号:access-list 1 permit 192.168.0.0 0.0.254.0
192.168.0000 0000.0
000.000.1111 1110.0
用于奇数位的网络号:access-list 2 permit 192.168.1.0 0.0.254.0
192.168.0000 0001.0
000.000.1111 1110.0

实验实践一:在R2上配置,测试偶数位的匹配:
access-list 1 permit 192.168.0.0 0.0.254.0
!
route-map parity-acl permit 10
  match ip address 1
!
router ospf 1
  redistribute rip subnets route-map parity-acl

在R1上查看路由表,发现只有偶数位的网络号:
O E2 192.168.8.0/24 [110/20] via 172.16.1.2, 00:00:38, Serial1/1
O E2 192.168.4.0/24 [110/20] via 172.16.1.2, 00:00:38, Serial1/1
O E2 192.168.6.0/24 [110/20] via 172.16.1.2, 00:00:38, Serial1/1
O E2 192.168.2.0/24 [110/20] via 172.16.1.2, 00:00:38, Serial1/1

实验实践二:no掉刚才配置的acl和route-map,在R2上配置,测试奇数位的匹配
access-list 2 permit 192.168.1.0 0.0.254.0
!
route-map parity-acl permit 10
  match ip address 2
!
router ospf 1
  redistribute rip subnets route-map parity-acl

在R1上查看路由表,发现只有奇数位的网络号:
O E2 192.168.5.0/24 [110/20] via 172.16.1.2, 00:00:27, Serial1/1
O E2 192.168.7.0/24 [110/20] via 172.16.1.2, 00:00:27, Serial1/1
O E2 192.168.1.0/24 [110/20] via 172.16.1.2, 00:00:27, Serial1/1
O E2 192.168.3.0/24 [110/20] via 172.16.1.2, 00:00:27, Serial1/1

 

1 standard acl 中不写 wildcard-mask的意义
  host = 0.0.0.0            any = 0.0.0.0 255.255.255.255
   例 :  access-list 10 permit 10.1.1.0    ##看清,没有wildcard,且最后一个是0.
             意义: 仅匹配10.1.1.0这一条路由条目.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章