NE40E下bgp mpls vpn业务不通

发布时间:  2015-01-12 浏览次数:  465 下载次数:  0
问题描述

1、  组网如下:

2
、故障现象:PE1NE80EPE2NE40E-X8,2PE之间建立了bgp邻居,每个PE各下挂几个CE,其中CE1CE3下的vpna某网段(10.128.159.128/25)业务不通。
3
PE设备关键配置如下:

   #

ip vpn-instance vpna
     ipv4-family

  route-distinguisher 100:1

  vpn-target 100:1 export-extcommunity

  vpn-target 100:1 200:1 import-extcommunity

#

ip vpn-instance vpnb

 ipv4-family

  route-distinguisher 200:1

  vpn-target 200:1 export-extcommunity

      vpn-target 200:1 import-extcommunity

告警信息

处理过程

1、  由于vpna下的大部分业务都正常,只有其中一个网段业务不通,因此基本可以排除2PE之间的bgp邻居、mplsmpls lpd等方面的配置问题,集中排除不通业务网段的vpn路由;

2、  通过在PE1上查看vpna的路由,可以学习到需要互通的CE3侧的业务路由,在PE2上查看vpna的路由,也可以学习到需要互通的业务网段(10.128.159.128/25)路由,从PE侧看感觉没问题,难道是CE设备下路由配置有问题?由于CE设备为非华为设备,而且其下网络比较复杂,一时难于从CE上侧排查,而且客户反馈另外一个业务网段(10.128.159.0/25)是正常的,在PE2tracert路径跟踪10.128.159.1能正确跟踪到用户的CE网络,第一跳为PE1,而tracert路径跟踪10.128.159.129却第一跳都无法跟踪。

3、  难道路由表中学习到的路由为非正确路由?在PE1上查看10.128.159.0/2510.128.159.128/252个网段的vpn路由,都是从CE1ospf邻居学习,并且2条路由的cost值是一样的;

[PE1]dis ip routing-table vpn-instance vpna

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

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

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        10.128.159.0/25             O_ASE   150  15           D   1.1.13.2        GigabitEthernet0/0/1

        10.128.159.128/25        O_ASE   150  15           D   1.1.13.2        GigabitEthernet0/0/1

     但是在PE2查看此2段路由是却发现2条路由的cost值并不一样:

        [PE2]dis ip routing-table vpn vpna

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

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

   Destination/Mask       Proto     Pre  Cost      Flags NextHop         Interface

    10.128.159.0/25        IBGP      255  15         RD   1.1.1.1         GigabitEthernet0/0/0

10.128.159.128/25   IBGP       255  0          RD   1.1.1.1         GigabitEthernet0/0/0

     由于2PE之间是直接,2vpn的路由经过的路径是一样的,正常在PE2上学到的这2条路由的cost值应该是一样的,但在路由表中发现却不一样,难道在PE2上有210.128.159.128/25网段的路由,进一步查看PE2上收到的vpna路由:

[PE2]disp bgp vpnv4 vpn-instance vpna routing-table

 BGP Local router ID is 2.2.2.2

 Status codes: * - valid, > - best, d - damped,

               h - history,  i - internal, s - suppressed, S - Stale

               Origin : i - IGP, e - EGP, ? - incomplete

 VPN-Instance vpna, Router ID 2.2.2.2:

 Total Number of Routes: 719

      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

*>i  10.128.159.128/25    1.1.1.1           0          100        0      ?

 * i                                         1.1.1.1          15         100        0      ?

     通过查看vpna路由发现此网段确实有2条路由,而在路由表中优选了cost值小的路由,此路由是从何而来?

查看2PE的配置发现vpnaRT设置中同时接收了vpnb的路由,此路由是从vpnb学习到的?在PE1下查看vpnb路由表确实发现也存在此网段的路由:

[PE1]dis ip routing-table vpn-instance vpnb

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

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

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

10.128.159.128/25  Static   60   0          RD   1.1.14.2        GigabitEthernet0/0/2

     为了进一步确认是否为vpnb下的路由,再次在PE2上查看路由的详细信息,发现此路由的标签值为1028,通过标签值对比可以确定在PE2上学习到的10.128.159.128/25网段路由是vpnb引进的而不是vpna本身的路由。

[PE2]dis ip routing-table vpn-instance vpna 10.128.159.128 verbose

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

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

Routing Table : vpna

Summary Count : 1

Destination: 4.4.4.0/24

     Protocol: IBGP             Process ID: 0

   Preference: 255                    Cost: 0

      NextHop: 1.1.1.1           Neighbour: 1.1.1.1

        State: Active Adv Relied       Age: 00h12m44s

          Tag: 0                  Priority: low

        Label: 1028                QoSInfo: 0x0

   IndirectID: 0x3             

 RelayNextHop: 1.1.12.1          Interface: GigabitEthernet0/0/0

     TunnelID: 0x1                   Flags: RD

而在PE1上查看vpnavpnb为此网段分配的标签值为:

<PE1>dis mpls lsp verbose

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

                 LSP Information: BGP  LSP

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

  No                  :  3

  VrfIndex            :  vpna

  RD Value            :  0:0

  Fec                 :  4.4.4.0/24

  Nexthop             :  -------

  In-Label            :  1026

  Out-Label           :  NULL

  In-Interface        :  ----------

  Out-Interface       :  ----------

  LspIndex            :  4098

  Token               :  0x0

  LsrType             :  Egress

  Outgoing token      :  0x0

  Label Operation     :  POP

  Mpls-Mtu            :  ------

  TimeStamp           :  1475sec

  FrrToken            :  0x0

  FrrOutgoingToken    :  0x0

  BGPKey              :  -------

  BackupBGPKey        :  -------

  FrrOutLabel         :  -------

 

  No                  :  5

  VrfIndex            :  vpnb

  RD Value            :  0:0

  Fec                 :  4.4.4.0/24

  Nexthop             :  -------

  In-Label            :  1028

  Out-Label           :  NULL

  In-Interface        :  ----------

  Out-Interface       :  ----------

  LspIndex            :  4100

  Token               :  0x0

  LsrType             :  Egress

  Outgoing token      :  0x0

  Label Operation     :  POP

  Mpls-Mtu            :  ------

  TimeStamp           :  1480sec

  FrrToken            :  0x0

  FrrOutgoingToken    :  0x0

  BGPKey              :  -------

  BackupBGPKey        :  -------

  FrrOutLabel         :  -------

根因

VpnRT值设置错误导致其他vpn下的相同目的网段路由被引入导致

解决方案

1、  vpnaRT值中删除vpnbexport值,使vpna不再学习到vpnb的路由;

2、 重新规划vpna下的业务路由,保证2vpn的路由网段不冲突;


建议与总结

Bgp mpls vpn可以通过RT值灵活的控制vpn路由的学习,根据业务需求可以设置RT值来达到不通vpn业务互通,但由于不通vpn下往往可能会使用相同的私网网段,因此当有不通vpn业务需要互通的网络中需要特别注意业务网段的规划,务必确保需要互通的不同vpn下的路由也不能重复,否则很容易造成地址冲突。

END