一、构建拓扑图

拓扑核心信息(依据图片)
-
R1:
-
Loopback0: 1.1.1.1/24
-
GE 0/0/1 (连接R2): 12.0.0.1/24 (位于 Area 0)
-
GE 0/0/0 (连接R3): 10.0.0.1/24 (位于 Area 1)
-
-
R2:
-
Loopback0: 2.2.2.2/24
-
GE 0/0/1 (连接R1): 12.0.0.2/24 (位于 Area 0)
-
GE 0/0/0 (连接R4): 20.0.0.1/24 (位于 Area 2)
-
-
R3:
-
Loopback0: 3.3.3.3/24
-
GE 0/0/0 (连接R1): 10.0.0.2/24 (位于 Area 1)
-
-
R4:
-
Loopback0: 4.4.4.4/24
-
GE 0/0/0 (连接R2): 20.0.0.2/24 (位于 Area 2)
-
二、ENSP 完整配置命令
1. R1 配置 (Area 0 与 Area 1 的 ABR)
sysname R1
# 1. 配置接口IP地址
interface LoopBack0
ip address 1.1.1.1 255.255.255.0
interface GigabitEthernet0/0/1 # 图片中此接口连接R2
ip address 12.0.0.1 255.255.255.0
interface GigabitEthernet0/0/0 # 图片中此接口连接R3
ip address 10.0.0.1 255.255.255.0
# 2. 配置OSPF
ospf 1 router-id 1.1.1.1
# 宣告骨干区域Area 0的直连网络
area 0.0.0.0
network 12.0.0.0 0.0.0.255
# 宣告非骨干区域Area 1的直连网络
area 0.0.0.1
network 10.0.0.0 0.0.0.255
network 1.1.1.1 0.0.0.0


2. R2 配置 (Area 0 与 Area 2 的 ABR)
sysname R2
# 1. 配置接口IP地址
interface LoopBack0
ip address 2.2.2.2 255.255.255.0
interface GigabitEthernet0/0/1 # 图片中此接口连接R1
ip address 12.0.0.2 255.255.255.0
interface GigabitEthernet0/0/0 # 图片中此接口连接R4
ip address 20.0.0.1 255.255.255.0
# 2. 配置OSPF
ospf 1 router-id 2.2.2.2
# 宣告骨干区域Area 0的直连网络
area 0.0.0.0
network 12.0.0.0 0.0.0.255
# 宣告非骨干区域Area 2的直连网络
area 0.0.0.2
network 20.0.0.0 0.0.0.255
network 2.2.2.2 0.0.0.0

3. R3 配置 (Area 1 的内部路由器)
sysname R3
# 1. 配置接口IP地址
interface LoopBack0
ip address 3.3.3.3 255.255.255.0
interface GigabitEthernet0/0/0
ip address 10.0.0.2 255.255.255.0 # 图片中为10.0.0.2,非100.0.0.2
# 2. 配置OSPF,所有接口都在Area 1
ospf 1 router-id 3.3.3.3
area 0.0.0.1
network 10.0.0.0 0.0.0.255
network 3.3.3.3 0.0.0.0


4. R4 配置 (Area 2 的内部路由器)
sysname R4
# 1. 配置接口IP地址
interface LoopBack0
ip address 4.4.4.4 255.255.255.0
interface GigabitEthernet0/0/0
ip address 20.0.0.2 255.255.255.0
# 2. 配置OSPF,所有接口都在Area 2
ospf 1 router-id 4.4.4.4
area 0.0.0.2
network 20.0.0.0 0.0.0.255
network 4.4.4.4 0.0.0.0

三、关键验证步骤
配置完成后,请按顺序执行以下命令进行验证:
-
检查接口与链路:

display ip interface brief -
检查OSPF邻居 (确保所有邻居状态为 Full):

display ospf peer brief -
检查OSPF路由表:

display ospf routing -
检查全局路由表 (应能看到标记为 O_IA 的OSPF区域间路由):

display ip routing-table protocol ospf -
测试全网连通性 (在任意路由器上ping其他所有Loopback地址):
# 例如,在R3上测试: ping -a 3.3.3.3 1.1.1.1 ping -a 3.3.3.3 2.2.2.2 ping -a 3.3.3.3 4.4.4.4

答疑:
环回地址的掩码配置为/24,但在network命令中,使用反掩码0.0.0.0是正确的,也是更推荐的做法 。而使用0.0.0.255虽然语法正确,但在大多数场景下会导致非预期的路由行为。
下面详细解释两者的区别、影响及最佳实践。
核心区别:宣告的是什么?
关键在于理解network命令中"反掩码 "的作用:它决定了将接口的哪个IP地址 以何种形式发布到OSPF中。
以R1的环回口地址 1.1.1.1/24为例:
| 配置命令 | 反掩码逻辑 | OSPF宣告内容 | 其他路由器学到的路由表项 |
|---|---|---|---|
**network 1.1.1.1 0.0.0.0** |
精确匹配**IP地址 1.1.1.1** 这一个主机。 |
将接口的IP地址 1.1.1.1 作为一个32位主机路由 (/32)发布。 |
1.1.1.1/32(主机路由) |
**network 1.1.1.1 0.0.0.255** |
匹配 1.1.1.0到 1.1.1.255整个网段。 |
将接口所在网络 1.1.1.0/24 作为一个网络路由发布。 |
1.1.1.0/24(网络路由) |
为什么在宣告环回地址时,强烈建议使用 0.0.0.0?
这与环回接口的用途 和OSPF的行为有关:
-
环回接口的用途是设备标识,而非真实网段:
-
环回地址(如
1.1.1.1)通常用于:-
路由器ID的来源,唯一标识设备。
-
网络管理(Telnet/SSH的目的地址)。
-
其他协议(如BGP、MPLS LDP)建立会话的源地址。
-
-
它是一个虚拟接口 ,背后并没有一个真实的、连接着多台主机的
1.1.1.0/24局域网。宣告整个/24网段会误导网络中的其他设备,让它们以为存在一个可以到达1.1.1.2、1.1.1.100等地址的网络。
-
-
OSPF处理环回接口的特殊性:
-
在OSPF中,环回接口默认被通告为32位主机路由(/32) ,无论其实际配置的掩码是多少。这是一个业内标准行为(Cisco、华为等设备均如此)。
-
当您使用
network 1.1.1.1 0.0.0.0时,您正显式地、精准地 执行这个默认行为,宣告的就是1.1.1.1/32。 -
如果使用
network 1.1.1.1 0.0.0.255,您是在尝试覆盖OSPF的默认行为,强制宣告一个/24的网络路由。虽然可以做到,但这通常不是你想要的结果。
-
在您的ENSP实验中会产生什么影响?
假设R1使用 network 1.1.1.1 0.0.0.255:
-
在R2、R3、R4的路由表 中,会学到一条
1.1.1.0/24的路由,下一跳指向R1。 -
问题 :如果R2试图ping一个不存在的地址,例如
1.1.1.100,它的路由表会匹配到这条/24的路由,并将数据包发给R1。R1收到后,发现自己并没有1.1.1.100这个直连接口,最终会回复"目的网络不可达" 。这造成了虚假的可达性 和带宽浪费。
结论与最佳实践建议
| 场景 | 推荐的反掩码 | 原因 |
|---|---|---|
| 宣告环回接口地址 | **0.0.0.0** |
精确宣告设备标识,符合环回口的用途和OSPF默认行为,避免宣告虚假的网络空间。 |
宣告真实的物理链路 (如 12.0.0.0/24) |
**0.0.0.255** |
宣告一个真实的、可用的IP网段,该网段内的所有地址(.1到.254)在物理上都是可互通的。 |
| 宣告一个真实的物理主机或点对点链路 | 0.0.0.0 或 0.0.0.255均可 |
对于/30或/31的点对点链路,两者效果常相同。但用0.0.0.0更精准。 |
最终建议:
在ENSP实验配置中,请保持原配置不变 ,即对环回地址使用 network 1.1.1.1 0.0.0.0。这是专业且正确的配置方法。
您可以这样验证:
在R2上执行 display ip routing-table 1.1.1.1,会看到一条 1.1.1.1/32的OSPF路由,这证明配置是正确且符合预期的。
简单记忆:环回接口是"点",用0.0.0.0;真实网段是"面",用0.0.0.255(或对应的反掩码)。