.webp)
OSPF之建立邻居教程
OSPF之建立邻居教程
📘 OSPF 第一阶段实验笔记(邻居建立)
适用场景:两台华为路由器(或三层交换机)通过以太网直连,运行OSPF协议,建立邻居关系。
一、实验拓扑与IP规划
| 设备 | 接口 | IP地址/掩码 | 所属OSPF区域 |
|---|---|---|---|
| AR1 | GigabitEthernet0/0/0 | 10.0.12.1/24 |
Area 0 |
| AR2 | GigabitEthernet0/0/0 | 10.0.12.2/24 |
Area 0 |
连线方式:AR1的G0/0/0口 直连 AR2的G0/0/0口。
二、配置步骤(每一步附带白话解释)
第一步:进入系统视图并给设备命名
1 | <AR1> system-view |
| 命令 | 解释 |
|---|---|
system-view |
从用户视图(< >)进入系统配置视图([ ]),这是所有配置动作的前提。 |
sysname AR1 |
修改设备的主机名,便于识别。在真实网络和排障时,看日志能立刻知道是哪台设备出了问题。 |
第二步:配置物理接口的IP地址(让链路“活起来”)
1 | [AR1] interface GigabitEthernet0/0/0 |
| 命令 | 解释 |
|---|---|
interface GigabitEthernet0/0/0 |
进入千兆以太网接口的配置视图。0/0/0 表示第1个槽位、第0个卡、第1号端口。 |
ip address 10.0.12.1 255.255.255.0 |
给该接口配置IP地址和子网掩码。/24(即255.255.255.0)表示这个接口所在的网段是 10.0.12.0/24。注意:对端AR2的接口必须配置同一网段的IP(如10.0.12.2),否则IP层无法通信。 |
undo shutdown |
开启该接口(华为接口默认开启,但养成习惯敲这一句可以避免因误操作shutdown导致的故障)。 |
quit |
退出当前接口视图,返回系统视图。 |
验证这一步是否成功:
1 | [AR1] display ip interface brief |
查看 GigabitEthernet0/0/0 行的 Physical 和 Protocol 是否都是 UP。如果显示 DOWN,说明网线没插好、对端设备没开机或IP地址配错了。
第三步:启动OSPF进程并配置Router ID
1 | [AR1] ospf 1 router-id 1.1.1.1 |
| 命令 | 解释 |
|---|---|
ospf 1 |
在设备上创建一个OSPF进程,进程号(1)仅具有本地意义(相当于给这个OSPF实例起个名字)。在同一台设备上可以运行多个OSPF进程,用于隔离不同的网络域。 |
router-id 1.1.1.1 |
设置这台路由器在OSPF网络中的唯一标识符。必须手动指定,且全网唯一。如果不手动指定,设备会从所有接口IP中自动选一个最大的作为Router ID,这样会导致网络不稳定(如果接口IP变了,Router ID也跟着变)。建议使用环回口(Loopback)地址作为Router ID,因为它永远不down。 |
注意:Router ID 虽然看起来像IP地址,但它不是IP地址(不用于路由转发),它只是一个标识符。你可以写成 1.1.1.1,也可以写成 10.0.0.1,只要全网唯一即可。它不会在路由表里出现,你只能在 display ospf peer 输出里看到它。
第四步:进入OSPF区域视图并宣告网段
1 | [AR1-ospf-1] area 0 |
| 命令 | 解释 |
|---|---|
area 0 |
进入OSPF区域0(即骨干区域)的配置视图。所有OSPF网络必须有一个Area 0,其他区域必须直接或间接连接到Area 0。你以后配多区域时,Area 0是“总枢纽”。 |
network 10.0.12.0 0.0.0.255 |
这是最关键的一句。 - 10.0.12.0:要宣告的网段地址。- 0.0.0.255:通配符掩码(Wildcard Mask),不是子网掩码!它是子网掩码的“反码”(即 255.255.255.255 - 255.255.255.0 = 0.0.0.255)。- 效果:告诉OSPF,“任何IP地址落在 10.0.12.0/24 这个范围内的接口,都在Area 0里运行OSPF”。新手常见错误:把 0.0.0.255 写成 255.255.255.0,这是错的!OSPF的network语句用的是通配符掩码。 |
AR2 配置(完全对称,只需改IP和Router ID):
1 | <AR2> system-view |
配置完成后,敲 display ospf peer brief 验证:
1 | [AR1] display ospf peer brief |
你应该看到:
1 | OSPF Process 1 with Router ID 1.1.1.1 |
State 为 Full 表示邻居关系建立成功,OSPF已开始交换路由信息。
三、OSPF 邻居建立状态机(供笔记记录)
| 状态 | 含义 | 排障切入点 |
|---|---|---|
| Down | 尚未收到对方的Hello报文 | 检查物理链路(接口是否UP、IP是否配通) |
| Init | 收到了Hello报文,但未确认双向通信 | 检查区域ID(Area)是否一致 |
| 2-Way | 双向通信建立,开始选举DR/BDR | 检查Hello/Dead间隔是否一致 |
| Exstart | 开始主从协商,决定谁先发送数据库摘要 | 检查MTU是否一致(华为默认忽略MTU检查,但在某些场景下需要手动开启) |
| Exchange | 交换数据库摘要(DD报文),描述本地LSDB的目录 | 检查是否收到DD报文(display ospf statistics) |
| Loading | 请求并接收对方详细的链路状态信息(LSR/LSU报文) | 检查网络是否丢包 |
| Full | 完全邻接,双方LSDB已同步 | ✅ 成功状态 |
关键约束条件(邻居建立必须匹配的“三要素”):
- Area ID 必须一致。
- Hello 间隔(Hello Interval)和 Dead 间隔(Dead Interval)必须一致。
- 认证类型和认证密码必须一致(如果配置了认证)。
四、新手常见排错场景与解决办法
❌ 场景1:display ospf peer 没有输出(邻居没建立)
排查步骤:
- 检查物理层:
display interface GigabitEthernet0/0/0,确认current state是UP。 - 检查IP层:
ping 10.0.12.2,确认能通。 - 检查OSPF是否宣告正确:在AR1上敲
display ospf interface,看GigabitEthernet0/0/0的State是否为DR或BDR或DROther。如果该接口未出现在此输出中,说明network宣告的网段与接口IP不在同一范围。
❌ 场景2:邻居状态卡在 Exstart 或 Exchange 不动
排查步骤:
- 检查MTU是否一致:在接口视图下敲
display this,看mtu值(华为默认不强制MTU检查,但某些场景下需要手动关闭MTU检测:ospf mtu-enable)。 - 检查是否启用了认证:如果一侧配了
ospf authentication-mode md5,另一侧没配,邻居会一直起不来。
❌ 场景3:邻居状态在 2-Way 和 Full 之间反复震荡
排查步骤:
- 检查 Hello 间隔 和 Dead 间隔 是否一致。在接口视图下敲
ospf timer hello 10可以修改(默认为10秒),Dead 默认为 Hello 的4倍(40秒)。如果一侧改了Hello为5秒,另一侧仍为10秒,则Dead时间会不一致(10秒 vs 40秒),邻居建立失败。
五、你已有的命令速查表(放在笔记末尾)
| 目的 | 命令 |
|---|---|
| 查看OSPF邻居状态 | display ospf peer brief |
| 查看OSPF邻居详细信息 | display ospf peer GigabitEthernet0/0/0 |
| 查看OSPF接口状态 | display ospf interface |
| 查看OSPF错误统计 | display ospf error(排障神器) |
| 查看OSPF路由表 | display ospf routing |
| 查看当前所有OSPF配置 | `display current-configuration |
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自挽着红月缓缓走
评论


.webp)

