数通产品AR2240(V200R005)BGP业务对接导致学不到路由信息

发布时间:  2016-12-12 浏览次数:  134 下载次数:  0
问题描述

1、版本信息:V200R005

2、组网概述:三台路由器;A与B连接,使用EBGP对接,B与C连接,使用IBGP对接,在A上发布一条路由,在C上无法显示;

3、组网拓扑图:

 

4、配置脚本:

路由器A的配置信息:

interface GigabitEthernet0/0/0
 description to-B
 ip address 10.0.2.2 255.255.255.0
#
interface LoopBack1
 ip address 6.6.6.6 255.255.0.0
#
bgp 200
 peer 10.0.2.1 as-number 100
 #
 ipv4-family unicast
  undo synchronization
  network 6.6.0.0 255.255.0.0
  peer 10.0.2.1 enable

路由器B的配置信息:

interface GigabitEthernet0/0/0
 description to-C
 ip address 10.0.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
 description to-A
 ip address 10.0.2.1 255.255.255.0
#
bgp 100
 peer 10.0.1.2 as-number 100
 peer 10.0.2.2 as-number 200
 #
 ipv4-family unicast
  undo synchronization
  network 10.0.1.0 255.255.255.0
  peer 10.0.1.2 enable
  peer 10.0.2.2 enable

路由器C的配置信息:

interface GigabitEthernet0/0/1
 description to-B
 ip address 10.0.1.2 255.255.255.0
#
bgp 100
 peer 10.0.1.1 as-number 100
 #
 ipv4-family unicast
  undo synchronization
  peer 10.0.1.1 enable

 

5、故障现象的详细描述:

路由器A与路由器B之间建立EBGP邻居关系,路由器B与路由器C之间建立IBGP邻居关系,路由器A发布关于6.6.6.6/16给路由器B,路由器B把从EBGP学到的路由发布给IBGP邻居路由器C,在路由器C上无法访问6.6.6.6/16;

处理过程

1、查看路由器C的路由表,发现没有到达6.6.0.0/16网段的路由;如下信息所示:

<C>dis ip rou
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 7        Routes : 7       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

       10.0.1.0/24  Direct  0    0           D   10.0.1.2        GigabitEthernet0/0/1
       10.0.1.2/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
     10.0.1.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

2、再查BGP路由表,发现6.6.0.0/16的下一跳地址为10.0.2.2;但路由器C上并没有到达10.0.2.2 的路由;如下信息所示:

<C>dis bgp rou

 BGP Local router ID is 10.0.1.2
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

   i  6.6.0.0/16         10.0.2.2        0          100        0      200i
   i  10.0.1.0/24        10.0.1.1        0          100        0      i

根因

1、在BGP 中,对于从IBGP和EBGP学来的路由的下一跳的处理是不同的。

2、EBGP邻居发布路由时会把路由的下一跳改为自己的出接口地址,而EBGP邻居在发布从EBGP学到的路由时默认情况下不会改变下一跳。

解决方案

在路由器B配置next-hop-local命令,如下信息所示:

bgp 100
 peer 10.0.1.2 as-number 100
 peer 10.0.2.2 as-number 200
 #
 ipv4-family unicast
  undo synchronization
  network 10.0.1.0 255.255.255.0
  peer 10.0.1.2 enable
  peer 10.0.1.2 next-hop-local
  peer 10.0.2.2 enable

将从EBGP学到的路由下一跳改为自己的接口地址,这样就不会出现下一跳不可达导致的路由失效问题了

建议与总结
1、建议配置注意将从EBGP邻居学到的路由发给IBGP邻居时,需要将下一跳信息修改为自己本地地址,否则可能导致路由失效的问题。

END