边缘小交换机路由表撑得慌?华为OSPF末梢区域给路由表瘦身

本文整理自华为官方发布的典型配置案例,命令与步骤均按原始文档呈现,供现场实施参考。

OSPF 网络跑起来之后有个常见的副作用:全网的路由都会扩散到每一台设备上。核心设备配置高无所谓,可挂在边缘的接入交换机性能有限,路由表被一堆用不上的外部路由、区域间路由塞得满满的,内存和转发查找都受拖累。这些边缘设备其实不需要知道全网细节——出去的流量交给骨干就行,跟"小县城不必背全国地图"一个道理。

OSPF 的 Stub(末梢)区域就是干这个的:把边缘区域划成 Stub,外部路由不再进入,由区域边界代发一条缺省路由;再进一步配 Totally Stub,连区域间明细路由也不进,边缘设备只留"自己区域的路由+一条缺省路由"。本文用官方示例走一遍完整过程,场景是三台交换机跑 OSPF,全网分 Area0 和 Area1,SwitchB 作为 ASBR 与外部网络互通,目标是在不影响通信的前提下减少 SwitchC 的路由表规模。

第一步,各交换机配 OSPF 基本功能(接口与 VLANIF 地址配置同基本场景,这里看关键部分)。SwitchA 跨两个区域:

[SwitchA] ospf 1 router-id 10.1.1.1
[SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1] area 1
[SwitchA-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.1] quit
[SwitchA-ospf-1] quit

SwitchB 在 Area0,SwitchC 在 Area1,各自宣告本端网段,命令结构相同,router-id 分别为 10.2.2.2、10.3.3.3。

第二步,在 SwitchB 上配静态路由并引入 OSPF,模拟外部网络路由进入:

[SwitchB] ip route-static 10.0.0.0 8 null 0
[SwitchB] ospf 1
[SwitchB-ospf-1] import-route static type 1
[SwitchB-ospf-1] quit

此时看 SwitchC 的路由表,外部路由 10.0.0.0/8 已经进来了:

[SwitchC] display ospf routing
     OSPF Process 1 with Router ID 10.3.3.3
                   Routing Tables
 Routing for Network
 Destination        Cost  Type         NextHop         AdvRouter       Area
 192.168.1.0/24     1     Transit      192.168.1.2     10.3.3.3        0.0.0.1
 192.168.0.0/24     2     Inter-area   192.168.1.1     10.1.1.1        0.0.0.1
 Routing for ASEs
 Destination    Cost      Type       Tag         NextHop         AdvRouter
 10.0.0.0/8    3         Type1      1           192.168.1.1     10.2.2.2
 Total Nets: 3
 Intra Area: 1  Inter Area: 1  ASE: 1  NSSA: 0

第三步,把 Area1 配成 Stub。注意 stub 命令要在区域内的 ABR(SwitchA)和内部设备(SwitchC)两边都配,缺一边邻居起不来:

[SwitchA] ospf 1
[SwitchA-ospf-1] area 1
[SwitchA-ospf-1-area-0.0.0.1] stub
[SwitchA-ospf-1-area-0.0.0.1] quit
[SwitchA-ospf-1] quit
[SwitchC] ospf 1
[SwitchC-ospf-1] area 1
[SwitchC-ospf-1-area-0.0.0.1] stub
[SwitchC-ospf-1-area-0.0.0.1] quit
[SwitchC-ospf-1] quit

再查 SwitchC:外部路由没了,换来一条缺省路由 0.0.0.0/0,出网照样走。

第四步,升级成 Totally Stub,在 ABR 上加 no-summary(只需在 SwitchA 一侧加):

[SwitchA] ospf 1
[SwitchA-ospf-1] area 1
[SwitchA-ospf-1-area-0.0.0.1] stub no-summary
[SwitchA-ospf-1-area-0.0.0.1] quit
[SwitchA-ospf-1] quit

最终验证,SwitchC 的路由表只剩两条:

[SwitchC] display ospf routing
          OSPF Process 1 with Router ID 10.3.3.3
                   Routing Tables
 Routing for Network
 Destination        Cost  Type       NextHop         AdvRouter       Area
 192.168.1.0/24     1     Transit    192.168.1.2     10.3.3.3         0.0.0.1
 0.0.0.0/0          2     Inter-area 192.168.1.1     10.1.1.1         0.0.0.1
 Total Nets: 2
 Intra Area: 1  Inter Area: 1  ASE: 0  NSSA: 0

从 3 条明细加外部路由瘦身到 2 条,而且通信不受影响——区域内的走明细,区域外的走缺省。给边缘低端设备减负,这是 OSPF 里性价比很高的一招。要注意的只有两条纪律:stub/no-summary 必须分清在哪些设备上敲;改造前后各截一次路由表对比留档。企业网络要做分层优化,末梢区域、特殊区域怎么选型,也欢迎找贵州诚鑫致达科技这样的本地服务商一起评估。

企业存储选型参考|贵州诚鑫致达

做机房存储、虚拟化或监控归档,群晖机型参考:FS6400(全闪存阵列) · SA3610 · SA3410。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。

服务区域|贵州诚鑫致达

贵州群晖NAS、贵阳存储、数据备份、信创云盘或 IT 集成服务,可联系贵州诚鑫致达科技,服务范围覆盖贵州全省各市州。四川成都群晖存储部署、机房建设与数据安全集成服务。