华为OSPF配置命令的核心思路是:先创建OSPF进程,再宣告网段,最后验证邻居状态。 只要把这三步理顺,单区域、多区域甚至企业级组网都能稳稳落地,下面直接进入实操层面,用华为AR系列路由器的命令行环境,带你过一遍完整配置流程。
华为OSPF配置命令详解:从邻居建立到区域规划
很多刚接触华为设备的朋友,一看到OSPF就头大,总觉得要背一堆命令,其实OSPF配置的主干非常清晰:进入系统视图,创建进程,进入区域,宣告网段,完事,剩下的都是查错和优化。
第一步:创建OSPF进程并指定Router ID
OSPF靠Router ID标识每台路由器,建议手动指定,不然设备会自己从接口IP里选,碰到环回口没配的时候容易乱。
[Huawei] ospf 10 [Huawei-ospf-10] router-id 1.1.1.1
这里10是进程号,取值1到65535,进程号只在本地有意义,两头不同也没关系,但同行习惯统一,Router ID建议直接用环回口地址,比如1.1.1,好记且稳定。
第二步:进入区域并宣告网段
OSPF必须把接口所在的网段宣告进对应区域,注意用的不是子网掩码,是通配符掩码,也就是反掩码,比如接口地址是168.10.1/24,反掩码是0.0.255。
[Huawei-ospf-10] area 0 [Huawei-ospf-10-area-0.0.0.0] network 192.168.10.0 0.0.0.255
区域0是骨干区域,多区域组网时所有的非骨干区域必须直连或虚链路连到区域0,单区域场景就全部放area 0,简单干净。
第三步:查看邻居和路由表
配置完别急着收工,先验证能不能建立起邻居关系。
[Huawei] display ospf peer
看到Full状态说明邻居已经建立,再看路由表:
[Huawei] display ospf routing
如果路由条目里出现了对方网段,那OSPF就通了,如果什么都没有,优先查物理链路、接口IP和网络类型,八成是这三处出了问题。
华为路由器OSPF配置实例:单区域与多区域实操
纸上谈兵没用,直接看一个两设备单区域的完整配置案例,场景如下:R1的G0/0/0口地址0.0.1/24接R2,R1环回口1.1.1/32,R2环回口2.2.2/32,两台设备都在区域0。
R1配置:

[Huawei] sysname R1 [R1] interface GigabitEthernet0/0/0 [R1-GigabitEthernet0/0/0] ip address 10.0.0.1 255.255.255.0 [R1-GigabitEthernet0/0/0] quit [R1] interface LoopBack 0 [R1-LoopBack0] ip address 1.1.1.1 32 [R1-LoopBack0] quit [R1] ospf 10 [R1-ospf-10] router-id 1.1.1.1 [R1-ospf-10] area 0 [R1-ospf-10-area-0.0.0.0] network 10.0.0.0 0.0.0.255 [R1-ospf-10-area-0.0.0.0] network 1.1.1.1 0.0.0.0
R2配置同理,把IP换成0.0.2和2.2.2,Router ID设为2.2.2,配置完成后,在两台设备上执行display ospf peer,看到邻居状态为Full,再display ospf routing,就能互相学习到环回口路由。
多区域配置命令:把业务区域隔离出来
大型网络里不会把所有接口都塞进area 0,原因很简单:一旦区域0抖动,全网都要重算路由,行业共识是让骨干区域保持精简,业务网段按部门或地理位置划分到不同区域。
假设R1是骨干路由器,G0/0/0口接区域0,G0/0/1口接区域1的客户网段168.1.0/24,配置如下:
[R1] ospf 10 [R1-ospf-10] area 0 [R1-ospf-10-area-0.0.0.0] network 10.0.0.0 0.0.0.255 [R1-ospf-10-area-0.0.0.0] quit [R1-ospf-10] area 1 [R1-ospf-10-area-0.0.0.1] network 192.168.1.0 0.0.0.255
这里的关键点在于:一台路由器可以同时属于多个区域,但每个接口只能属于一个区域。 区域边界路由器(ABR)把区域间路由汇总后传给骨干区域,有效减小链路状态数据库规模,华为设备默认允许任意区域间路由传递,但生产环境建议配合区域认证和路由汇总,别让细碎路由拖垮CPU。
环回口进OSPF的两种写法
环回口常用作管理地址或稳定Router ID,宣告时有人写network 1.1.1.1 0.0.0.0,也有人写network 1.1.1.1 0.0.0.255,两种写法都能通,但前者精确匹配单个主机,后者会把1.1.0/24整段宣告,行业内专家指出,管理环回口务必用0.0.0精确匹配,避免误宣告多余网段。
华为OSPF配置不生效的排查思路
有相当一部分朋友照着命令敲了一遍,结果display ospf peer什么都没有,别慌,多数情况下是下面四个原因。
反掩码算错了
最常见,OSPF宣告用的是反掩码,不是反子网掩码。/24对应0.0.255,/16对应0.255.0,/32对应0.0.0,很多人把255.255.0

直接填进去,邻居永远起不来。
区域号不一致
两台设备互联接口必须属于同一个区域,并且区域宣告的网段必须包含互联接口的实际地址,比如R1在area 0宣告了0.0.0,R2却在area 1宣告同一网段,两边hello报文里的区域号不匹配,直接丢弃。
接口被静默或网络类型不匹配
华为默认把OSPF接口网络类型设为广播(Broadcast)或P2P,取决于接口封装,如果一端是P2P,另一端是广播,两边hello报文里的网络类型字段不同,邻居协商失败,可以用display ospf interface查看接口实际网络类型,需要时用ospf network-type p2p强制修改。
认证配错或链路Down
OSPF认证命令记得检查两端是不是一致的,MD5认证的密钥ID和口令都要一样,接口状态是UP但物理光路衰耗过大,也会导致不停尝试建邻居,先用display interface brief确认端口状态,再用display ospf error查看报文错误计数,这个命令能快速定位认证、区域、掩码三类问题。
华为OSPF配置优化:定时器、认证与路由汇总
基础配置通了,还要学会调优,生产环境里默认的Hello定时器是10秒(广播网络),Dead定时器40秒,如果网络链路不稳定,可以把Hello间隔调低,加快收敛:
[R1-GigabitEthernet0/0/0] ospf timer hello 5 [R1-GigabitEthernet0/0/0] ospf timer dead 20
注意两端必须一致,区域认证推荐用MD5或HMAC-SHA256,华为AR系列支持ospf authentication-mode md5 1 cipher,密码用密文存储,防止配置文件泄露:
[R1-ospf-10-area-0.0.0.0] authentication-mode md5 1 cipher Huawei@123
路由汇总能大幅减少边界路由器的路由表条目,在ABR上配置区域间汇总:
[R1-ospf-10] area 1 [R1-ospf-10-area-0.0.0.1] abr-summary 172.16.0.0 255.255.0.0
这条命令会把区域1内所有16.x.x网段汇总成一条16.0.0/16通告给骨干区域,据统计,不少中小企业的OSPF路由表超过1000条,其中多数是没做汇总导致的,配置汇总后能减少到几十条。
默认路由的宣告也常被问到,想让OSPF向内部通告默认路由,在ASBR上用:
[R1] ospf 10 [R1-ospf-10] default-route-advertise always
加always是强制通告,即使本机没有默认路由也会发送,做出口网关时这条很实用。

OSPF与静态路由/RIP的适用场景对比
选型时容易纠结,直接看表:
| 对比项 | OSPF | 静态路由 | RIP |
|---|---|---|---|
| 收敛速度 | 秒级 | 需人工干预 | 较慢,容易环路 |
| 网络规模 | 适合中大型 | 适合小型 | 适合小型简单网络 |
| 配置复杂度 | 较高 | 低 | 低 |
| 路由更新方式 | 触发更新+周期校验 | 无 | 定期广播全部路由 |
| 是否支持多区域 | 支持 | 不支持 | 不支持 |
| 可维护性 | 高 | 低 | 一般 |
行业共识认为,超过三层交换机的网络,OSPF是默认选择,静态路由适合出口单一、拓扑固定的场景,RIP则基本只在学习或极简环境里出现,生产环境不建议用。
常见问题解答:华为OSPF配置命令相关
两台华为路由器配了OSPF,但display ospf peer一直显示Down,怎么查?
先ping通互联地址,排除物理故障,然后看两端的区域号和反掩码是否正确,尤其检查network命令宣告的网段是否覆盖了互联接口,再用display ospf interface确认接口OSPF已启用,最后看display ospf error里的报文类型,如果全是Hello丢弃,那就是区域号或认证不匹配。
OSPF多区域配置中,区域的编号可以随意写吗?
可以,区域号是0到4294967295之间的整数,但需要注意区域0是骨干区域,非骨干区域必须与骨干区域直接相连或通过虚链路vlink-peer连接,实际规划时建议按业务模块分配连续的小编号,比如1、2、3,便于维护,区域号本身不影响路由计算,只影响逻辑拓扑。
配置OSPF后,发现环回口路由学不到,但直连网段能学到,为什么?
多数原因是环回口宣告时用了错误的通配符掩码,如果环回口地址是1.1.1/32,必须写network 1.1.1.1 0.0.0.0,写成0.0.255会把1.1.0/24当作已宣告网段,导致路由前缀不匹配,检查配置后,用reset ospf process重新建立邻居关系即可,环回口默认网络类型是P2P,但有些设备会显示为广播,实际无影响,不用纠结。
