OSPF综合实验
该综合实验主要涉及
- MGRE环境下的OSPF搭建
- ospf特殊区域—LSA优化
- LSA分类
实验要求
- R4为ISP,其上只能配置IP地址,R4与其他所有直连设备间均使用公有IP
- R3.R5.R6.R7为MGRE环境,R3为中心站点
- 整个OSPF环境基于172.16.0.0/16进行划分
- 所有设备均可访问R4环回
- 减少LSA更新量,加快收敛,保障更新安全
- 全网可达
IP地址规划
OSPF
172.16.0.0/17
Area0
172.16.0.0/20
172.16.0.0/25
172.16.0.128/25
MA:172.16.0.128/29
环回:
R5环回:172.16.1.0/25
R4环回:172.16.1.128/25
R6环回:172.16.2.0/25
R7环回172.16.2.128/25
Area1
172.16.32.0/20
172.16.32.0/25
172.16.32.128/25
MA:172.16.32.128/29
环回:
R1环回:172.16.33.0/25
R2环回:172.16.33.128/25
R3环回:172.16.34.0/25
Area2
172.16.48.0/20
172.16.48.0/25
P2P:172.16.48.0/30
172.16.48.128/25
MA:172.16.48.128/29
R11环回:172.16.49.0/25
Area3
172.16.64.0/20
172.16.64.0/25
P2P:172.16.64.0/30
172.16.64.128/25
MA:172.16.64.128/29
R8环回:172.16.65.0/25
Area4
172.16.80.0/20
172.16.80.0/25
P2P:172.16.80.0/30
172.16.80.128/25
MA:172.16.80.128/29
环回:
R9环回:172.16.81.0/25
R10环回:172.16.81.128.0/25
RIP
172.16.128.0/17
172.16.128.0/29
R12环回:
172.16.129.0/25
172.16.129.128/25
公网环境搭建
配置完公网IP后,在[R4]上ping公网的直连IP测试,以便后续排查错误
在[R3,R5,R6,R7]上配置缺省指向公网
在[R3]上进行测试
公网环境搭建完成
[R4]仅配置公网IP和环回地址
MGRE环境搭建
要求:[R3]为中心站点
MGRE环境测试
MGRE环境下运行OSPF注意事项
- MGRE接口默认工作方式为P2P,
仅建立一个邻居,另外两个将卡在Init状态
,因此需要修改接口工作方式(处于MGRE环境下的所有接口工作方式均需修改)
ospf network-type broadcast
- 这里我们将工作方式改为
broadcast
,由于该拓扑要求是星型结构拓扑,并且接口工作方式为broadcast
因此我们需要关注DR的位置。
- 该拓扑结构下仅修改接口工作方式为
broadcast
,[R3],[R5],[R6],[R7],DR竞选结果可能存在偏差,正常情况下[R3,R5,R6,R7]处于同一网段应当仅有一个DR一个BRD,而现在R5,R6,R7,均为DR,使R3不能正常转发数据
-
原因,由于是星型拓扑,因此在R5,R6,R7视角下均只有自己和R3,没有其它设备,只需要和R3竞选DR,而R3需要同时和R5,R6,R7竞选
-
解决方法,修改R5,R6,R7,接口优先级为0,使其放弃竞选——保证中心站点[R3]为DR
ospf dr-priority 0
- OSPF建邻需要广播,而隧道是点对点的,无法使用组播地址当作目的地址,因此需要开启伪广播功能
nhrp entry multicast dynamic #开启伪广播,基于动态MAP,解析多播流量的下一跳(多播动态注册功能)
nhrp entry 172.16.0.129 43.0.0.2 register #配置一个具体的 NHRP 条目,告诉路由器在隧道中将目的地址为 172.16.0.129 的流量发送到下一跳地址为 43.0.0.2 的设备上,并让边缘节点向中心节点注册(将该条目注册到NHRP服务器)建立到达中心节点的动态映射,以便其他路由器可以动态地解析这个地址
MGRE相关最终配置
[R3]配置
interface Tunnel0/0/0
ip address 172.16.0.129 255.255.255.248
tunnel-protocol gre p2mp
source 43.0.0.2
ospf network-type broadcast
nhrp entry multicast dynamic
[R5]配置
interface Tunnel0/0/0
ip address 172.16.0.130 255.255.255.248
tunnel-protocol gre p2mp
source GigabitEthernet0/0/0
ospf network-type broadcast
ospf dr-priority 0
nhrp entry 172.16.0.129 43.0.0.2 register
[R6]配置
interface Tunnel0/0/0
ip address 172.16.0.131 255.255.255.248
tunnel-protocol gre p2mp
source GigabitEthernet0/0/2
ospf network-type broadcast
ospf dr-priority 0
nhrp entry 172.16.0.129 43.0.0.2 register
[R7]配置
interface Tunnel0/0/0
ip address 172.16.0.132 255.255.255.248
tunnel-protocol gre p2mp
source GigabitEthernet0/0/1
ospf network-type broadcast
ospf dr-priority 0
nhrp entry 172.16.0.129 43.0.0.2 register
在MGRE环境下,需注意完成上述配置,才能正常运行OSPF
MGRE环境下OSPF正常运行结果展示
域外RIP宣告
由于RIP只能宣告主类,因此会将[R12]处于OSPF域内的接口一起进行宣告
运行OSPF
由于Area4属于远离骨干的不规则区域,非骨干区域之间不允许直接相互发布区域间路由信息,因此[R9]不能将Area4的路由信息向上传递
RIP区域属于域外区域,正常情况下,也无法向OSPF域内传递
解决方法:使用重发布功能,开启一个新的OSPF进程,将Area4做成域外区域,将其重发布进当前OSPF域
引入RIP区域内的路由信息
以[R5]为例,引入前的OSPF路由表
[r12]ospf 1
[r12-ospf-1]import-route rip
引入后增加2条域外(上面说RIP宣告时宣告了[R12]的三个接口,但这里仅显示两条域外,下文解释)
在[R9]上开启一个新的OSPF进程,并将Area4宣告于新的OSPF进程中
[r9]ospf 1
[r9-ospf-1]import-route ospf 2
引入Area4后的[R5]路由表
将其它路由信息引入Area4
引入前
[r9]ospf 2
[r9-ospf-2]import-route ospf 1
引入后
优化前,私网全通
LSA优化
随着设备和路由信息的增加,为了减轻设备运行和维护成分,通常会进行LSA优化,以减少路由条目
手工汇总优化Area0
在每台ABR或ASBR上,进入相应区域配置
abr-summary (汇总的网段)
asbr-summary (汇总的网段)
手工优化主要针对Area0,汇总优化完成后,Area0仅存在一条到达各区域的路由信息
欸欸欸,这里怎么会存在两条去往172.16.48.0的路由信息,放心不是配置错误,一条是我们上面说过的RIP所宣告的域外路由,为什么会现在显示出来,我们下文解释
总之,汇总完后Area0区域的设备的路由信息得到了极大精简,但这仅仅是针对Area0的
特殊区域,优化非骨干LSA
完全末梢区域—Totally Stub Area 优化Area1
[r1]ospf 1 #进入ospf进程
[r1-ospf-1]area 1 #进入对应区域
[r1-ospf-1-area-0.0.0.1]stub #做成stub区域,拒绝4,5类LSA
[R2]同理
由于,[R3]是ABR,因此需要在末梢区域的基础上,设置为完全末梢区域,进一步优化3类LSA
[r3]ospf 1 #进入ospf进程
[r3-ospf-1]area 1 #进入对应区域
[r3-ospf-1-area-0.0.0.1]stub no-summary #做成完全末梢区域,拒绝3,4,5类LSA
Area1优化完成
完全非完全末梢区域—Totally NSSA Area 优化Area2,Area3
Area2优化
[r6]ospf 1 #进入ospf进程
[r6-ospf-1]area 2 #进入对应区域
[r6-ospf-1-area-0.0.0.2]nssa no-summary #做成完全非完全末梢区域,拒绝来自其它区域的3,4,5类LSA,并使用七类LSA的形式将域外路由信息传入OSPF网络
[r11]ospf
[r11-ospf-1]area 2
[r11-ospf-1-area-0.0.0.2]nssa
[r12]ospf
[r12-ospf-1]area 2
[r12-ospf-1-area-0.0.0.2]nssa
这里会额外产生一条7类的缺省信息
Area3同理
优化Area4
优化Area3后我们会发现[R10]上的路由信息会缺失
- 原因:[R10]关于其它区域的路由信息,是由[R9]重发布进来的,但是Area3优化后,[R9]本身不在学习其它区域的信息,而[R9]所学习到的缺省信息无法进行重发布
- 优化方案:删除[R9]上将OSPF 1引入OSPF 2的命令,仅保留单向重发布,并向[R10]发布一条动态缺省,使[R10]不在学习其它路由,仅通过缺省上传数据,达到优化Area4的目的
[r9-ospf-2]default-route-advertise
Area4优化结果
优化后配置NULL 0防环
以[R3]为例,所有ABR、ASBR均需配置
[R3]ip route-static 172.16.32.0 255.255.240.0 NULL0
全网可达—NAT转换
[r3]acl 2000
[r3-acl-basic-2000]rule permit source 172.16.0.0 0.0.255.255
[r3]interface g0/0/0
[r3-GigabitEthernet0/0/0]nat outbound 2000
[R6、R7]同理
全网可达测试
扩展内容
注:以下内容涉及LSA分类
额外的域外路由信息:
- 我们上述中提到,由于RIP只能进行主类宣告,会将[R12]上处于OSPF域内的一个接口一起宣告
- 为什么在优化前,只能看到两条仅属于RIP区域的路由信息
- 进行手工汇总优化Area0后,为什么会出现额外的域外信息
- 为什么在使用特殊区域优化Area2后,额外的信息会消失
- 汇总优化前,[R6]可以通过1,2类LSA,计算所得[R12]所处OSPF域内的接口的具体路由信息,因此对于[R12]重发布的来自RIP宣告的相关路由信息,只接收,不采用,因此,只能查看到2条域外路由
- 汇总后,只有汇总信息,没有到达上述位置的具体信息,因此采用,来自RIP宣告的信息,所以汇总后,能看到原来被忽略的域外路由信息
- 使用NSSA特殊区域后,拒绝学习来自其它区域的4,5,类路由信息,又需要将自己身后的域外信息导入,通过7类LSA的形式将域外信息导入OSPF域,在 NSSA域内传播,7类LSA在离开NSSA区域后,需要转换为5类LSA在OSPF网络中传播
- 而[R6]通过计算发现,自己有到达[R12]g0/0/1接口的具体路由信息,拒绝将重发布进来的7类转成5类,因此,特殊区域优化Area2后,无法查看到去往[R12]g0/0/1接口的域外路由信息
关于特殊区域优化后产生的7类缺省
在Totally NSSA区域中,会看到两条描述缺省路由的LSA,一条七类,一条三类。这两条LSA共存
在NSSA区域中,对于第一台发布七类缺省路由的设备而言,会认为自己身上已经存在一条去往外部区域的路由信息,并且本地作为通告者,那么当它收到其他设备发送来的七类缺省LSA时,对该LSA仅接收不使用,防止出现环路。
华为通告该逻辑——实现防环机制保留了NSSA区域由ABR产生的七类LSA缺省路由