来源:网络技术联盟站
今天给大家带来实验实战部分,一共介绍三家厂商的例子:
华为
思科
瞻博网络
华三的例子可以参考华为,锐捷的例子可以参考思科。
建议先收藏本文哦,防止看完手滑后找不到了。
让我们直接开始!
OSPF 简单介绍
OSPF(Open Shortest Path First开放式最短路径优先)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。目前针对IPv4协议使用的是OSPF Version 2(RFC2328)。
OSPF具有适应范围广、收敛快、无自环、区域划分、等价路由、支持验证、组播发送等特点。由于OSPF具有以上优势,使得OSPF作为目前主流的IGP协议被广泛应用于各个行业,例如企业、运营商、政府、金融、教育、医疗等。
OSPF采用分层设计的结构,并且具有丰富的路由策略控制功能,能够适用于各种不同规模、不同组网结构的应用场景。因此在部署IGP协议的时候,OSPF经常是用户的首选方案。
OSPF配置注意事项
每个OSPF进程的Router ID要保证在OSPF网络中唯一,否则会导致邻居不能正常建立、路由信息不正确的问题。建议在OSPF设备上单独为每个OSPF进程配置全网唯一的Router ID。
OSPF协议将自治系统划分成不同的区域(Area),其中区域号(Area ID)是0的称为骨干区域。OSPF要求所有非骨干区域必须与骨干区域保持连通,并且骨干区域的设备之间也要保持连通。
一般情况下,链路两端的OSPF接口的网络类型必须一致,否则双方不可以建立起邻居关系。但是,当链路两端的OSPF接口的网络类型一端是广播网而另一端是P2P时,双方仍可以正常的建立起邻居关系,但互相学不到路由信息。
一般情况下,链路两端的OSPF接口的IP地址的掩码必须一致,否则双方不能正常建立OSPF邻居关系。
对于广播和NBMA类型网络,链路中至少要有一个OSPF接口的DR优先级不为0,这样才能正常选举出DR。否则两边的邻居状态只能达到2-Way。
华为OSPF实验
组网需求
如图所示,网络中有三台交换机。现在需要实现三台交换机之间能够互通,且以后能依据SwitchA和SwitchB为主要的业务设备来继续扩展整个网络。
![0c9e2ebff8ede32a6f9dfa243b4bdc09.png](https://i-blog.csdnimg.cn/blog_migrate/56b18b8a82ee0cf7bdc46ec9ae44f6d3.png)
配置思路
采用如下的思路配置OSPF基本功能:
在各交换机的VLANIF接口上配置IP地址并配置各接口所属VLAN,实现网段内的互通。
在各交换机上配置OSPF基本功能,并且以SwitchA为ABR将OSPF网络划分为Area0和Area1两个区域,实现后续以SwitchA和SwitchB所在区域为骨干区域来扩展整个OSPF网络。
操作步骤
配置各接口所属的VLAN
配置SwitchA。SwitchB和SwitchC的配置与SwitchA类似。
<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 10 20
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] port link-type trunk
[SwitchA-GigabitEthernet1/0/1] port trunk allow-pass vlan 10
[SwitchA-GigabitEthernet1/0/1] quit
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] port link-type trunk
[SwitchA-GigabitEthernet1/0/2] port trunk allow-pass vlan 20
[SwitchA-GigabitEthernet1/0/2] quit
配置各VLANIF接口的IP地址
配置SwitchA。SwitchB和SwitchC的配置与SwitchA类似。
[SwitchA] interface vlanif 10
[SwitchA-Vlanif10] ip address 192.168.0.1 24
[SwitchA-Vlanif10] quit
[SwitchA] interface vlanif 20
[SwitchA-Vlanif20] ip address 192.168.1.1 24
[SwitchA-Vlanif20] quit
配置OSPF基本功能
配置SwitchA。
[SwitchA] ospf 1 router-id 10.1.1.1 //创建进程号为1,Router ID为10.1.1.1的OSPF进程
[SwitchA-ospf-1] area 0 //创建area 0区域并进入area 0视图
[SwitchA-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.0.255 //配置area 0所包含的网段
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1] area 1 //创建area 1区域并进入area 1视图
[SwitchA-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255 //配置area 1所包含的网段
[SwitchA-ospf-1-area-0.0.0.1] return
配置SwitchB。
[SwitchB] ospf 1 router-id 10.2.2.2
[SwitchB-ospf-1] area 0
[SwitchB-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] return
配置SwitchC。
[SwitchC] ospf 1 router-id 10.3.3.3
[SwitchC-ospf-1] area 1
[SwitchC-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255
[SwitchC-ospf-1-area-0.0.0.1] return
验证配置结果
查看SwitchA的OSPF邻居。
<SwitchA> display ospf peer
OSPF Process 1 with Router ID 10.1.1.1
Neighbors
Area 0.0.0.0 interface 192.168.0.1(Vlanif10)'s neighbors
Router ID: 10.2.2.2 Address: 192.168.0.2
State: Full Mode:Nbr is Master Priority: 1
DR: 192.168.0.2 BDR: 192.168.0.1 MTU: 0
Dead timer due in 36 sec
Retrans timer interval: 5
Neighbor is up for 00:15:04
Authentication Sequence: [ 0 ]
Neighbors
Area 0.0.0.1 interface 192.168.1.1(Vlanif20)'s neighbors
Router ID: 10.3.3.3 Address: 192.168.1.2
State: Full Mode:Nbr is Master Priority: 1
DR: 192.168.1.2 BDR: 192.168.1.1 MTU: 0
Dead timer due in 39 sec
Retrans timer interval: 5
Neighbor is up for 00:07:32
Authentication Sequence: [ 0 ]
查看SwitchC的OSPF路由信息。
<SwitchC> display ospf routing
OSPF Process 1 with Router ID 10.3.3.3
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
192.168.1.0/24 1 Transit 192.168.1.2 10.3.3.3 0.0.0.1
192.168.0.0/24 2 Inter-area 192.168.1.1 10.1.1.1 0.0.0.1
Total Nets: 2
Intra Area: 1 Inter Area: 1 ASE: 0 NSSA: 0
由以上回显可以看出,SwitchC有到192.168.0.0/24网段的路由,且此路由被标识为区域间路由。
查看SwitchB的路由表,并使用Ping测试SwitchB和SwitchC的连通性。
<SwitchB> display ospf routing
OSPF Process 1 with Router ID 10.2.2.2
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
192.168.0.0/24 1 Transit 192.168.0.2 10.2.2.2 0.0.0.0
192.168.1.0/24 2 Inter-area 192.168.0.1 10.1.1.1 0.0.0.0
Total Nets: 2
Intra Area: 1 Inter Area: 1 ASE: 0 NSSA: 0
由以上回显可以看出,SwitchB有到192.168.1.0/24网段的路由,且此路由被标识为区域间路由。
在SwitchB上使用Ping测试SwitchB和SwitchC之间的连通性。
<SwitchB> ping 192.168.1.2
PING 192.168.1.2: 56 data bytes, press CTRL_C to break
Reply from 192.168.1.2: bytes=56 Sequence=1 ttl=254 time=62 ms
Reply from 192.168.1.2: bytes=56 Sequence=2 ttl=254 time=16 ms
Reply from 192.168.1.2: bytes=56 Sequence=3 ttl=254 time=62 ms
Reply from 192.168.1.2: bytes=56 Sequence=4 ttl=254 time=94 ms
Reply from 192.168.1.2: bytes=56 Sequence=5 ttl=254 time=63 ms
--- 192.168.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 16/59/94 ms
配置文件
SwitchA的配置文件
#
sysname SwitchA
#
vlan batch 10 20
#
interface Vlanif10
ip address 192.168.0.1 255.255.255.0
#
interface Vlanif20
ip address 192.168.1.1 255.255.255.0
#
interface GigabitEthernet1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface GigabitEthernet1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
ospf 1 router-id 10.1.1.1
area 0.0.0.0
network 192.168.0.0 0.0.0.255
area 0.0.0.1
network 192.168.1.0 0.0.0.255
#
return
SwitchB的配置文件
#
sysname SwitchB
#
vlan batch 10
#
interface Vlanif10
ip address 192.168.0.2 255.255.255.0
#
interface GigabitEthernet1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
ospf 1 router-id 10.2.2.2
area 0.0.0.0
network 192.168.0.0 0.0.0.255
#
return
SwitchC的配置文件
#
sysname SwitchC
#
vlan batch 20
#
interface Vlanif20
ip address 192.168.1.2 255.255.255.0
#
interface GigabitEthernet1/0/1
port link-type trunk
port trunk allow-pass vlan 20
#
ospf 1 router-id 10.3.3.3
area 0.0.0.1
network 192.168.1.0 0.0.0.255
#
return
思科 OSPF 实验
实验拓扑
![3fc55008f5757a7eed09c4977b02b3d7.png](https://i-blog.csdnimg.cn/blog_migrate/d99b7256821939954a93eb0c0afc1bcc.png)
基本配置
R1(config)#interface fastEthernet 0/0
R1(config-if)#ip address 172.16.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config)#interface s2/0
R1(config-if)#ip add 192.168.1.5 255.255.255.252
R1(config-if)#clock rate 64000
R1(config-if)#no shutdown
R2(config)#interface s3/0
R2(config-if)#ip add 192.168.1.6 255.255.255.252
R2(config-if)#no shutdown
R2(config)#interface fa1/0
R2(config-if)#ip add 10.10.10.1 255.255.255.0
R2(config-if)#no shutdown
OSPF协议配置
R1(config)#router ospf 1
启动ospf进程,进程ID为1(进程ID取值范围是1-65535中的一个整数),此进程号只是本地的一个标识,具有本地意义,与同一个区域中的OSPF路由器进程号没有关系,进程号不同不影响邻接关系的建立。
R1(config-router)#network 172.16.1.0 0.0.0.255 area 0
宣告网络,即定义参与OSPF进程的接口或网络,并指定其运行的区域(区域0为骨干区域),通配符掩码用来控制要宣告的范围,任何在此地址范围内的接口都运行OSPF协议,发送和接收OSPF报文,0表示精确匹配,将检查匹配地址中对应位,1表示任意匹配,不检查匹配地址中对应位。
R1(config-router)#network 192.168.1.4 0.0.0.3 area 0
R2(config)#router ospf 1
R2(config-router)#network 192.168.1.4 0.0.0.3 area 0
R2(config-router)#network 10.10.10.0 0.0.0.255 area 0
注意事项:
在广域网口DCE端要配置时钟速率;
ospf进程建议相同的进程号,利于网络规划管理;
声明网段后,掩码用反掩码。
查看路由信息
R1#show ip route 查看路由表
R1#show ip protocols 查看已配置并运行的路由协议
R1#show ip ospf neighbor 查看邻居表
R1#show ip ospf neighbor detail 显示邻居路由器的详细信息
R1#show ip ospf database 查看拓扑表,即链路状态数据库
R1#show ip ospf interface 查看所有运行OSPF的接口信息
R1#show ip ospf interface s2/0 查看s2/0接口的OSPF信息
R1#show interfaces s2/0 查看路由器的接口信息
查看Router ID号
R1# show ip protocols
R1#show ip ospf 1
R2#show ip ospf neighbor
更改接口相关信息
(1)下面更改接口带宽以影响链路Cost
R1(config)#interface s2/0
R1(config-if)#bandwidth 64
查看更改结果
R1#show interfaces s2/0 查看带宽值
R1#show ip ospf interface s2/0 查看开销值
R1#show ip route ospf 查看路由表,看度量值的变化
(2)下面直接更改接口相关Cost
R1(config)#interface s2/0
R1(config-if)#ip ospf cost 200
查看更改结果
R1#show ip ospf interface s2/0 查看开销值
R1#show ip route ospf 查看路由表,看度量值的变化
R1#show interfaces s2/0 查看带宽值有无变化
监测和调试OSPF
R1#debug ip ospf events 监测OSPF事件
R1#undebug all 关闭
R1#debug ip ospf packet 监测OSPF包的传输 (PT模拟器没有该命令)
瞻博网络 OSPF 实验
实验拓扑
![df645b4288309ccbda1ced3540fff6fc.png](https://i-blog.csdnimg.cn/blog_migrate/b7900c3010425bb2408e185356a488a0.png)
实验配置
首先,为所有设备配置 IP 地址。
R1:
set interfaces ge-0/0/0 unit 0 family inet address 1.1.1.1/30
set interfaces ge-0/0/1 unit 0 family inet address 10.1.1.1/2
4
R2:
set interfaces ge-0/0/0 unit 0 family inet address 1.1.1.2/30
set interfaces ge-0/0/2 unit 0 family inet address 2.2.2.1/30
R3:
set interfaces ge-0/0/2 unit 0 family inet address 2.2.2.2/30
set interfaces ge-0/0/3 unit 0 family inet address 172.16.0.1/30
PC:
PC-A: 10.1.1.10/24
PC-B: 172.16.0.10/24
然后将通过启用它转到 OSPF 配置,要在 JunOS 中启用 OSPF,需要定义它将运行的接口以及接口将附加到的区域。
R1:
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0
在这里,我们在接口 ge-0/0/0.0 和路由器 R1 的接口 ge-0/0/1.0 上配置了 OSPF 区域 0 (0.0.0.0)。现在对其他两个路由器做同样的事情。
R2:
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
set protocols ospf area 0.0.0.0 interface ge-0/0/2.0
R3:
set protocols ospf area 0.0.0.0 interface ge-0/0/2.0
set protocols ospf area 0.0.0.0 interface ge-0/0/3.0
验证 OSPF
要在 Juniper 上验证 OSPF,我们需要使用show ospf neighbor
命令,该命令将显示当前与其他路由器的 OSPF 邻居关系。
root@R1> show ospf neighbor
Address Interface State ID Pri Dead
1.1.1.2 ge-0/0/0.0 Full 1.1.1.2 128 39
我们可以从 R1 的上述输出中看到,其中 OSPF 邻居关系是使用处于完整状态(活动)的 ge-0/0/0.0 接口建立的。
如果我们想检查 OSPF 数据库中现在有哪些接口,那么我们需要使用show ospf interface
命令。
下面是路由器 R1 的输出。
root@R1> show ospf interface
Interface State Area DR ID BDR ID Nbrs
ge-0/0/0.0 DR 0.0.0.0 1.1.1.1 1.1.1.2 1
ge-0/0/1.0 DR 0.0.0.0 1.1.1.1 0.0.0.0 0
现在,让我们检查路由表。
root@R1> show route
inet.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
1.1.1.0/30 *[Direct/0] 01:35:01
> via ge-0/0/0.0
1.1.1.1/32 *[Local/0] 01:35:01
Local via ge-0/0/0.0
2.2.2.0/30 *[OSPF/10] 00:09:23, metric 2
> to 1.1.1.2 via ge-0/0/0.0
10.1.1.0/24 *[Direct/0] 01:35:01
> via ge-0/0/1.0
10.1.1.1/32 *[Local/0] 01:35:01
Local via ge-0/0/1.0
172.16.0.0/24 *[OSPF/10] 00:09:22, metric 3
> to 1.1.1.2 via ge-0/0/0.0
224.0.0.5/32 *[OSPF/10] 00:51:38, metric 1
MultiRecv
路由表清楚地显示,我们使用 OSPF 协议通过 R2 接收来自 R3 的路由以及我们的路由。
最后,我们将通过从 PC-A ping 到 PC-B 来验证它。
PC-A:\>ping 172.16.0.10
Pinging 172.16.0.10 with 32 bytes of data:
Reply from 172.16.0.10: bytes=32 time=4ms TTL=64
Reply from 172.16.0.10: bytes=32 time=3ms TTL=64
Reply from 172.16.0.10: bytes=32 time=1ms TTL=64
Reply from 172.16.0.10: bytes=32 time=6ms TTL=64
Ping statistics for 172.16.0.10:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 6ms, Average = 3ms
总结
本文介绍了华为、思科、瞻博网络三家厂商的 OSPF 实验配置,大家可以收藏备用哦。
10T 技术资源大放送!包括但不限于:Linux、虚拟化、容器、云计算、网络、Python、Go 等。在 开源Linux 公众号内回复 10T,即可免费获取!
Linux学习指南
有收获,点个在看