【路由交换实验】OSPF

OSPF实验演示

实验一、单区域OSPF

实验拓扑:

 1、四个路由器连接了七个网络

路由器间的网络192.168.12.0,192.168.23.0,192.168.34.0
各个路由器用环回端口模拟的网络1.1.1.0,2.2.2.0,3.3.3.0,4.4.4.0

2、可以使用display ip int bri查看接口ip配置信息

 【实验步骤】

(0)给四个路由器配好IP地址

[R1]int LoopBack 0
[R1-LoopBack0]ip add 1.1.1.1 24
[R1-LoopBack0]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.12.1 24

[R2]int loopback 0
[R2-LoopBack0]ip add 2.2.2.2 24
[R2-LoopBack0]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.12.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 192.168.23.2 24

[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 192.168.23.3 24
[R3-GigabitEthernet0/0/1]int loopback 0
[R3-LoopBack0]ip add 3.3.3.3 24
[R3-LoopBack0]int g0/0/2
[R3-GigabitEthernet0/0/2]ip add 192.168.34.3 24

[R4]int loopback 0
[R4-LoopBack0]ip add 4.4.4.4 24
[R4-LoopBack0]int g0/0/2
[R4-GigabitEthernet0/0/2]ip add 192.168.34.4 24

(1)步骤1:配置路由器R1

[R1]ospf 1 router-id 1.1.1.1  #用ospf命令开启ospf,1代表进程号,使用router-id手动设置路由器的id
[R1-ospf-1]area 0 # 因为是单区域的ospf,所以都是area0,骨干区域
[R1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255 #使用network来通告网络,R1连的网络有两个,1.1.1.0是华为端口连的网络
[R1-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255  #还有就是R2和R1之间的网络192.168.12.0

技术要点:
1)OSPF路由进程ID范围必须在1~65535之间,而且只有本地含义,不同路由器的路由进程ID可以不同;
2)确定route id遵循如下顺序
      -最优先的是在OSPF进程中使用命令“router-id”指定了路由器ID
      -如果没有在OSPF进程中指定路由器ID,那么选择IP地址最大的环回接口IP地址为router id
      -如果没有换回接口,就选择最大活动的物理接口的IP地址为router id
3)建议使用命令“router-id”来指定路由器id,这样可控性比较好
4)区域ID是在0-4294967295内的十进制数,当网络区域ID为0时为主干区域
5)用network来指定运行OSPF协议的接口,第一个参数是网络地址,第二个参数是反子网掩码,0对应的位表示必须严格匹配,1对应的位无需匹配;

(2)步骤2:同理配置路由器R2

[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255  # R2直连的有三个子网,都将他们通告(宣告)到ospf进程里面去
[R2-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.0 0.0.0.255

(3)步骤3:配置路由器R3

[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]net 192.168.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 192.168.34.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 3.3.3.0 0.0.0.255

(4)步骤4:配置路由器R4

[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]net 192.168.34.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]net 4.4.4.0 0.0.0.255

(5)现在OSPF的命令都已经输完了,我们可以验证

首先return回到用户模式,dis ip routing-table查看路由表

说明我们在R2下已经形成了去七个子网的完整路由,路由已经跑通了,其他路由器也可以去查看路由表,都能找到去7个子网的路由,说明实验成功!我们也可以ping一下(R1去ping最远的R4)


实验二、多区域的OSPF

我们把上面实验中配置的ospf去undo,undo ospf 1

 实验步骤:

(1)配置路由器R1

[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]net 1.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.1]net 192.168.12.0 0.0.0.255

(2)配置路由器R2

[R2]ospf 1 router-id 2.2.2.2 
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]net 2.2.2.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]area 1 
[R2-ospf-1-area-0.0.0.1]net 192.168.12.0 0.0.0.255

(3)配置路由器R3

[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]net 3.3.3.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 192.168.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]area 2
[R3-ospf-1-area-0.0.0.2]net 192.168.34.0 0.0.0.255

 (4)配置路由器R4

[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 2
[R4-ospf-1-area-0.0.0.2]net 192.168.34.0 0.0.0.255

我们不再宣告4.4.4.0这个子网,现在是用这个子网来模拟外网,怎么通外网?采取配置静态路由的方式

[R4]ip route-static 0.0.0.0 0 LoopBack 0 #我们把默认缺省路由的出接口配置成loopback 0,loopback0可以直接通到4.4.4.4

然后重新运行ospf进程

[R4]ospf 1 
[R4-ospf-1]default-route-advertise #将刚刚配置进去的缺省路由发布到ospf域内去

(5)验证

 dis ospf peer bri 查看简洁信息

 查看路由信息:

 

 


实验三、OSPF的多区域路由与外部路由

R1代表运营商 

R4和R2都比较特殊,R2是骨干区域area0和非骨干区域area1连接的路由器,R2叫他ABR(区域边界路由器:至少有一个活动的接口连接到骨干区域),因为你不能说R2属于哪个区域
R4属于一号区域的边界,又是RIP这个边界的开始,R4叫ASBR(自治系统边界路由器,因为它属于两个自治系统rip和ospf)

OSPF的分区域是基于活动端口的,这个活动端口属于哪个区域就在哪个区域里,loopback地址要在骨干区域内

下面开始配置:【实现全网互通】

(1)配置R1接口地址:

[Huawei]sysname R1-CMCC
[R1-CMCC]int loopback 0
[R1-CMCC-LoopBack0]ip add 1.1.1.1 32
[R1-CMCC-LoopBack0]int g0/0/0
[R1-CMCC-GigabitEthernet0/0/0]ip add 10.0.12.1 24
[R1-CMCC]ip route-static 0.0.0.0 0 10.0.12.2

(2)配置R2接口地址

[R2]int loopback 0
[R2-LoopBack0]ip add 2.2.2.2 32
[R2-LoopBack0]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 10.0.12.2 24
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 10.0.23.2 24
[R2-GigabitEthernet0/0/1]int g0/0/2
[R2-GigabitEthernet0/0/2]ip add 10.0.24.2 24

(3)配置R3接口地址

[R3]int LoopBack 0
[R3-LoopBack0]ip add 3.3.3.3 32
[R3-LoopBack0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 10.0.23.3 24

(4)配置R4接口地址

[R4]int loopback 0
[R4-LoopBack0]ip add 4.4.4.4 32
[R4-LoopBack0]int g0/0/2
[R4-GigabitEthernet0/0/2]ip add 10.0.24.4 24
[R4-GigabitEthernet0/0/2]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 10.0.45.4 24

(5)配置R5接口地址

[R5]int loopback 0
[R5-LoopBack0]ip add 5.5.5.5 32
[R5-LoopBack0]int g0/0/0
[R5-GigabitEthernet0/0/0]ip add 10.0.45.5 24

上面把IP地址配置完了,下面配路由:

运营商的静态路由已经配置完成,下面开始宣告OSPF里面的网络
(1)配置R2,宣告OSPF进程

OSPF的区域宣告可以是明细宣告,可以是全网宣告,全网宣告就是0.0.0.0,所有接入R2的网络全部宣告进来,对于这个拓扑图不合适全网宣告,因为R2和R1也相连,如果你用全网宣告的话,把R1那个和运营商相连的也宣告进来了。

宣告area0,它的loopback地址需要在里面,骨干区域嘛,因为它是一个ABR

[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0  #精确宣告,就宣告这一个地址
[R2-ospf-1-area-0.0.0.0]net 10.0.23.2 0.0.0.0 

[R2]ospf 1 r    
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]net 10.0.24.2 0.0.0.0

(2) 配置R3,启用ospf进程

[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 10.0.23.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0 #最好使用精确宣告,不要使用全网宣告(因为我将来这个网络需要扩容,如果采用全网宣告,那么我随意一个路由器接入,运行OSPF进程,我采用八个0的配置,它都会互相学习彼此的路由,这是很危险的)

现在R2和R3的邻居关系形成了,到了Full的状态

 (3)配置R4,启用ospf进程

[R4]ospf 1 r 4.4.4.4 
[R4-ospf-1]area 1
[R4-ospf-1-area-0.0.0.1]net 10.0.24.4 0.0.0.0

那么这个loopback地址是宣告在rip还是宣告在ospf当中呢?
loopback地址宣告在高级别的(优先级高的)路由协议中去,显然宣告在ospf里面

[R4-ospf-1-area-0.0.0.1]net 4.4.4.4 0.0.0.0

配置rip

现在只有R4和R5两个路由器才和RIP有关系

[R4]rip 1
[R4-rip-1]version 2 
[R4-rip-1]net 10.0.0.0 # RIP是要宣告主类网络的!

[R5]rip 1
[R5-rip-1]v 2
[R5-rip-1]net 5.0.0.0
[R5-rip-1]net 10.0.0.0

试想一个问题,对于R4来将,因为RIP协议是不会区分端口的,因为在R4的G0/0/2它其实连接了OSPF的area1,它也会在G0/0/2这个端口上收发RIP报文,但是没有意义。所以为了减少网络流量,(因为这个接口去接收RIP报文的时候会占用网络流量),可以禁用rip的端口收发功能,你不去禁用它也没有什么影响,但是它G0/0/2抓包的话,会有RIP的包。它在实际问题中会有这个问题,我们能少占用一点带宽就少占用一点。

[R4]int g0/0/2
[R4-GigabitEthernet0/0/2]undo rip input
[R4-GigabitEthernet0/0/2]undo rip output #不让rip进来,也不让rip出去

上面已经配置完成所有的路由,那么我们看一下路由表学到了什么

 在R2上能看到R3和R4,在R4上能看见R5,在R3上并不能看见R5


原因就是OSPF里没有发现RIP,RIP里面也没有发现OSPF,彼此并不认识,这就是接下来的外部路由的引入

 

 发现在R4上直接去ping 5.5.5.5是通的,用4.4.4.4的源地址再去ping 5.5.5.5是不通,原因在于4.4.4.4我宣告在了ospf的area1内,rip看不见,这就是最有利的一个证明

证明让他通呢?在ospf 1这个进程里面要引入rip

[R4]ospf 1
[R4-ospf-1]import-route rip 1

现在R2可以通过OSPF,看到引入的RIP,也就是间接的能看到了R5,但是R5现在还看不到R2,因为我们在RIP当中并没有引入OSPF

[R4]rip 1
[R4-rip-1]import-route ospf 1

这两个是要互相引入的!这回再看一下R2的路由表

 现在用R4可以ping 通了

R3能ping 通R1吗?不能

R2上能到R1吗?能,因为有静态路由,直连

R3、R4、R5都到不了R1,因为你在R3和R4的路由表里面都看不到R1的路由

我们现在需要使用ospf下发这个默认路由,下发到运行ospf协议的每一台路由器上去,也需要用RIP路由下发到所有运行RIP协议的路由器上去(把默认路由下发,不单独配置静态路由,太多了)

怎么做呢?
这个工作都是在顶端路由上去做的,OSPF的顶端就是R2,RIP的顶端就是R4,在这个两个顶端分别去做下发静态路由

[R2-ospf-1]default-route-advertise always  #总是宣告默认路由

下面查看R4的路由表

现在用R3去ping 1.1.1.1就可以通

 

 但是RIP这边还没配

R4]rip 1 
[R4-rip-1]default-route originate #表示从rip的顶端开始下发

现在就全网互通了!

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值