RD选取不当导致Internet默认路由的学习问题

发布时间:  2012-07-27 浏览次数:  77 下载次数:  6
问题描述
    B国三牌项目,两个核心机房拓扑如附件所示,两个核心机房各有一个internet出口,核心机房的每个PE都连到各自区域的internet出口路由器。Internet出口路由器下发默认路由给PE。
    由于核心机房P之间的链路带宽有限,所以规划每个核心机房的internet业务仅用其自己的internet出口,在Internet出口路由器出现故障的时候,本地核心机房的internet业务也不能使用远端核心机房的internet出口,即internet业务不能穿越P设备之间的链路。
    为了达到上述效果,在T PE上部署策略,T PE不接受下一跳为H PE的internet默认路由;同时H PE上也部署对称的策略。
    部署完上述策略后发现 T PE2上只能看到一条默认的internet路由,即internet出口路由器直接下发给T PE2的,缺少下一跳为T PE1的internet默认路由,如果T PE2到internet出口路由器之间的链路发生故障,T PE2上的internet业务就中断了(无法绕到T PE1后再上internet)。
告警信息

处理过程
    原PE上的VPN实例配置是标准的双平面配置,如下:
      T PE1:
        ip vpn-instance VPN-Internet-Service
  route-distinguisher 65120:1000
           vpn-target 65120:1000 export-extcommunity
           vpn-target 65120:1000 import-extcommunity
      T PE2:
        ip vpn-instance VPN-Internet-Service
  route-distinguisher 65120:1050
           vpn-target 65120:1000 export-extcommunity
           vpn-target 65120:1000 import-extcommunity
      H PE1:
        ip vpn-instance VPN-Internet-Service
  route-distinguisher 65120:1000
           vpn-target 65120:1000 export-extcommunity
           vpn-target 65120:1000 import-extcommunity
      H PE2:
        ip vpn-instance VPN-Internet-Service
  route-distinguisher 65120:1050
           vpn-target 65120:1000 export-extcommunity
           vpn-target 65120:1000 import-extcommunity
    由此在T P1上看来,一共存在2条internet默认路由,一条是65120:1000:0.0.0.0,下一跳是T PE1或者H PE1,优选结果是下一跳为H PE1的。另一条是65120 :1050 :0.0.0.0,下一跳是T PE2或者H PE2,优选结果是下一跳为H PE2的。T PE2无法收到下一跳为T PE1的internet默认路由就是因为T P1上的优选结果和策略有冲突。

    修改所有PE上的Internet实例RD为不同值,如下:
      T PE1:
        ip vpn-instance VPN-Internet-Service
  route-distinguisher 65120:1000
           vpn-target 65120:1000 export-extcommunity
           vpn-target 65120:1000 import-extcommunity
      T PE2:
        ip vpn-instance VPN-Internet-Service
  route-distinguisher 65120:1050
           vpn-target 65120:1000 export-extcommunity
           vpn-target 65120:1000 import-extcommunity
      H PE1:
        ip vpn-instance VPN-Internet-Service
  route-distinguisher 65120:1010
           vpn-target 65120:1000 export-extcommunity
           vpn-target 65120:1000 import-extcommunity
      H PE2:
        ip vpn-instance VPN-Internet-Service
  route-distinguisher 65120:1060
           vpn-target 65120:1000 export-extcommunity
           vpn-target 65120:1000 import-extcommunity
    这样在T P1上就能看到4条完全不同的internet默认路由,下一跳也都不一样,不存在优选问题,全部反射给T PE2,结合先前部署的策略,T PE2上就能看到下一跳为T PE1的internet默认路由了。
根因
    T P1和H P1是全网的反射器,分别在T PE和T P上debug BGP的update信息后发现,T PE1已经将internet默认路由发给了T P1,但是T P1没有反射给T PE2,继续观察T P1上的BGP VPNV4路由表发现T PE1传过来internet默认路由不是最优的,最优的internet默认路由是H PE1传过来的,所以T P1反射给T PE2的internet默认路由下一跳是H PE1的,但是先前的策略不允许T PE接受来自H PE的internet默认路由,最终T PE2无法收到下一跳是T PE1的internet默认路由。
建议与总结

END