前面我们学习了很多有关基础和协议的知识,实验操作相对较少,今天我们就来做一个关于ospf协议运用的实验,具体一下细节问题,希望对ospf协议使用不熟悉的小伙伴有帮助!
实验拓扑:
在实验开始之前,我们先来学习一下预配指令,对我们以后的学习和工作都有很大的帮助!
预配指令:
enable 进入特权模式 configure terminal 进入全局配置模式 no ip domain-lookup 关闭域名解析;以防敲错指令,出现卡死的现象 line console 0 进入线路模式 logging synchronous 开启日志同步;同步显示工作日志 exec-timeout 0 0 永不超时;避免离开一段时间回来的时候配置找不到的情况 exit 退出当前模式 hostname +名字;命名当前设备
注:由于模拟器和真机设备都有自动补全的帮助系统,我们就可以简写来完成预配,同时后面实验的配置,有些地方我也是简写的,只要是正确的简写,系统都会认识的。所以你们注意比对,不要搞错了!
预配简写:
en conf ter no ip domain-lo line co 0 logg sy exec-t 0 0 hos
说完了预配,那么我们就开始进入正式的配置吧!根据问题要求,我们来按照步骤往下配置!
正式配置
一、全网可达:由于交换机在这个实验中只起到连接三个路由的作用,不需要我们作任何的配置。
1、r4的IP地址配置过程: 注:复制粘贴的时候,只需复制代码就行,不要将日志带上,不然就会出现错误!
Router>enable Router#configure terminal Router(config)#no ip domain-lookup Router(config)#line console 0 Router(config-line)#logging synchronous Router(config-line)#exec-timeout 0 0 Router(config-line)#exit Router(config)#hostname r4 r4(config)#interface fastEthernet 0/0 r4(config-if)#ip address 47.1.1.2 255.255.255.0 r4(config-if)#no shutdown r4(config-if)# %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up //up表示当前这个接口已经打开;是一条日志 r4(config-if)#exit r4(config)#interface fastEthernet 0/1 r4(config-if)#ip address 123.1.1.4 255.255.255.0 r4(config-if)#no shutdown r4(config-if)# %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up //日志 %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up //日志 r4(config-if)#exit r4(config)#interface loopback 0 //创建环回接口,虚拟的接口,可标识当前主机 r4(config-if)# %LINK-5-CHANGED: Interface Loopback0, changed state to up //日志 %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up //日志 r4(config-if)#ip address 4.4.4.4 255.255.255.0 r4(config-if)#exit r4(config)# %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up //日志
r5的IP地址配置过程: 备注:由于配置代码过多,下面的配置就没有写上预配指令,但是小伙伴们一定自己要敲上奥!
r5(config)#int f0/0 r5(config-if)#ip add 123.1.1.5 255.255.255.0 r5(config-if)#no shutdown r5(config-if)# %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up //日志;切记以%开头的都是日志 %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up r5(config-if)#exi r5(config)#int f0/1 r5(config-if)#ip add 58.1.1.2 255.255.255.0 r5(config-if)#no shutdown r5(config-if)# %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up r5(config-if)#int lo 0 //注意环回的创建简写 r5(config-if)# %LINK-5-CHANGED: Interface Loopback0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up r5(config-if)#ip add 5.5.5.5 255.255.255.0 r5(config-if)#exi r5(config)# %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to upr6的地址配置过程:
r6(config)#int f0/0 r6(config-if)#ip add 123.1.1.6 255.255.255.0 r6(config-if)#no shutdown r6(config-if)# %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up r6(config-if)#exi r6(config)#int lo 0 r6(config-if)# %LINK-5-CHANGED: Interface Loopback0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up r6(config-if)#ip add 6.6.6.6 255.255.255.0 r6(config-if)#exi r6(config)#int f0/1 r6(config-if)#ip add 69.1.1.1 255.255.255.0 r6(config-if)#no shutdown r6(config-if)# %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up r6(config-if)#exi r6(config)# %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to upr7的地址配置:
r7(config)#int f0/0 r7(config-if)#ip add 47.1.1.1 255.255.255.0 r7(config-if)#no shutdown r7(config-if)# %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up r7(config-if)#exi r7(config)#int lo 0 r7(config-if)# %LINK-5-CHANGED: Interface Loopback0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up r7(config-if)#ip add 7.7.7.7 255.255.255.0 r7(config-if)#exi
r8的地址配置:
r8(config)#int f0/0 r8(config-if)#ip add 58.1.1.1 255.255.255.0 r8(config-if)#no shutdown r8(config-if)# %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up r8(config-if)#exi r8(config)#int lo 0 r8(config-if)# %LINK-5-CHANGED: Interface Loopback0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up r8(config-if)#ip add 8.8.8.8 255.255.255.0 r8(config-if)#exir9的地址配置:
r9(config)#int f0/0
r9(config-if)#ip add 69.1.1.2 255.255.255.0
r9(config-if)#no shutdown
r9(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
r9(config-if)#exi
r9(config)#int lo 0
r9(config-if)#
%LINK-5-CHANGED: Interface Loopback0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
r9(config-if)#ip add 9.9.9.9 255.255.255.0
r9(config-if)#exi
注:每个设备的地址配置完成之后,一定要检测一下每台设备的直连是不是能通,不然实验做到最后发现直连不通,找到错误之后又得重复之前的许多操作,相当麻烦!所以一定不要忘记检查设备直连的通与不通!
我在配置的过程中,已经做过检测了,方法是Ping对端的地址。
我们就举个例子,检测r4与r7的连接情况:
r4#ping 47.1.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 47.1.1.2, timeout is 2 seconds:
!!!!! //5个符号,只要有一个“!”就表示通了,如果5个全是“.”就表示不通
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/4/8 ms
IP地址配置完成之后,就开始起协议,划分区域的配置:r4的具体协议配置: 注:ospf的第二种宣告方式在我用的这个模拟器无法使用,如果你们用的其它模拟器就可以去试试!
r4(config)#router ospf 100 //开启ospf协议;100为进程号,必须全网一致 r4(config-router)#router-id 4.4.4.4 //RID系统自动生成,建议手工配置 r4(config-router)#network 4.4.4.4 0.0.0.0 area 0 //将环回地址4.4.4.4加上反掩码,宣告进骨干0区域 r4(config-router)#network 123.1.1.4 0.0.0.0 area 0 //同上 00:32:21: %OSPF-5-ADJCHG: Process 100, Nbr 5.5.5.5 on FastEthernet0/1 from LOADING to FULL, Loading Done //日志 r4(config-router)#network 47.1.1.2 0.0.0.0 area 1 //将47.1.1.2宣告进1区域 00:33:45: %OSPF-5-ADJCHG: Process 100, Nbr 7.7.7.7 on FastEthernet0/0 from LOADING to FULL,Loading Done //红色标记部分表示邻居关系建立 r4(config-router)# 00:35:26: %OSPF-5-ADJCHG: Process 100, Nbr 6.6.6.6 on FastEthernet0/1 from LOADING to FULL, Loading Doner5的协议配置: 注:为了方便复制,下面的配置中就把日志去掉了!但是要注意邻居关系建立的标志!
r5(config)#router ospf 100 r5(config-router)#router-id 5.5.5.5 r5(config-router)#network 5.5.5.5 0.0.0.0 ar 0 r5(config-router)#network 58.1.1.2 0.0.0.0 ar 2 r5(config-router)#network 123.1.1.5 0.0.0.0 ar 0 r5(config-router)#exitr6的协议配置:
r6(config)#router ospf 100 r6(config-router)#router-id 6.6.6.6 r6(config-router)#network 6.6.6.6 0.0.0.0 ar 0 r6(config-router)#network 123.1.1.6 0.0.0.0 ar 0 r6(config-router)#network 69.1.1.1 0.0.0.0 ar 3 r6(config-router)#exir7的协议配置:
r7(config)#router ospf 100 r7(config-router)#router-id 7.7.7.7 r7(config-router)#network 7.7.7.7 0.0.0.0 ar 1 r7(config-router)#network 47.1.1.1 0.0.0.0 ar 1 r7(config-router)#exir8的协议配置:
r8(config)#router ospf 100 r8(config-router)#router-id 8.8.8.8 r8(config-router)#network 8.8.8.8 0.0.0.0 ar 2 r8(config-router)#network 58.1.1.1 0.0.0.0 ar 2 r8(config-router)#exir9的协议配置:
r9(config)#router ospf 100 r9(config-router)#router-id 9.9.9.9 r9(config-router)#network 9.9.9.9 0.0.0.0 ar 3 r9(config-router)#network 69.1.1.2 0.0.0.0 ar 3 r9(config-router)#exi r9(config)#就这样,我们整个拓扑的协议就起完了,整个网络协议要起来得等一段时间。在实验环境下,为了节省时间,叫大家一个方法:
r9#clear ip route *
只要每个设备敲这个指令,就能让整个网络快速起来!
现在在任意一台设备上查看路由表:
r9#show ip route 4.0.0.0/32 is subnetted, 1 subnets O IA 4.4.4.4 [110/3] via 69.1.1.1, 00:01:36, FastEthernet0/0 5.0.0.0/32 is subnetted, 1 subnets O IA 5.5.5.5 [110/3] via 69.1.1.1, 00:01:36, FastEthernet0/0 6.0.0.0/32 is subnetted, 1 subnets O IA 6.6.6.6 [110/2] via 69.1.1.1, 00:01:36, FastEthernet0/0 7.0.0.0/32 is subnetted, 1 subnets O IA 7.7.7.7 [110/4] via 69.1.1.1, 00:01:36, FastEthernet0/0 8.0.0.0/32 is subnetted, 1 subnets O IA 8.8.8.8 [110/4] via 69.1.1.1, 00:01:36, FastEthernet0/0 9.0.0.0/24 is subnetted, 1 subnets C 9.9.9.0 is directly connected, Loopback0 47.0.0.0/24 is subnetted, 1 subnets O IA 47.1.1.0 [110/3] via 69.1.1.1, 00:01:36, FastEthernet0/0 58.0.0.0/24 is subnetted, 1 subnets O IA 58.1.1.0 [110/3] via 69.1.1.1, 00:01:36, FastEthernet0/0 69.0.0.0/24 is subnetted, 1 subnets C 69.1.1.0 is directly connected, FastEthernet0/0 123.0.0.0/24 is subnetted, 1 subnets O IA 123.1.1.0 [110/2] via 69.1.1.1, 00:01:36, FastEthernet0/0就会发现刚才所有配置的路由(汇总路由)出现在这张表中,然后我们检测一下有没有完成 第一个要求---全网可达
r9#ping 7.7.7.7 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 7.7.7.7, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/0 ms r9#ping 8.8.8.8 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/1 ms
从结果来看,已经是全网可达了!下来开始我们第二个要求:
二:r4为DR 备注:为了方便实验的进行,刚才先起协议的设备是r5,按照ospf--DR的选举规则,目前r5为DR
r6#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
5.5.5.5 1 FULL/DR 00:00:36 123.1.1.5 FastEthernet0/0
4.4.4.4 1 FULL/BDR 00:00:31 123.1.1.4 FastEthernet0/0
9.9.9.9 1 FULL/BDR 00:00:35 69.1.1.2 FastEthernet0/1 //这一条信息说的是r9和r6之间,r6为DR
从上表可以看出r5是DR,现在要让r4为DR,就必须改r4的优先级,重启进程让r4成为DR,具体配置为:
r4(config)#int f0/1 //注意改的是接口的优先级 r4(config-if)#ip ospf priority 2 //如果没有改动,优先级默认为1 r4(config-if)#end r4# %SYS-5-CONFIG_I: Configured from console by console r4#clear ip ospf process //重启ospf进程 Reset ALL OSPF processes? [no]: y既然可以将r4的优先级升高,那么另一种方法就是把其它两个路由器(r5和r6)的优先级降低为0,也可以实现要求。但是要注意一点: 修改了那个接口的优先级就一定要重启ospf进程才能使该接口的优先级改动生效! 现在让我们看看效果:
r6#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 5.5.5.5 1 FULL/DROTHER 00:00:33 123.1.1.5 FastEthernet0/0 4.4.4.4 2 FULL/DR 00:00:37 123.1.1.4 FastEthernet0/0 //r4变成了DR 9.9.9.9 1 FULL/BDR 00:00:31 69.1.1.2 FastEthernet0/1三、区域0和其它区域之间作密文认证: 注:认证是网络中保证信息安全中最重要的一步
r4(config)#router ospf 100 r4(config-router)#area 0 authentication message-digest r4(config-router)#area 1 authentication message-digest //r4、r5和r6是ABR,因此两个区域的认证都得做
r5(config)#router os 100 r5(config-router)#area 0 authentication message-digest r5(config-router)#area 2 authentication message-digest
r6(config)#router os 100 r6(config-router)#area 0 authentication message-digest r6(config-router)#area 3 authentication message-digest
r7(config)#router os 100 r7(config-router)#area 1 authentication message-digest
r8(config)#router os 100 r8(config-router)#area 2 authentication message-digest
r9(config)#router os 100 r9(config-router)#area 3 authentication message-digest做完认证,整个网络重新建立邻居关系;必须检查一下路由表,看有没有缺少路由信心:
r4#show ip route 4.0.0.0/24 is subnetted, 1 subnets C 4.4.4.0 is directly connected, Loopback0 5.0.0.0/32 is subnetted, 1 subnets O 5.5.5.5 [110/2] via 123.1.1.5, 00:01:45, FastEthernet0/1 6.0.0.0/32 is subnetted, 1 subnets O 6.6.6.6 [110/2] via 123.1.1.6, 00:01:30, FastEthernet0/1 7.0.0.0/32 is subnetted, 1 subnets O 7.7.7.7 [110/2] via 47.1.1.1, 00:02:20, FastEthernet0/0 8.0.0.0/32 is subnetted, 1 subnets O IA 8.8.8.8 [110/3] via 123.1.1.5, 00:01:45, FastEthernet0/1 9.0.0.0/32 is subnetted, 1 subnets O IA 9.9.9.9 [110/3] via 123.1.1.6, 00:01:30, FastEthernet0/1 47.0.0.0/24 is subnetted, 1 subnets C 47.1.1.0 is directly connected, FastEthernet0/0 58.0.0.0/24 is subnetted, 1 subnets O IA 58.1.1.0 [110/2] via 123.1.1.5, 00:01:45, FastEthernet0/1 69.0.0.0/24 is subnetted, 1 subnets O IA 69.1.1.0 [110/2] via 123.1.1.6, 00:01:30, FastEthernet0/1 123.0.0.0/24 is subnetted, 1 subnets C 123.1.1.0 is directly connected, FastEthernet0/1
比较之前的路由表,没有少路由条目,说明我们的认证做成功了!
四、扩展配置
1、被动接口 注:特定的路由协议的更新不会从这个接口发送出去r7(config)#router os 100 //r8和r9也得作同样的配置 r7(config-router)#passive-interface loopback 02、加快收敛速度 注:加快收敛速度的链路两端必须一致
r6(config)#int f0/1 r6(config-if)#ip ospf hello-interval 5 r6(config-if)#ip ospf dead-interval 20 //死亡时间默认四倍匹配hello时间
r9(config)#int f0/0 r9(config-if)#ip ospf hello-interval 5 r9(config-if)#ip ospf dead-interval 203、缺省路由
r8(config)#router ospf 100 r8(config-router)#default-information originate强制下放缺省路由
r8(config)#router ospf 100 r8(config-router)#default-information originate always //模拟器不支持这个功能,可以试着换个模拟器试试!
到这里实验就做完了,在我做的过程中出现了一些小失误,需要我们认真检查,注意细节问题。实验作下来,收获很大,认证需要细心点,把区域写正确!最后希望关注的小伙伴抽空多作实验,来强化记忆,并锻炼我们的敲配置手速!