作者:stanley.wy & allens
实验TOPO:

奇偶ACL的网络号匹配_第1张图片


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

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

题目要求分析:
R1仅能够学习到R3的奇数位的网络号或是偶数号的网络号.将各个子网拆成二进制观察规律
192.168.1.0/24 192.168.0000 0001.0/24
192.168.2.0/24 192.168.0000 0010.0/24
192.168.3.0/24 192.168.0000 0011.0/24
192.168.4.0/24 192.168.0000 0100.0/24
192.168.5.0/24 192.168.0000 0101.0/24
192.168.6.0/24 192.168.0000 0110.0/24
192.168.7.0/24 192.168.0000 0111.0/24
192.168.8.0/24 192.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