路由重分发、路由过滤方法及难点总结(EIGRP、OSPF举例)

我们无论在实际应用,还是CCIE实验中,路由重分发、路由过滤一向会是一个难点,现把几点需要注意的地方总结如 下:



一、路由过滤的三种方法:
1、distribute-list
2、route-map
3、summary

下面分别简单举例,只允许10.10.0.0/16条目进入路由表

 

 

 

1、distribute-list

 

ip prefix-list cracker permit 10.10.0.0/16

 

router eigrp 10

 

   distribute-list prefix-list cracker in s0/0

 

2、route-map

 

ip prefix-list cracker permit 10.10.0.0/16

 

route-map cracker permit 10

 

match ip address prefix-list cracker

 

router ospf 10

 

redis eigrp 10 metric 100 subnets route-map cracker

 

3、summary

 

有时我们可以用summary来汇总路由,并且由于汇总对精细路由条目抑制的本能,我们相当于又多加了一条过滤语句,但也有特例,那就是RIP和BGP。

 

int s0/0

 

ip summary-address eigrp 10 10.10.0.0 255.255.0.0

 

从s0/0发出的路由将在汇总的同时被过滤。

 

如果是RIP:

 

int s0/0

 

ip summary-address rip 10.10.0.0 255.255.0.0

 

仅这一句是不够的,我们还要另做过滤

 

ip prefix-list cracker permit 10.10.0.0 255.255.0.0

 

router rip

 

distribute-list prefix-list cracker out s0/0

 

二、路由过滤

 

路由过滤仅对Distance-vector 路由协议有效,OSPF这类link-status协议无视路由过滤,当然除非我们在路由进程下去做。

 

在其它路由协议向OSPF重分发时,看不到路由过滤语句distribute-list存在。但这不代表使用route-map的方法不可以。

 

下面我们分两种情况讨论

 

1、EIGRP RIP 这两种路由协议,无论你在in out方向均可做,不用过多考虑,直接distribute-list上。

 

例:禁止10.10.0.0/16汇总路由进入EIGRP/RIP

 

router rip

 

distribute-list prefix-list cracker in s0/0

 

ip prefix-list cracker deny 10.10.0.0/16

 

ip prefix-list cracker permit 0.0.0.0/0 le 32

 

router eigrp 10

 

distribute-list prefix-list cracker in s0/0

 

2、OSPF 路由过滤

 

例:禁止10.10.0.0/16汇总路由进入OSPF

 

router os 10

 

redis eigrp 10 metric 100 subnets route-map cracker

 

ip prefix-list cracker permit 10.10.0.0/16

 

route-map 22817747 deny 10

 

match ip addr prefix-list cracker

 

route-map 22817747 permit 20

 

三、重分发

 

重分发的METRIC设置方法就不提了,重要的是他的原理。我们主要讲单点单向重分发,单点双向重分发,双点单向重分发,双点双向重分发。

 

1、单点重分发我们只提一点,所有的情况你都可以自已推断:

 

重分发,分发的是当前路由器“路由表”中的内容,注意,一定是路由表,路由协议数据库中的条目不管。OSPF数据库中的内容,redistribute程 序是不会知道的。

 

这样也就解决了单点双向重分发为什么不会产生路由回溃的原因。发往一个方向的路由是不会被重分发回来的,因为在分发点上是看不到被分发后的路由的。

 

2、而双点双向重分发,也只需记住一点:

 

AD值高的路由协议向AD值低的路由协议中重分发,会产生次优路径、路由环路等问题,需要加以过滤或对AD值进行更改。注意:错误只发生在边界路由器上!

 

AD值低的路由协议向AD值高的路由协议中重分发,不会产生次优路径、路由环路等问题,无需考虑。

 

四、双点双向重分发中次优路径问题

 

两种解决方法:

 

1、路由过滤。

 

不让产生环路的路由条目进入路由器,就不会产生次优路径了,因为路由器根本就没有两条路可走。

 

2、AD值更改

 

可以把次优路由条目的AD值调高,高到路由器即便看到两条路由条目去往同一目的的,也不会选择这条次优路径。

 

例:

 

当EIGRP外部路由(ad:170)重分发进OSPF后,边界路由会有两条选择,一条是EIGRP内部到达目的,另一条是从OSPF学到的往同样 目的去 的路由,这条路由是由另外一台重分发路由器从EIGRP分发过来的。这时,ASBR会选择OSPF的,因为其AD为110,小于EIGRP DEX 的170。

 

我们可以把这个学来的条目的AD值调高到超过EIGRP DEX 170的值,这里我们调到250。                    router ospf 10                                                                                                                                   distance 250 10.10.1.1 0.0.0.0 44                                                                                                    access-list 44 permit 100.100.100.100/32