ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

OSPF Stub与NSSA区域:原理、配置实验与排错实战

OSPF Stub与NSSA区域:原理、配置实验与排错实战 做HCIP-Datacom实验做到OSPF多区域那一步估摸着有一半人会被Stub区域和NSSA区域搞懵。不是说命令有多难而是很多人没想明白这两个特殊区域到底改变了什么、过滤了什么、为什么要过滤结果敲完命令对着路由表一脸茫然。说句实在话Stub和NSSA是OSPF里少有的、能让你直观感受到区域设计价值的知识点也是HCIP考试选择题和排错题的高频区值得花一个下午把实验做透。这篇就按我自己在eNSP上的实操过程来写从区域设计原理讲到命令配置再到LSDB和路由表的逐条对比最后把几个高频排错方法一并交代清楚。拓扑我重新设计过尽量做到一次搭好、三种实验连续做让同一个网段在不同配置下以不同LSA类型出现这比照着题库背结论要直观得多。无论是备考HCIP-Datacom还是工作中要给网络做OSPF优化这篇都能直接用。1. 先想明白Stub和NSSA到底是在优化什么1.1 普通多区域OSPF的LSDB膨胀问题聊特殊区域之前先回忆一下普通多区域OSPF的一个痛点每台路由器都要维护整个OSPF域的LSDB区域内路由靠SPF算区域间和外部路由靠LSA传递。假设一个区域里有几百条外部路由那么每台路由器都要把这几百条Type 5 LSA保存在内存里SPF计算时也得把它们算进路由表。问题是这些外部路由信息对区域内的绝大多数路由器来说根本用不上——它们只需要知道去外部网络走ABR就够了。但OSPF的泛洪机制不管这些它会把Type 5 LSA广播到全网特殊区域除外于是整个域的路由器都得为这些与自己无关的LSA买单。拿生活类比一下整个小区每一户人家都得记住城里每一家餐厅的详细地址和营业时间哪怕你从来不去那家店也得把这信息存在脑子里每次出门还得重新算一遍路线。Stub区域和NSSA区域干的事情就是让末端区域的设备只保留去城里有几个出口、从哪个门走的信息把那些明细过滤掉。1.2 一张表记住七种LSA才知道特殊区域过滤了谁要理解Stub和NSSA先把OSPF的LSA类型摆出来。HCIP考试不会直接问你Type几叫什么名字但会绕着弯考过滤关系所以这表必须烂熟。LSA类型名称作用泛洪范围Type 1Router LSA描述路由器接口状态和邻居关系区域内Type 2Network LSADR生成描述广播网段内有哪些路由器区域内Type 3Summary LSAABR通告区域间路由汇总明细路由跨区域Type 4ASBR-Summary LSAABR通告ASBR在哪整个OSPF域Type 5AS-External LSAASBR通告外部路由整个OSPF域Type 7NSSA External LSANSSA内ASBR通告外部路由NSSA区域内关键就两句话Stub区域过滤Type 4和Type 5NSSA区域也过滤Type 4和Type 5但允许本区域自己产生Type 7。完全Stub和完全NSSA则在各自基础上再过滤Type 3明细只保留一条默认路由。Type 4和Type 5为什么被过滤Type 5是外部路由明细Type 4是描述ASBR位置的指引LSA。没有Type 4路由器就算看到Type 5也找不到ASBR所以干脆一起过滤掉让末端区域不再关心外面具体有哪些网段、谁引入的只需要一条默认路由指向ABR就够了。1.3 特殊区域的取舍逻辑拿全局视野换计算效率特殊区域的核心逻辑就一句话牺牲一部分信息可见性换取LSDB体积和SPF计算量的下降。这跟现实中做网络规划的逻辑完全一致。骨干区域和普通区域之间需要传递完整路由信息所以它们必须保留Type 3、Type 4、Type 5而末梢区域里的设备通常只是接入用户它们只需要基础的区域内路由和一条出去的方向强行塞一堆外部明细只会让设备内存告警、路由震荡时SPF重算更频繁。Stub和NSSA的区别在于Stub区域铁了心不管外部路由区域内不允许出现ASBRNSSA则开了一个口子——允许本区域内部有人引入外部路由只是用Type 7 LSA这种区域内专用的形式来承载等到了ABR再转成Type 5给外面用。一个完全拒绝外部路由一个允许内部产生的外部路由并负责转译这就是两者最本质的差别。2. 实验拓扑与基础配置先把普通OSPF多区域跑起来2.1 四台路由器、两个区域怎么规划地址和LSA来源我先说拓扑设计思路。用eNSP开四台AR路由器规划如下Area 0AR1、AR2Area 1AR1、AR3、AR4AR1是ABR连接Area 0和Area 1AR2做普通区域里的ASBR通过import-route static引入一条外部路由用来生成Type 5 LSAAR4做NSSA区域里的ASBR后面切换实验时通过import-route static生成Type 7 LSAAR3是Area 1里的纯内部路由器负责观察LSDB变化地址规划如下设备接口地址说明AR1G0/0/010.0.12.1/24连AR2属于Area 0AR1G0/0/110.0.13.1/24连AR3属于Area 1AR1G0/0/210.0.14.1/24连AR4属于Area 1AR1Loopback 01.1.1.1/32Router ID用AR2G0/0/010.0.12.2/24连AR1属于Area 0AR2Loopback 02.2.2.2/32Router ID用AR2Loopback 1192.168.2.1/24模拟Area 0里的业务网段AR3G0/0/010.0.13.3/24连AR1属于Area 1AR3Loopback 03.3.3.3/32Router ID用AR4G0/0/010.0.14.4/24连AR1属于Area 1AR4Loopback 04.4.4.4/32Router ID用AR4Loopback 1192.168.4.1/24模拟Area 1末端网段后面重点观察对象这个设计的巧妙之处在于AR4上的192.168.4.0/24这个网段在实验不同阶段会分别以**Type 1 LSA区域内直连路由和Type 7 LSANSSA外部路由**两种身份出现在LSDB里。同一个网段两次不同出场比用两个网段做对比直观得多。2.2 进程号和区域号两个最常被搞混的概念开始配置之前必须先掰扯清楚两个概念OSPF进程号和OSPF区域号。进程号只在一台路由器本地有意义。AR1上跑ospf 1AR2上跑ospf 2两者照样能建立邻居关系因为OSPF进程ID不会出现在报文里两台设备互相看到的只是Router ID、区域号这些真正参与协商的参数。我见过好几个刚入门的朋友在配进程号时纠结半天两边进程号要不要一致实际上完全不需要只要不是同一台路由器上跑多套OSPF进程且互不影响就行。区域号则必须全网一致尤其是直连接口。Router LSA里携带的是接口归属的区域信息如果AR1的G0/0/0宣告到Area 0而AR2的G0/0/0宣告到Area 1两边hello报文里携带的区域号不匹配邻居永远卡在Init或Down状态display ospf error会直接报区域不匹配。考试里特别喜欢拿这个点出判断题。Router ID在实验里的配置习惯是取Loopback 0地址因为Loopback接口稳定、不会被链路故障影响。如果没配LoopbackOSPF会自动选取接口地址最大的作为Router ID这在仿真环境里容易搞出以为自己是1.1.1.1结果邻居眼里你是别的地址的混乱所以实验一开始就把Router ID显式定好。2.3 动手前先存一份基准快照配置特殊区域之前我强烈建议先在一台观察设备比如AR3上留一份完整的基准快照。这一步很多人跳过了结果配置完Stub区域之后根本说不清楚到底少了什么只能凭感觉说好像外部路由没了。基准快照包含三条命令的输出display ospf lsdb display ospf routing display ip routing-table普通区域状态下AR3的LSDB里应该有下列内容Type 1 LSAAR1、AR3、AR4各自的Router LSAType 2 LSA10.0.13.0/24和10.0.14.0/24这两个MA网段的Network LSAType 3 LSAAR2的192.168.2.0/24由ABR AR1汇总通告过来Type 4 LSA描述ASBRAR2位置的汇总LSAType 5 LSAAR2引入的外部路由192.168.20.0/24我把这五类LSA的配置前数量记在备忘录里后面对比时就看它们怎么一个一个消失。AR2上还需要提前配一条静态路由并引入OSPF生成Type 5 LSA[AR2] ip route-static 192.168.20.0 24 NULL 0 [AR2] ospf 1 router-id 2.2.2.2 [AR2-ospf-1] import-route static用NULL 0做静态路由下一跳是为了让这条路由稳定存在于路由表里方便OSPF引入。实际网络中极少这么干实验里倒是很常用因为NULL 0接口永远存在、路由不会因为出接口down而消失。基础OSPF配置部分我用完整命令跑一遍[AR1] sysname AR1 [AR1] interface GigabitEthernet 0/0/0 [AR1-GigabitEthernet0/0/0] ip address 10.0.12.1 24 [AR1-GigabitEthernet0/0/0] quit [AR1] interface GigabitEthernet 0/0/1 [AR1-GigabitEthernet0/0/1] ip address 10.0.13.1 24 [AR1-GigabitEthernet0/0/1] quit [AR1] interface GigabitEthernet 0/0/2 [AR1-GigabitEthernet0/0/2] ip address 10.0.14.1 24 [AR1-GigabitEthernet0/0/2] quit [AR1] interface Loopback 0 [AR1-LoopBack0] ip address 1.1.1.1 32 [AR1-LoopBack0] quit [AR1] ospf 1 router-id 1.1.1.1 [AR1-ospf-1] area 0 [AR1-ospf-1-area-0.0.0.0] network 10.0.12.0 0.0.0.255 [AR1-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0 [AR1-ospf-1-area-0.0.0.0] quit [AR1-ospf-1] area 1 [AR1-ospf-1-area-0.0.0.1] network 10.0.13.0 0.0.0.255 [AR1-ospf-1-area-0.0.0.1] network 10.0.14.0 0.0.0.255AR2、AR3、AR4按同样的方法把接口地址、Loopback、OSPF进程和network宣告配好。AR3上宣告10.0.13.0/24和3.3.3.3/32AR4上宣告10.0.14.0/24、4.4.4.4/32以及192.168.4.1 0.0.0.0AR2宣告10.0.12.0/24、2.2.2.2/32、192.168.2.1 0.0.0.0以及OSPF进程里的import-route static。display ospf peer确认三对邻居都进入Full状态后基准快照的事情就做完了可以开始捣腾特殊区域。3. Stub区域一步步做从普通区域到完全Stub3.1 配置Stub区域后LSDB里到底少了什么配置Stub区域的命令非常简单但有个前提必须满足Area 1里所有路由器都要敲stub少一台都不行。我在AR1、AR3、AR4上分别执行[AR1-ospf-1] area 1 [AR1-ospf-1-area-0.0.0.1] stub[AR3-ospf-1] area 1 [AR3-ospf-1-area-0.0.0.1] stub[AR4-ospf-1] area 1 [AR4-ospf-1-area-0.0.0.1] stub为什么区域内所有路由器都要配因为Stub区域是一个区域级属性不是某台设备的局部行为。ABR和区域内路由器必须对区域的LSA过滤规则达成一致否则邻居协商时发现双方的区域属性不匹配直接导致邻居无法建立或反复震荡。这是实验里最容易踩的第一个坑。配置完成后回到AR3执行display ospf lsdb对比基准快照Type 4 LSA消失Type 5 LSA消失AR2引入的192.168.20.0/24再也看不见Type 1、Type 2、Type 3保留新增一条类型为Sum-Net的默认路由指向ABR AR1再看路由表AR3的display ip routing-table里192.168.20.0/24的外部路由没了取而代之的是一条OSPF默认路由0.0.0.0/0下一跳是10.0.13.1。这条默认路由是哪来的ABRAR1在配置Stub区域后自动向区域内通告一条Type 3默认路由。也就是说Stub区域内的路由器不需要、也不应该再去维护外部明细反正出去就找ABR。这个设计很聪明它把选择出口的决策权上交给ABR区域内设备只负责把流量导给ABRABR自己有完整的LSDB知道外部路由长什么样由它做二次转发。3.2 完全Stubno-summary一敲3类明细只剩默认路由Stub区域过滤了4类和5类但Type 3 LSA仍然可以把区域间明细路由带进来。如果想让Area 1更干净一点连区域间明细都过滤掉这就是完全Stub区域华为的命令是stub no-summary。注意一点no-summary只配置在ABR上区域内其他路由器维持stub不动。在AR1上执行[AR1-ospf-1] area 1 [AR1-ospf-1-area-0.0.0.1] stub no-summary执行完再回AR3看LSDBType 3 LSA明细消失包括192.168.2.0/24Type 3默认路由保留Type 1、Type 2保留此时AR3的路由表极端干净只有Area 1内部的直连网段、Router LSA对应的环回口、以及一条指向AR1的默认路由。这意味着AR3对外面世界的唯一认知就是有网要出去就发给10.0.13.1。no-summary的过滤逻辑我要特意说明一下它过滤的是除了默认路由之外的Type 3明细不是把Type 3全干掉。ABR下发的这条默认路由本身也是Type 3所以准确说法是只保留真实路由的默认替代品把明细过滤掉。我在实际配置时发现一个容易误操作的点如果在非ABR上敲stub no-summary设备不会报错但也不产生任何实际过滤效果因为非ABR根本不会主动向区域内通告Type 3 LSA这种配置形同虚设。所以判断完全Stub有没有生效一定要在ABR上核对别在AR3上把命令敲了就以为大功告成。3.3 Stub区域的两个硬限制实验里看得特别明显搞完Stub实验有一个问题值得亲自验证一下Stub区域不允许出现ASBR这是为什么从LSA过滤规则反推就清楚了。Stub区域过滤了Type 4 LSA而Type 4 LSA的作用是描述ASBR的位置。外部路由Type 5要计算出来必须知道ASBR在哪这就必须依赖Type 4。没有Type 4就算Type 5被放进来也算不出路由——所以Stub区域干脆把Type 5也一起过滤。反过来说如果区域里真的有人引入外部路由域内其他路由器会因为缺少Type 4而无法计算外部路由路由表就会残缺甚至引发路由黑洞。第二个硬限制是Stub区域不能是骨干区域Area 0。原因也简单骨干区域是OSPF的交通枢纽所有区域间路由必须经过它转发它必须保有完整的外部路由和ASBR位置信息。如果骨干区域变成Stub整个OSPF域的跨区域路由传递直接瘫痪属于设计层面的大忌。上面这些知识点考试往往会换个角度考给你一个拓扑问某个区域能不能配Stub或者问Stub区域配置了ASBR会有什么后果。有了实验基础这种题就是送分题。做完Stub和完全Stub实验display ospf lsdb的检查清单是display ospf lsdb # 看LSA类型及其数量 display ospf routing # 看OSPF路由表是否干净 display ip routing-table # 确认外部路由消失、默认路由出现4. NSSA区域一步步做7类LSA从产生到转换4.1 从Stub切到NSSAType 7 LSA是怎么冒出来的Stub实验做完Area 1还是Stub状态。要切换到NSSA实验先把三台设备的Stub撤销然后重新配置NSSA。AR1、AR3、AR4上分别执行undo stub然后在Area 1下配置NSSA[AR1-ospf-1] area 1 [AR1-ospf-1-area-0.0.0.1] nssa[AR3-ospf-1] area 1 [AR3-ospf-1-area-0.0.0.1] nssa[AR4-ospf-1] area 1 [AR4-ospf-1-area-0.0.0.1] nssa同样NSSA也是区域级属性区域内所有路由器必须配置一致否则邻居建立失败。配置NSSA之前先把AR4上的192.168.4.1这个Loopback从OSPF的network宣告里撤掉改成静态路由再引入。这一步是整场实验里最关键的动作把同一个网段从内部路由变成外部路由。撤销宣告、配置静态路由并引入[AR4-ospf-1] area 1 [AR4-ospf-1-area-0.0.0.1] undo network 192.168.4.1 0.0.0.0 [AR4-ospf-1-area-0.0.0.1] quit [AR4-ospf-1] quit [AR4] ip route-static 192.168.4.0 24 NULL 0 [AR4] ospf 1 [AR4-ospf-1] import-route static这时在AR3上执行display ospf lsdb会看到一个之前没见过的角色登场了Type : NSSA // 这就是Type 7 LSA LS ID : 192.168.4.0 // 外部路由的网段 AdvRouter: 4.4.4.4 // ASBR是AR4同一个192.168.4.0/24网段之前作为区域内直连时是Type 1 LSA现在作为外部路由引入后是Type 7 LSA。这种两阶段对比对理解NSSA区域的作用非常有帮助。同时也会发现AR2引入的192.168.20.0/24这条外部路由在AR3的路由表里不见了。因为NSSA区域不允许Type 5 LSA进入域外ASBR产生的Type 5会在ABR处被拒绝。AR3现在唯一能看到的外部路由就是AR4产生的192.168.4.0/24且是以Type 7形式存在。4.2 P-bit和ABR转换NSSA外部路由是如何出国的NSSA区域里的Type 7 LSA只能在NSSA内部泛洪出了NSSA区域其他区域根本不认Type 7。那其他区域怎么知道192.168.4.0/24的存在这就需要ABR来当翻译。ABR收到Type 7 LSA后不会无条件转换。它只看那些P-bit置位的Type 7 LSA把这些翻译成Type 5 LSA再泛洪到整个OSPF域。P-bit是Type 7 LSA头里的一个标志位置位表示这条外部路由可以传播到NSSA区域之外。我在AR1上查看Type 7 LSA的详细信息时能看到该LSA的Option字段里P-bit被设置。然后在AR2上执行display ospf lsdb果然能看到一条AS-External LSALS ID是192.168.4.0AdvRouter变成了1.1.1.1。这说明AR1已经完成了Type 7到Type 5的转换且把这条外部路由通告给了Area 0。如果NSSA区域里有多个ABR转换操作不是所有ABR一起来而是通过选举选出一个唯一的转换路由器其他ABR作为备份。选举规则不复杂Router ID大的优先。这个知识点HCIP考试偶尔会考不需要死记硬背理解转换只能有一台设备做否则区域内会出现重复路由就够了。实际配置和验证的时候我一般这样检查转换是否成功在AR3上确认Type 7 LSA存在且AdvRouter是4.4.4.4在AR1上display ospf lsdb确认Type 5 LSA存在AdvRouter是1.1.1.1在AR2上确认同一网段的Type 5 LSA可以被看到三台设备的LSDB对同一网段给出了三种视角完全对上4.3 NSSA的默认路由和完全NSSANSSA区域和Stub区域还有一个显著区别Stub区域的默认路由是ABR自动下发的NSSA区域默认不会自动下发默认路由。我在实验里把Stub切到NSSA之后AR3的路由表里没有了那条0.0.0.0/0默认路由。也就是说如果AR3想访问192.168.20.0/24AR2引入的外部网络它的路由表是空的——因为Type 5进不来NSSA默认路由又没配。这正是NSSA区域需要手动下发默认路由的原因。在AR1的Area 1视图下执行[AR1-ospf-1] area 1 [AR1-ospf-1-area-0.0.0.1] nssa default-route-advertise执行后AR3的LSDB里会出现一条Type 7默认路由AdvRouter是1.1.1.1。不同于Stub区域的Type 3默认路由NSSA区域的这条默认路由是以Type 7形式存在的。AR3的路由表里随即出现一条0.0.0.0/0下一跳指向AR1。这里有个细节我在eNSP实测中发现如果你希望这条默认路由还能继续传播到NSSA之外的区域需要在OSPF视图下单独用default-route-advertise生成Type 5默认路由。这两条默认路由的产生机制彼此独立一个是给NSSA区域内部用的Type 7一个是给整个OSPF域用的Type 5别混在一起。不同版本VRP的行为可能略有差异判断标准永远是display ospf lsdb里实际看到的LSA类型。完全NSSA的配置和完全Stub如出一辙在ABR上加一个no-summary[AR1-ospf-1] area 1 [AR1-ospf-1-area-0.0.0.1] nssa no-summary这时AR3的LSDB会变成Type 3 LSA明细消失192.168.2.0/24没了Type 3默认路由出现ABR自动下发Type 7 LSA保留AR4引入的192.168.4.0/24还在完全NSSA相比普通NSSA多过滤了Type 3区域间明细但保留Type 7外部路由。如果NSSA区域既想控制LSDB体积又需要区域内ASBR产生的外部路由完全NSSA就是那个平衡点。4.4 Stub和NSSA怎么选看完这张表就懂做完两种特殊区域的实验选型逻辑其实已经摆在那了。我习惯用下面这张表做决策参考对比项Stub区域完全StubNSSA区域完全NSSA过滤Type 4/5 LSA是是是是允许Type 7 LSA否否是是允许Type 3明细LSA是否是否区域内允许ASBR否否是是外部路由来源仅走默认路由仅走默认路由本区域ASBR产生的Type 7本区域ASBR产生的Type 7默认路由注入方式ABR自动下发Type 3ABR自动下发Type 3需配置Type 7为主ABR自动下发Type 3也可配Type 7选型的核心判断就一条末端区域需不需要在本地引入外部路由不需要选Stub还想再干净一点选完全Stub。需要选NSSA还想过滤区域间明细选完全NSSA。考试里常见的选择题也基本都是这个套路一个未梢区域下面挂了一台设备要引入外部路由问该区域应该配置什么类型。答案就是NSSA或完全NSSA选了Stub就错因为Stub区域禁止ASBR。5. 验证命令与排错思路别等路由丢了才想起看error表5.1 四条display命令确认特殊区域真正生效实验做完了怎么确认特殊区域真的生效我把最实用的四条命令按顺序整理一下display ospf peer # 邻居状态确认特殊区域配置后邻居没断 display ospf lsdb # 查看LSA类型确认被过滤的LSA消失 display ospf routing # 查看OSPF路由表确认外部路由/默认路由 display ip routing-table # 查看整机路由表确认最终转发路径配合具体场景配置Stub后display ospf lsdb里看不到Type 4和Type 5说明Stub生效配置完全Stub后Type 3明细消失、只剩默认路由说明no-summary生效配置NSSA后Type 5被过滤、出现Type 7说明NSSA生效配置完全NSSA后Type 3明细消失、Type 7保留说明no-summary生效每次配置变更后按这个顺序跑一遍基本能在几秒钟内定位问题。5.2 五个高频坑和完整排查链路坑一只配了一部分设备的Stub/NSSA邻居起不来。症状是display ospf peer看到邻居卡在Exstart或Exchange状态然后反复回到Down。原因是区域内设备对区域属性的认知不一致hello报文协商失败。排查链路先display ospf error看有没有AreaMismatch或者InterfaceDown计数快速增长再逐台核对display current-configuration configuration ospf确认所有设备Area 1下都有stub或者nssa关键字。少一台补一台多配了no-summary在非ABR上不影响邻居但你得知道那台设备上的no-summary是无效的。坑二Stub区域里出现了ASBR外部路由全部消失。症状是原本能看到的某些外部路由突然没了display ospf lsdb里Type 5和Type 4都不见了但邻居状态正常。原因是Stub区域过滤了Type 4域内路由器失去ASBR的位置信息Type 5即使存在也无法计算。解决办法很简单Stub区域内不允许产生外部路由需要引入外部路由的区域先改成NSSA再说。坑三NSSA区域里看不到外部路由。先在AR3上查display ospf lsdb确认Type 7 LSA是否存在。如果Type 7存在但路由表里没有看清AdvRouter是谁、P-bit置位没有如果Type 7根本不存在多半是ASBRAR4上的import-route static没生效或者静态路由本身没进路由表。AR4上可以用display ip routing-table protocol static确认静态路由是否在表里再display ospf routing确认OSPF有没有把它引入。我最常犯的错是把静态路由指向了不存在的接口导致静态路由虽然在配置里但永远不会生效。坑四完全Stub/完全NSSA配了no-summary但Type 3明细还在。症状是Area 1里还能看到192.168.2.0/24这类区域间明细no-summary好像没起作用。原因大概率是no-summary没配在ABR上或者配了但命令在错误的进程/区域视图下。对照拓扑确认哪台是ABRno-summary只对ABR有意义。区域内其他路由器配置stub no-summary不会有任何过滤作用。坑五类型转换没发生NSSA外部路由在Area 0里看不到。在AR2上看不到192.168.4.0/24的Type 5 LSA但AR3上Type 7是存在的。排查链路先确认Type 7 LSA的P-bit是否置位。如果P-bit没置位ABR默认不转换需要检查ASBR上引入外部路由的配置方式如果P-bit置位但转换没发生检查NSSA区域是否有转换路由器选举异常多ABR场景下可以临时shutdown一个接口让选举重新触发。5.3 查error表比抓包快但要学会看关键字段HCIP实验里有个很实用的技巧大部分OSPF故障display ospf error比抓包管用得多。不是所有问题都需要打开Wireshark看报文很多问题的根因在error计数器里已经写得明明白白。display ospf error输出里需要重点关注的几个字段AreaMismatch区域号不一致邻居协商失败AuthTypeFailure或AuthFailure认证类型或认证密码不一致Duplicate Router ID两台路由器Router ID冲突邻居关系反复震荡Inactive Neighbor或NeighborChange邻居状态频繁切换通常是hello/dead计时器或链路震荡看到AreaMismatch直接去核对两端的区域号看到AuthFailure去核对认证类型和密钥看到Duplicate Router ID把其中一台的Router ID改掉。debugging ospf packet是更细的排查手段但只在error表看不出问题的时候才用。启动调试前先terminal debugging打开终端输出做完实验记得undo debugging all关闭否则eNSP的CPU会被调试日志拖垮。我习惯的排查顺序是display ospf peer看邻居状态 →display ospf error看错误统计 →display ospf lsdb看LSA → 最后才考虑抓包或debug。这套流程下来90%的Stub/NSSA配置问题都能定位效率远高于上来就抓包。最后说一个实操习惯做特殊区域实验时一次只改一个区域改完立刻在观察设备上核对LSDB变化不要三台设备连续敲一堆命令再回头看效果。区域属性配置不像普通路由配置那样可以事后慢慢调它的错误会直接影响邻居关系和LSA泛洪分步验证能让你在最短时间内锁定是哪一步配置出了问题。STUB和NSSA这两个区域类型本质上是OSPF对规模与效率这对矛盾的折中方案实验做透一次后面学路由策略和BGP选路时你对LSA传递的理解会明显比别人扎实一截。
返回列表