CCIE学习(50)―― 路由重分发(三)

多个路由器间相互重分发路由
如果需要在多个路由器间重分发两种路由协议,会出现一些潜在的问题。比如说,在重分发路由器上,它们同时会学习到某个子网的两种路由协议,如果该路由器使用 AD 来确定哪条是最佳路由,往往会造成某些次优路径。具体可以看看下面的实例:
路由器配置:
1 R1 的配置
router ospf 1
 router-id 1.1.1.1
 redistribute rip subnets
 network 10.1.15.1 0.0.0.0 area 0
!
router rip
 redistribute ospf 1
 network 10.0.0.0
 default-metric 1
2 R3 的配置:
router ospf 1
 router-id 3.3.3.3
 redistribute rip subnets
 network 10.1.34.3 0.0.0.0 area 0
!
router rip
 redistribute ospf 1
 network 10.0.0.0
 default-metric 1
在上图中, R3 通过来自 R2 RIP 更新会学习到子网 10.1.2.0/24 ,与此同时, R1 会将学习到的 RIP 路由重分发到 OSPF 域中,这样 R3 会通过 OSPF 再学习到一条到 10.1.2.0/24 的路由。如果 R3 选择管理距离最小的路由,那么由于 OSPF AD 110 )比 RIP AD 120 )小,所以它会选择 OSPF 的重分发路由,显然这不是我们所希望的结果。实际上,这种情况会在 R1 R3 的每一 RIP 子网上都可能出现。要解决类似的问题,路由器必须知晓每条路由具体来自什么路由协议域。
一种简单并有效地解决方案是用高 AD 来标记重分发的路由,从而可以让路由器作出正确的选择。就上面的问题而言,在 router ospf 进程下增加一条 distance ospf external 180 命令就可以了。注意, EIGRP 本身就支持这样的方案,它对外部路由使用的 AD 170 ,而内部路由使用的值是 90 。虽然这种方案看上去不错,但也可能有问题,比如说,如果 R4 注入了一些有效的 OSPF 外部路由(不是重分发路由),此时按这种方案的配置,因为 OSPF 外部路由的 AD 值大,所以路由器会选择经由 RIP 域的次优路由。这个问题提醒我们,不能对所有外部路由的 AD 值都增大。幸运的是, distance 路由子命令可以针对来自特定路由器的路由进行 AD 值调整,其格式如下:
distance { distance-value ip-address { wildcard-mask } [ ip-standard-list ] [ ip-extended-list ]}
该命令可以设置 AD 值,广播该路由的路由器 IP 地址,以及匹配路由的 ACL 。还是看上面的例子,通过使用完整格式的 distance 命令,可以对路由器增加如下配置:
1 R1 的配置:
router ospf 1
 distance 179 3.3.3.3 0.0.0.0 only-rip-routes
!
ip access-list standard only-rip-routes
 permit 10.1.12.0
 permit 10.1.3.0
 permit 10.1.2.0
 permit 10.1.23.0
2 R3 的配置:
router ospf 1
 distance 179 1.1.1.1 0.0.0.0 only-rip-routes
!
ip access-list standard only-rip-routes
 permit 10.1.12.0
 permit 10.1.3.0
 permit 10.1.2.0
 permit 10.1.23.0
另一种解决方案是过滤掉问题路由。例如上面的 R3 可以使用进入的 distribute-list 命令来过滤掉到 10.1.2.0/24 OSPF 路由。虽然这也可以工作,但是重分发路由器每当高 AD 路由域的子网变化时就要重新配置,显然这很麻烦。为了提高管理效率,可以添加路由标记。通过对来自高 AD 域并广播到低 AD 域的所有路由进行标记, distribute-list 可以简单地对标记进行检查即可。
路由器配置:
1 R1 的配置:
router ospf 1
 redistribute rip subnets route-map tag-rip-9999
 network 10.1.15.1 0.0.0.0 area 0
 distribute-list route-map check-tag-9999 in
!
route-map check-tag-9999 deny 10
 match tag 9999
!
route-map check-tag-9999 permit 20
!
route-map tag-rip-9999 permit 10
 set tag 9999
2 R3 的配置:
router ospf 1
 redistribute rip subnets route-map tag-rip-9999
 network 10.1.34.3 0.0.0.0 area 0
 distribute-list route-map check-tag-9999 in
!
route-map check-tag-9999 deny 10
 match tag 9999
!
route-map check-tag-9999 permit 20
!
route-map tag-rip-9999 permit 10
 set tag 9999
 
使用 metric metric 类型来影响重分发路由
在前面的实例中,除了重分发路由器上可能存在次优路由的问题之外,在单个路由域的内部路由器也可能出现另外的问题。这些路由器会学习到来自多个重分发路由器的到同一子网的多条路由,它们必须作出最佳路由的选择。为此,通过设置 metric ,可以影响内部路由器使用特定的重分发路由。
需要引起注意的是,内部路由器在选择最佳路由时可能首先不是考虑的 metric ,例如在 OSPF 中,首先会考虑选择区域内路由。关于 IGP 协议选择路由的优先级如下:
1 RIP :没有这样的考虑;
2 EIGRP :内部路由,然后外部路由;
3 OSPF :区域内路由,区域间路由,外部路由 1 ,外部路由 2
4 IS-IS L1 路由, L2 路由,外部路由。

你可能感兴趣的:(学习,Cisco,休闲,CCIE,Redistribution)