拓扑
说明:左边跑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的更多知识,请自行查找