本机具有相同RT值的不同VPN的业务在部署BGP ip-prefix策略后业务中断

发布时间:  2012-07-27 浏览次数:  202 下载次数:  2
问题描述
组网(详见附件):PCU��L3��(VPNA)NE40E(VPNB)��L3��SGSN,其中NE40E到L3之间使用静态路由,PCU和SGSN的网关全部在L3上。
NE40E的版本为:V300R003C02B697;为了方便管理网路,分布将PCU和SGSN的Gb口规划到不同的VPN中,为了保证他们之间的互通,给了两个VPN相同的RT值,从而使业务运行正常。
之后用户处于网路安全考虑,避免CE侧错误引入路由导致业务异常,只允许特定的网段才能被VPN接收。于是用户在ip vpn-instance视图下运用定义好的BGP ip-prefix策略。但是在运用策略后业务中断,而且即使连接在同一台NE40E的PCU和SGSN也无法正常通讯。取消BGP ip-prefix策略后业务正常,用户认为同一台NE40E下的PCU和SGSN只需要使用静态路由就可以互通,下发策略后业务中断属于华为BGP模块软件BUG,要求我司给出解释和解决方案。
告警信息
SGSN的Gb口出现NSE链路告警
处理过程
根据上面的分析,我知道由于即使在同一台设备上RT、RD值完全一样的不同VPN之间的直连路由互通都是通过MBGP来学习的,而直连路由的有无又决定了业务网段路由的可用性,故要解决目前的问题,就需要我们在过滤策略中允许直连路由所在的网段通过,则可以解决这个问题。
如法配置后,问题解决。
根因
一般处理这种策略运用后错误作用的问题,一般有以下几个步骤:
1、 运用策略视图错误,导致路由命中错误,导致失败
2、 同时运用了多种BGP策略,相互之间造成影响,导致失败
3、 软件存在BUG,导致相关的过滤出现问题。
4、 对过滤策略考虑不足,未包括必要的直连路由等辅助路由,导致失败
如果想控制VPN中的路由学习范围,主要有两个地方可以实施策略,一个是在ipv4-family vpn-instance视图下在import 其他协议路由时我们可以用路由过滤机制控制从其他路由协议学习过来的路由,另一个是在ip vpn-instance视图下实施BGP策略,从而通过过滤从MBGP学习过来路由来控制从远端学习来的私网路由。从用户需求来看,采用ip vpn-instance视图下实施import route-policy策略是对的,排除第一种情况的可能性。
由于目前全网在相关的VPN中只使用了一种策略,所以不存在策略之间相互影响的可能性,故排出第二种情况的可能性。
由于我们使用路由模拟器进行类似的配置,故障得到重现,加之这个是维护版本,所以可以基本排除版本BUG的可能性。
所以我们需要考虑可能存在路由过滤控制过严,导致部分必要的过渡性路由没有引入的可能性,但是在本次案例中就连在同一台设备下不通VPN下的路由学习都受到影响了,所以我们需要重新分析下ip vpn-instance视图下import route-policy的策略作用范围,从而找到影响本地路由学习的原因。在命令指导中说这个命令的作用范围是:“用于将当前VPN实例与一条入方向路由策略进行关联”;根据这个分析,我发现这里描述的是入方向,就是说凡是从MBGP学习来的路由均为入方向。于是我们在模拟器上查看,发现在BGP表项中有相关PCU和SGSN的业务网段信息,但是都是不可达信息;再和取消配置后的路由表进行比对,我们发现其中L3与NE40E之间的直连路由网段被过滤掉是造成这个情况的主要原因。因此说明即使即使在同一台设备上RT、RD值完全一样的不同VPN之间的直连路由互通都是通过MBGP来学习的,所以本问题需要将互联网段也加入到ip-prefix策略。实施新的策略后问题解决。
建议与总结
1、 在同一台设备上即使RT、RD值完全一样的不同VPN之间的路由信息也是从MBGP学习到的,而非直接在设备共享信息。
2、 所以大家在理解命令行手册中的“入方向”时不能等同理解成“远端PE”而是应该理解成所有从MBGP学习过来的路由。
3、 利用模拟器进行模拟故障,重现可以极大的提升我们的定位组网类问题的速度,建议大家定位类似故障时多多使用。

END