NE40E静态路由描述错误导致无法重分布到ospf

发布时间:  2016-09-06 浏览次数:  353 下载次数:  0
问题描述

2台NE40E替换思科路由器,NE40E之间建立ospf,替换后发现在NE40E-1上配置的静态路由重分布至ospf时不生效,对端NE40E-2无法学习到NE40E-1引入的静态外部路由。

NE40E-1关键配置如下:

#

ip route-static 172.19.1.0 255.255.255.0 172.16.1.2 description TO_5loubangong tag 10

#

route-policy import permit node 0

 if-match tag 10

#

ospf 1

 import-route static route-policy import

 area 0.0.0.0

  network 172.16.18.0 0.0.0.255

但在NE40E-2设备上无法学习到NE40E-1引入的172.19.1.0路由

处理过程

1、ospf邻居状态正常,其他ospf路由能正常学习,ospf引入的静态路由无法被邻居学习到首先怀疑路由重分发的第一台NE40E-1的静态路由本身是否生效?

----通过检查NE40E-1本身的路由表确定静态路由是生效的,说明静态路由本身没问题。

<NE40E-1>dis ip routing-table 172.19.1.0

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Table : Public

Summary Count : 1

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

     172.19.1.0/24  Static  60   0          RD   172.16.1.2      GigabitEthernet1/0/1

2、是否NE40E-2的路由表太大,超过规格导致路由无法加表?

----查看NE40E-2的路由表只有几十条路由,不会是超规格导致。

3、查看配置发现NE40E-1在引入静态路由时配置了策略路由,是由于策略路由导致没能正常引入?

----检测策略配置没什么问题,策略中引入的是带tag标识为10的静态路由,而NE40E-1上配置的静态路由同样标识为tag 10

4、是NE40E的路由策略本身有问题吗?尝试在NE40E-1的ospf重分布静态路由时不带策略路由,修改如下:

ospf 1

 import-route static

 area 0.0.0.0

  network 172.16.18.0 0.0.0.255

---修改后发现在NE40E-2确实能学习到NE40E-1重分发的路由

<NE40E-2>dis ip routing-table 172.19.1.0

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Table : Public

Summary Count : 1

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

     172.19.1.0/24  O_ASE   150  1           D   172.16.18.1     GigabitEthernet1/0/0

5、难道是设备不支持策略路由的问题?经过确认NE40E是支持策略路由的,通过进一步查看NE40E-2学习到的路由详细信息如下:

<NE40E-2>dis ip routing-table 172.19.1.0 verbose 

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Table : Public

Summary Count : 1

Destination: 172.19.1.0/24

     Protocol: O_ASE           Process ID: 1

   Preference: 150                   Cost: 1

      NextHop: 172.16.18.1      Neighbour: 0.0.0.0

        State: Active Adv             Age: 00h02m08s

          Tag: 1                 Priority: low

        Label: NULL               QoSInfo: 0x0

   IndirectID: 0x0              

 RelayNextHop: 0.0.0.0          Interface: GigabitEthernet1/0/0

     TunnelID: 0x0                  Flags:  D

从路由详细信息看NE40E-2学习到的这台ospf外部路由的tag为1,而NE40E-1上配置的tag为10,跟之前策略路由中匹配的tag值不一致,问题应该就是出现在这里

6、为何静态路由中配置的tag值为10,而发布到ospf后tag值改为默认的1呢?仔细检测静态路由的配置以及对比文档说明发现NE40E设备的静态路由description描述中是可以存在空格符合的,即配置中description TO_5loubangong tag 10的tag 10也属于描述中的一部分,而不是真正的tag值,修改静态路由如下后正常:

ip route-static 172.19.1.0 255.255.255.0 172.16.1.2 tag 10 description TO_5loubangong

根因

由于设备的静态路由description描述支持空格字符,配置静态路由时错误的把tag值配置到description描述后面,设备识别的是description中的值而不是真正的tag值,从而导致引入路由时匹配tag不生效

解决方案

修改静态路由配置后解决

建议与总结

1、配置静态路由时一般把description描述放在最后面配置,其他参数放在前面

2、修改产品配置description描述时不能携带空格符合

END