拓扑图

实验要求:

1.        R1、R2、R4上要运行Eigrp,AS号为10,R2、R3、R4上要运行OSPF,此外R1上还要运行Eigrp 100

2.        R2、R4、R3上的Lo0口要加入到OSPF进程中,R1的lo0口加入到Eigrp 10中,而lo100口加入到Eigrp 100中;

3.        在R2、R4上进行双向重分发

4.        全网可达

5.        R3-->R1的LoopBack 100接口要实现负载均衡;

6.        R3-->R1的LoopBack 0 口首选R2作为它的下一跳(但R2出现问题时应该有备用路由)

实验过程、需求分析及注意事项:

1.        首先,为各路由器接口配好地址,然后分别在R1、R2、R4上跑Eigrp并将上面要求中的接口加入到路由进程中,在R2、R3、R4上跑OSPF并将要求的接口加入到路由进程中,做完以上工作后,查看各路由表是否正常。在R2、R4上应该可以ping通除100.100.100.100以外的所有接口。

2.        确保各路由器正常获得路由之后,我们先在R1上将Eigrp100 重分布到Eigrp 10中,让其他路由器获得100.100.100.100路由,完成后可以在R2、R4上看到标记为D EX的外部路由(注意其AD为170)

3.        下面就要 在R2、R4上对Eigrp和OSPF进行双向重分布 了。我们先在R2上做,先将eigrp 10重分布到OSPF10中( redistribute Eigrp 10 subnets ),此时将可以在R3的路由表上看到四条由Eigrp重分发进来的O E2路由,再来看看R4上面的路由表,请注意去往100.100.100.100的路由,其标记已经由D EX变为O E2了!这条Eigrp的外部路由被AD值更低的OSPF路由取代了!这明显不是到达100.100.100.100的最优路由,先不管,完成单点双向重分布先。在Eigrp进程中将OSPF10重分布,查看R1路由表,四条标记为D EX的路由成功学习到了,全网可达。

4.        为了让R4上去往100.100.100.100的路由最优,我们需要 在R4上使用分发列表 (distribute-List)将从F0/0口进入的100.100.100.100路由过滤掉。这里我们需要结合access-list来做:access-list 40 deny~~100.100.100.0 0.0.0.255 用来过滤掉该路由,但不要忘记在后面加上一条:access-list 40 permit any。然后在OSPF进程中:distribute-list 40 in FastEthernet0/0 是用分发列表将F0/0口进来的匹配ACL 40的路由过滤掉,再查看R4上路由表,去往100.100.100.100的最优了!

5.        现在我们再来在R4上将Eigrp重分发到OSPF,完成后回过头来看看R3的路由表,去往100.100.100.100的下一跳变成了R4了!没有达到负载均衡的效果,再来看看R2上的路由表,奇怪的事情再次发生了,R2去往100.100.100.100的下一跳又变成R3了,因为从OSPF通告过来的相同的路由具有更低的AD!而我们要做的就是重复步骤3中的工作,使用distribute-list来过滤该路由,完成后查看R2上路由表,去往100.100.100.100路由最优,而且R3上也实现了该路由的负载均衡了!继续完成双向重分发。

6.        现在前面5个要求都实现了,接下实现第6个要求。我们查看R3上的路由表,可以看到从它去往R1上的lo0口正在负载均衡,我们需要它只有一个下一跳,而且需要有备用路由,所以修改该路由的Cost值是较好的方法,使用Route-map可以实现该效果,修改Cost值之后该路由将会被Cost更低的来自R2的路由替代,而如果当R2走不通时,该路由将成为唯一选择,自动进入路由表,实现冗余,请结合下面贴出的配置理解

详细配置如下 :(其中颜色字体处为关键配置)

R1:!interface Loopback0ip address 10.10.10.10 255.255.255.255!interface Loopback100ip address 100.100.100.100 255.255.255.255!interface FastEthernet0/0ip address 172.16.12.1 255.255.255.0duplex autospeed auto!interface FastEthernet0/1ip address 172.16.14.1 255.255.255.0duplex autospeed auto!!router eigrp 10 redistribute eigrp 100 /--将eigrp 100 重分发到eigrp 10 中,由于是同类协议重分发,不需要指定Metric参数 network 10.10.10.10 0.0.0.0network 172.16.12.0 0.0.0.255network 172.16.14.0 0.0.0.255no auto-summary!router eigrp 100network 100.100.100.100 0.0.0.0~/no auto-summary !/--我们不需要将eigrp 10中的路由重分发到eigrp 100中,因为只有一个接口被加入到路由进程中而且它后面没有连接更多的路由器,到达其他目的地的路由已经存在在路由表,但如果接口后面还连接了其他路由器,而这些路由器也需要达到本网络,那么就需要进行双向重分发了,这也是从减少开销方面考虑的

R2:

interface Loopback0ip address 10.10.20.20 255.255.255.255!interface FastEthernet0/0ip address 172.16.12.2 255.255.255.0duplex autospeed auto!interface FastEthernet0/1ip address 172.16.23.2 255.255.255.0duplex autospeed auto!router eigrp 10 redistribute ospf 10 metric 10000 100 255 1 1500 network 172.16.12.0 0.0.0.255no auto-summary!router ospf 10log-adjacency-changes redistribute eigrp 10 subnets network 10.10.20.20 0.0.0.0 area 0network 172.16.23.0 0.0.0.255 area 0 distribute-list 20 in FastEthernet0/1 /--这里使用了distribute-list来过滤符合Access-List 20的路由条目从F0/1接口进入路由器,因为在重分发过程中管理距离更小的OSPF次优路由将取代原来最优的外部Eigrp路由(OSPF是110,外部Eigrp为170!),所以我们需要阻止从OSPF通告过来的次优路由进入本路由器路由表,使管理距离更大但最优的外部Eigrp路由顺利进入路由表 !! access-list 20 deny~~100.100.100.0 0.0.0.255access-list 20 permit any !

R3:interface Loopback0ip address 10.10.30.30 255.255.255.255!interface FastEthernet0/0ip address 172.16.34.3 255.255.255.0duplex autospeed auto!interface FastEthernet0/1ip address 172.16.23.3 255.255.255.0duplex autospeed auto!!router ospf 10log-adjacency-changesnetwork 10.10.30.30 0.0.0.0 area 0network 172.16.23.0 0.0.0.255 area 0network 172.16.34.0 0.0.0.255 area 0! !/--R3上比较简单,只运行了一个OSPF进程

R4:

!interface Loopback0ip address 10.10.40.40 255.255.255.255!interface FastEthernet0/0ip address 172.16.34.4 255.255.255.0duplex autospeed auto!interface FastEthernet0/1ip address 172.16.14.4 255.255.255.0duplex autospeed auto!!router eigrp 10 redistribute ospf 10 metric 10000 100 255 1 150 0~ /--正常地将OSPF重分发到Eigrp中 network 172.16.14.0 0.0.0.255no auto-summary!router ospf 10log-adjacency-changes redistribute eigrp 10 subnets route-map 100 /--在将Eigrp重分发到OSPF的过程中调用route-map来实现修改Metric值的目的 network 10.10.40.40 0.0.0.0 area 0network 172.16.34.0 0.0.0.255 area 0 distribute-list 40 in FastEthernet0/0 /--上面已经在R2上面做好了distribute-list了,从Eigrp中学到的100.100.100.100路由也成功进入路由表,但你会发现,R2上会将重分布过来的100.100.100.100路由通告给R4,造成R4的路由表上面出现次优路由,此处调用distribute-list将该路由过滤调,防止它进入路由表 ! access-list 10 permit 10.10.10.0 0.0.0.255access-list 40 deny~~100.100.100.0 0.0.0.255access-list 40 permit any ! route-map 100 permit 10match ip address 10set metric 60 !/--序号为10的route-map,如果匹配Access-List 10,执行set metric动作,将路由的Metric只改为60 ! route-map 100 permit 20set metric 20 !/--序号20的route-map,其中没有匹配内容,即是所有的不匹配第10条的route-map都符合条件,将Metric至改为20,也就是路由本来Metric值大小 !还有另外一种做法就是,改为在路由器R2上面做route-map,在第10条route-map中直接将匹配Access-List 10 路由的Metric值改小,这样就不需要对其他路由的Metric值进行修改了,这样做的好处是减小了开销,而且实施起来也比较简单,以这次的要求来做,这种做法显得更好些

下面我们来看看效果:

从R3上用traceroute 100.100.100.100结果:

Tracing the route to 100.100.100.100

1 172.16.34.4 188 msec172.16.23.2 116 msec172.16.34.4 40 msec2 12.0.0.1 228 msec14.0.0.1 52 msec *

可以看出,到达100.100.100.100有两条路可以走(R2、R4)负载均衡达成!

再从R3上traceroute 10.10.10.10:

1 172.1623.2 196 msec 80 msec 48 msec2 172.1612.1 216 msec *~40 msec

第5、6个要求实现了,全网也可达了!