# OSPF 基础配置与邻居排查 ## 场景 几台三层交换机之间要跑动态路由,不想手写一堆静态。OSPF 是最常见的选择。 ## 前置条件 - 接口已经配好 IP 且互通(能 ping 通) - 规划好 area:小网络全放 area 0 - 每台设备有唯一的 `router-id`(一般用 loopback 地址) ## 配置 ### H3C ```text system-view ospf 1 router-id 10.0.0.1 area 0.0.0.0 network 10.0.0.0 0.0.0.255 network 192.168.10.0 0.0.0.255 quit quit ``` ### 华为 ```text system-view ospf 1 router-id 10.0.0.1 area 0 network 10.0.0.0 0.0.0.255 network 192.168.10.0 0.0.0.255 quit quit ``` `network` 后面是反掩码,不是子网掩码,写错就宣告不到。 ## 验证 ```text display ospf peer display ospf routing display ip routing-table ping 10.0.0.2 ``` 邻居状态要到 `Full`;卡在 `Init` / `2-Way` 说明 hello 包有问题。 ## 回滚 ```text undo ospf 1 ``` 删掉进程会同时撤掉它引入的路由,先确认没有流量依赖。 ## 坑 - **邻居一直 Init**:多半是 area id 或 hello/dead 定时器不一致。 - **卡在 ExStart/Exchange**:MTU 不一致,或者一边配了认证另一边没配。 - 两台设备 `router-id` 重复,邻居关系会时好时坏。 - `network` 写的是反掩码,`0.0.0.255` 不是 `255.255.255.0`。 - 三层交换机上 VLAN 接口没 up,对应的网段宣告不出去。 - 生产改 OSPF 前先在 `display ospf peer` 里记下现有邻居,回滚好对照。