配置OSPF路由协议,核心就三步:创建OSPF进程、规划区域并宣告网段、验证邻居关系。无论你是给公司核心交换机做互联,还是搭一个测试环境,抓住这三步,OSPF就能跑得稳,下文以华为VRP系统为例,给你一套可以直接抄的ospf配置步骤。
OSPF配置命令详解
华为设备基础配置流程
进入系统视图后,配置一个OSPF进程只需要几行命令,以一台新路由器为例,先给接口配IP,再配置OSPF:
- 配置接口IP:
system-view,进入接口interface GigabitEthernet0/0/0,设置ip address 10.0.0.1 255.255.255.0 - 创建OSPF进程:
ospf 1,其中1是进程号,只在本地生效 - 手动设置Router-ID:
router-id 1.1.1.1,避免自动选择导致不稳定 - 进入骨干区域:
area 0 - 宣告网段:
network 10.0.0.0 0.0.0.255,反掩码让该接口加入OSPF
完整配置连起来就是:
system-view interface GigabitEthernet0/0/0 ip address 10.0.1.1 255.255.255.0 quit interface GigabitEthernet0/0/1 ip address 10.0.0.1 255.255.255.0 quit ospf 1 router-id 1.1.1.1 area 0 network 10.0.1.0 0.0.0.255 network 10.0.0.0 0.0.0.255
这里有个容易踩坑的点:network命令中的反掩码,很多人会写成255.255.0,但在OSPF里必须用反掩码,反掩码就是子网掩码按位取反,所以24位掩码对应0.0.255,如果宣告错了,邻接关系会一直起不来。
关键参数怎么选
- 进程号:华为设备上进程号范围是1到65535,本地有效,不会影响邻居协商,但为了排查方便,全网统一用同一个进程号是行业共识。
- Router-ID:建议手动指定,用接口IP或单独loopback地址都行,如果不配,设备会从接口IP中自动挑一个,重启后可能变化,导致邻居震荡。
- Hello计时器:默认10秒,死亡时间40秒,如果要改,必须保证邻居之间的值一致,否则邻居关系卡在Init状态。

验证命令
配置完成不是终点,必须验证邻居和路由表,常用的三条命令:
display ospf peer brief:查看邻居状态,看到Full就说明邻接建立成功display ospf routing:查看OSPF路由表,确认学到的路由条目display ospf interface:查看接口的OSPF参数,比如区域ID、Cost值、Hello间隔
如果邻居状态是ExStart或Exchange,说明参数不匹配,需要检查MTU和认证。
OSPF多区域配置实例
为什么要分区域
单区域OSPF在网络规模小的时候没问题,但一旦路由器数量超过几十台,LSDB就会异常庞大,CPU和内存压力直线上升,业内专家指出,多区域设计能有效限制LSA泛洪范围,把故障隔离在区域内,这也是OSPF比RIP更适合大型网络的原因之一。
配置一个二区域例子
假设你有两台路由器,R1和R2,R1连接内网网段0.0.0/24,R2连接168.10.0/24,两者之间通过0.1.0/24互联,为了让不同区域的路由互相可达,R2必须成为ABR(区域边界路由器)。
R1配置:
system-view interface GigabitEthernet0/0/0 ip address 10.0.1.1 255.255.255.0 quit interface GigabitEthernet0/0/1 ip address 10.0.0.1 255.255.255.0 quit ospf 1 router-id 1.1.1.1 area 0 network 10.0.1.0 0.0.0.255 network 10.0.0.0 0.0.0.255
R2配置:
system-view interface GigabitEthernet0/0/0 ip address 10.0.1.2 255.255.255.0 quit interface GigabitEthernet0/0/1 ip address 192.168.10.1 255.255.255.0 quit ospf 1 router-id 2.2.2.2 area 0 network 10.0.1.0 0.0.0.255 area 1 network 192.168.10.0 0.0.0.255
关键点在于R2上进入了两个区域,它在area 0里宣告互联网段,在area 1里宣告业务网段,配置完成后,在R1上用

display ip routing-table应该能看到168.10.0/24的路由。
区域优化技巧
- 如果某个区域只有一台路由器连着骨干,把它配置成Stub区域,可以过滤外部LSA,减少内存占用。
- 所有非骨干区域必须直接连接骨干区域,如果无法物理连接,需要配置虚链路来打通,但这只是补救措施,不建议长期使用。
- 多区域配置中,默认的Cost值和带宽参考值要统一,否则会出现次优路径,参考带宽默认是100Mbps,你用千兆链路时记得调整。
OSPF配置常见问题排查
邻居起不来
大多数情况下,OSPF问题都出在邻居状态上,根据邻居关系卡在哪个状态,可以快速定位:
- 卡在Init:可能收到了Hello报文,但自己的IP不在对方的宣告中,或者区域ID不匹配
- 卡在2-Way:广播网络中正常现象,但如果没有更高优先级的路由器,需要等DR/BDR选举完成
- 卡在ExStart:多半是MTU不匹配,或者Router-ID冲突
- 卡在Loading:可能是LSA校验失败,常见于认证配置不一致
路由表学到但不通
OSPF路由表有路由,但数据不通,先查接口是否都加入了OSPF,用display ospf interface看每个接口是不是都显示启用了OSPF,有时候网段宣告对了,但接口被设成了silent-interface,不发送Hello,邻居自然就断了。
认证配置错误
OSPF支持区域认证和接口认证,如果一边配了一边没配,邻居关系会卡在Down,排查时用display ospf error看认证错误计数,能快速缩小范围。
OSPF和静态路由对比:怎么选
很多人常问,到底用OSPF还是静态路由,这里直接给你一张对比表:
| 对比维度 | OSPF | 静态路由 |
|---|---|---|
| 适用规模 | 中大型网络、多区域 | 小型网络、单链路 |
| 收敛速度 | 秒级收敛,自动更新 | 需人工调整,慢且易错 |
| 配置复杂度 | 需要规划区域,命令较多 | 简单直接 |
| 资源占用 | 消耗CPU和内存 | 几乎不消耗 |
| 故障自愈 | 支持,链路断了自动切换 | 不支持,需要手动或依赖其他技术 |
行业共识认为,只要网络中有超过三台路由器,或者存在冗余路径,就值得用OSPF,静态路由更适合家庭网关、分支办公室出口这类拓扑固定的场景。关键判断标准是:网络拓扑会不会经常变,以及断网后你能接受的恢复时间。
Q&A:OSPF配置常见疑难
问:OSPF配置中,进程号必须和邻居一样吗?
不需要,进程号只在本地有效,两台路由器即使一个用ospf 1一个用ospf 2,只要区域ID、网段宣告、认证参数匹配,就能正常建立邻居,但为了降低运维复杂度,同一个网络中建议使用一致的进程号。
问:OSPF多区域配置时,所有区域都必须连接骨干区域吗?
是的,OSPF规定非骨干区域必须与骨干区域(Area 0)直接相连,否则跨区域路由无法正常通告,如果物理线路无法满足,可以用虚链路临时绕过,但虚链路会引入额外风险,生产环境尽量避免。
问:华为OSPF配置中,怎么快速判断配置是否正确?
最简单的方法是执行display ospf peer,看到邻居状态为Full且稳定,说明OSPF自身配置没问题,然后再看display ospf routing,确认业务网段是否出现在路由表中,如果路由缺失,重点检查区域划分和network宣告是否覆盖了所有需要参与的接口。
配置OSPF并不玄乎,核心就是进程、区域、宣告、验证这四件事,把基础命令练熟,再掌握多区域划分的规则,大多数网络场景你都能搞定。

