拓扑

使用ACL以及Prefix-list加route-map控制路由更新_第1张图片

说明:左边跑OSPF,右边跑EIGRP,重分布路由协议

用访问列表与前缀列表控制路由更新

在OSPF路由协议域拒绝掉5.5.0.0 5.5.1.0 5.5.2.0 5.5.3.0 的路由

在OSPF路由协议域拒绝掉15.5.16.0/20 15.5.64.0/18的路由

配置说明

1. 在所有路由器上配置IP地址,并如上图所示配置路由协议

2. 在R3上配置重分发,确保R1看到R5所有的环回口路由

R1#show ip route ospf

34.0.0.0/24 is subnetted, 1 subnets

O E2 34.1.1.0 [110/20] via 12.1.1.2, 00:00:12, Serial0/0

5.0.0.0/24 is subnetted, 6 subnets

O E2 5.5.0.0 [110/20] via 12.1.1.2, 00:00:12, Serial0/0

O E2 5.5.1.0 [110/20] via 12.1.1.2, 00:00:12, Serial0/0

O E2 5.5.2.0 [110/20] via 12.1.1.2, 00:00:12, Serial0/0

O E2 5.5.3.0 [110/20] via 12.1.1.2, 00:00:12, Serial0/0

O E2 5.5.4.0 [110/20] via 12.1.1.2, 00:00:12, Serial0/0

O E2 5.5.5.0 [110/20] via 12.1.1.2, 00:00:12, Serial0/0

23.0.0.0/24 is subnetted, 1 subnets

O 23.1.1.0 [110/128] via 12.1.1.2, 00:32:48, Serial0/0

45.0.0.0/24 is subnetted, 1 subnets

O E2 45.1.1.0 [110/20] via 12.1.1.2, 00:00:12, Serial0/0

15.0.0.0/8 is variably subnetted, 4 subnets, 4 masks

O E2 15.4.0.0/16 [110/20] via 12.1.1.2, 00:00:12, Serial0/0

O E2 15.5.16.0/20 [110/20] via 12.1.1.2, 00:00:12, Serial0/0

O E2 15.5.64.0/18 [110/20] via 12.1.1.2, 00:00:12, Serial0/0

O E2 15.5.129.0/26 [110/20] via 12.1.1.2, 00:00:12, Serial0/0

R1#

3. 控制路由重分发,在R3上使用route-map加访问控制列表控制更新

在OSPF路由协议域拒绝掉5.5.0.0 5.5.1.0 5.5.2.0 5.5.3.0 的路由

R3(config)#ip access-list stand 10

R3(config-std-nacl)#10 permit 5.5.0.0 0.0.3.0

R3(config-std-nacl)#exit

R3(config)#route-map liuqing deny 10

R3(config-route-map)#match ip add 10

R3(config-route-map)#exit

R3(config)#route-map liuqing per 20

R3(config-route-map)#set metric-type type-1

R3(config)#router ospf 110

R3(config-router)#redistribute eigrp 90 subnets route-map liuqing

此时,查看R1的路由表

R1#show ip route ospf

34.0.0.0/24 is subnetted, 1 subnets

O E1 34.1.1.0 [110/148] via 12.1.1.2, 00:02:42, Serial0/0

5.0.0.0/24 is subnetted, 2 subnets

O E1 5.5.4.0 [110/148] via 12.1.1.2, 00:02:42, Serial0/0

O E1 5.5.5.0 [110/148] via 12.1.1.2, 00:02:42, Serial0/0

23.0.0.0/24 is subnetted, 1 subnets

O 23.1.1.0 [110/128] via 12.1.1.2, 00:50:02, Serial0/0

45.0.0.0/24 is subnetted, 1 subnets

O E1 45.1.1.0 [110/148] via 12.1.1.2, 00:02:42, Serial0/0

15.0.0.0/8 is variably subnetted, 4 subnets, 4 masks

O E1 15.4.0.0/16 [110/148] via 12.1.1.2, 00:02:42, Serial0/0

O E1 15.5.16.0/20 [110/148] via 12.1.1.2, 00:02:42, Serial0/0

O E1 15.5.64.0/18 [110/148] via 12.1.1.2, 00:02:42, Serial0/0

O E1 15.5.129.0/26 [110/148] via 12.1.1.2, 00:02:42, Serial0/0

结果:需要被过滤的4条路由已经不会显示在R1的路由表中了。

4. 控制路由更新,在R3上使用前缀列表加route-map控制更新,禁止在OSPF路由域学习到15.5.16.0/20 15.5.64.0/18的路由

R3(config-route-map)#route-map liuqing deny 15

R3(config-route-map)#match ip address prefix-list 20

查看R1的路由表

R1#show ip route ospf

34.0.0.0/24 is subnetted, 1 subnets

O E1 34.1.1.0 [110/148] via 12.1.1.2, 00:01:17, Serial0/0

5.0.0.0/24 is subnetted, 2 subnets

O E1 5.5.4.0 [110/148] via 12.1.1.2, 00:01:17, Serial0/0

O E1 5.5.5.0 [110/148] via 12.1.1.2, 00:01:17, Serial0/0

23.0.0.0/24 is subnetted, 1 subnets

O 23.1.1.0 [110/128] via 12.1.1.2, 01:05:02, Serial0/0

45.0.0.0/24 is subnetted, 1 subnets

O E1 45.1.1.0 [110/148] via 12.1.1.2, 00:01:17, Serial0/0

15.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

O E1 15.4.0.0/16 [110/148] via 12.1.1.2, 00:01:17, Serial0/0

O E1 15.5.129.0/26 [110/148] via 12.1.1.2, 00:01:17, Serial0/0

总结:

1. 使用访问控制列表可以用一条语句控制多条路由,用反掩码来匹配,反掩码为0的位表示必须与路由条目匹配,反掩码为1的位表示无需匹配。但使用访问控制列表来过滤路由的话,不能匹配路由的掩码长度

2. 使用前缀列表控制路由更新时可以使用一条语句匹配多条路由。使用前缀列表过滤路由,可以匹配子网掩码

3. 使用route-map控制路由更新时,如果match 语句是横着有多个访问控制列表或者前缀列表,代表只需匹配其中的一个地址就执行route-map,如果在同一个序列号下竖着写多个match ip address,则表示需要同时满足这两个要求才执行route-map

4. 在使用route-map进行控制路由更新时,所用的访问控制列表以及前缀列表都使用permit语句,表示匹配一条或者多条路由;如果是要拒绝这个一条或者多条路由,那么在route-map中使用deny语句,下面挂列表。如果是要允许,则使用permit语句。Route-map的最后隐含了一条deny语句,如果没有写一条permit的空语句,则会匹配默认的deny语句

5. 关于ACL以及Prefix-list的更多知识,请自行查找