S5720OSPF收不到外部路由

问题描述

客户两台交换机互联,接口上绑定了VPN实例uplink。两台设备之间运行OSPF协议,邻居关系建立正常。S2上引入了一条外部路由10.18.0.0/24,在S1的路由表中无法查看到此路由条目,客户环境中未做路由过滤策略。

S1部分配置如下:

ip vpn-instance uplink
ipv4-family
route-distinguisher 1:1

ospf 100 router-id 10.10.255.13 vpn-instance uplink
import-route static route-policy static2ospf
area 0.0.0.0

 

 

告警信息

 

处理过程

 

由于两端设备邻居关系正常,直接查看在S1上是否收到10.18.0.0/24的5类LSA,结果如下:

<WGQ_SYY_DS_SW>dis ospf 100 lsdb ase 10.18.0.0

OSPF Process 100 with Router ID 10.10.255.13
Link State Database

Type      : External
Ls id     : 10.18.0.0
Adv rtr   : 10.10.255.9
Ls age    : 978
Len       : 36
Options   :  E
seq#      : 80004ef7
chksum    : 0x96a9
Net mask  : 255.255.0.0
TOS 0  Metric: 20
E type    : 2
Forwarding Address : 0.0.0.0
 Tag       : 0
  Priority  : Low

结果显示,S1上存在该网络的5类LSA,由于之前已经排查过配置信息,不存在路由过滤,接下来定位该路由不加表的原因。

从上面的参数中发现Tag为0。Route Tag只用于VPN场景,防止CE双归属时,5类LSA发生环路。在PE上当OSPF发现一条5类LSA的Tag和自己Route Tag的一样,就会忽略这条路由不进行处理。当一个CE接入两个PE时,PE1将根据引入的BGP路由产生的5类LSA发给CE,CE又将这条LSA发给PE2,由于OSPF的路由比BGP的路由优先级高,在PE2中就会将BGP路由替换为OSPF路由,产生环路。

Route Tag的默认值是根据BGP的AS号计算得到的。如果没有配置BGP,则默认值为0。检查S1的配置发现该环境中并未运行BGP,所以两端设备的Tag都为0,由此初步判断路由不加表的原因为环路检测不通过。

将ospf vpn-instance的route-tag值修改为和收到的LAS的tag值不一致

<huawei>system

[huawei]ospf 100 vpn-instance uplink

[Huawei-ospf-100]route-tag 100

查看路由表,发现路由学习正常。

根因

    两端设备的route-tag一样,S1收到的外部路由的tag与S1的route tag一致,被交换机误认为路由环路,将其丢弃,从而出现路由不加表的现象。

解决方案

   更改某端设备的route tag值。

阅读剩余
THE END