科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道实例讲解:VPN内无法访问某些WEB站点解决方案

实例讲解:VPN内无法访问某些WEB站点解决方案

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

某地区的政务网MPLS/VPN网络经过改造之后, SITE B的用户反映无法访问SITE A内的WWW服务器的主页。

来源:中国IT实验室 2009年4月1日

关键字: 网络技术 VPN 解决方案

  • 评论
  • 分享微博
  • 分享邮件

  一、网络概述

  

图片点击可在新窗口打开查看

  图1:某地市政务网原有网络拓扑

  

图片点击可在新窗口打开查看

  图2:某地市政务网改造后网络拓扑

  某地市政务网采用MPLS/VPN技术为各个行政部门构建VPN,与省一级VPN实现互通。原有网络采用CISCO7206作为PE,与省政务网的PE(CISCO GSR12000)建立MP-BGP。 为了提升网络性能同时实现省、地市、县三级MPLS VPN网络,采用BH6808作为地市级PE设备,建立与省PE的MP-BGP邻居关系,同时BH6808作为路由反射器,建立与该地市所辖的各个县的PE的MP-BGP邻居关系。

  注:以上拓扑仅仅是现实网络环境的一个抽象。

  二、问题描述

  某地区的政务网MPLS/VPN网络经过改造之后, SITE B的用户反映无法访问SITE A内的WWW服务器的主页。

  三、问题分析及处理过程

  1、经过验证,上述现象确实存在。

  2、在SITE B的PC上PING SITE A内的WWW 服务器,不通,PING SITEA的VPN1的VRF接口地址,可以通。

  3、将SITEB的CE设备重新连接到CISCO7206,在SITE B的PC上PING SITE A内的WWW 服务器,不通,但是可以访问WWW服务器的主页。可以断定SITE A内部网络中启用了ICMP的过滤功能。问题不一定出在VPN内部的路由上。

  4、因为无法通过PING来定位问题,因此希望通过抓包来找到一些蛛丝马迹。重新将SITEB的CE设备连接到BH6808上,在SITE B的PC上访问SITE A内的WWW 服务器的同时使用SNIFFER工具抓包。

  5、从抓包结果来看,从SITE A的WWW 服务器返回了几个报文,证明VPN内部路由没有问题。仔细观察发现IP报文的分片字段一项被设置为不允许分片。由此可以推断该WWW服务器网卡作了报文不分片的设置。正常的HTTP报文最大为1500BYTE,由于在MPLS/VPN传递,封装两层MPLS标签(在倒数第二跳弹出的情况下,外层标签被弹出,只封装一层VPN标签)之后,报文长度超过了默认的MTU,即1500BYTE。如果MPLS网络中的设备不支持超长帧的传递,并且该报文不允许分片的情况下,那么该报文就会被丢弃,并向该报文的源发送一个ICMP报文,指明设备收到的报文超过MTU但是该报文却被设置了不允许分片。

  6、问题初步定位为MPLS VPN数据转发路径上MTU小于MPLS FRAME的长度所致。那么MTU的瓶颈位于MPLS域内哪个设备上呢?由于BH6808的新的NP芯片支持超长MPLS FRAME转发。因此排除了自身设备出问题的可能。由于CISCO GSR设备也支持超长MPLS FRAME转发,问题最终定位在CISCO7206上。通知代理商修改CISCO7206接口的MTU为1544,问题解决。

  7、那么如何解释原有网络中SITE B可以访问SITE A的WEB服务器,而改造后却无法访问呢?下面从HTTP访问的流量模型来逐步分析:

  A、在原有网络中,从SITE B内PC发送到SITE A内WEB SERVER的HTTP请求报文或者TCP确认报文,正常情况下都是很小的报文,即使封装两层MPLS标签也不会超过1500 BYTE,因此CISCO7206上与CISCO GSR相连的接口即使使用默认MTU也没有问题;

  B、从SITE A的WEB SERVER发送到SITE B内PC的HTTP报文通常是1500BYTE,加上两层MPLS标签之后必然超过默认的MTU值,即1500BYTE。CISCO GSR设备也支持超长MPLS FRAME转发。因此问题GSR当CISCO7206收到这个超长MPLS FRAME之后,由于它本身是PE,从VRF接口转发出去的报文就是普通的IP报文,MPLS头部信息已经被剥离,因此不会超过1500BYTE。所以SITE B的PC可以正常SITE A的WEB SERVER。

  C、改造之后的网络,BH6808作为PE,而CISCO7206作为P设备。从SITE A到SITE B的HTTP报文长度如果为1500 BYTE,那么该报文被转发到CISCO7206时,由于BH6808默认启动PHP(MPLS 标签倒数第二跳弹出)所以CISCO7206继续转发给BH6808的报文需要携带一层MPLS标签,即VPN标签,这样1500BYTE长度的HTTP加上一层标签之后就超过了默认的MTU值,所以就被丢弃了。SITE B的PC无法访问SITE A的WEB SERVER的主页的现象的原因就在于此。

  四、总结

  解决问题的过程就是逐步缩小问题范围的过程。

  面对一个复杂问题,首先要冷静分析,将可能导致问题的诸多因素列出来,通过各种手段逐一进行验证排除。在此过程中,不放过任何蛛丝马迹,并善于运用联想和推理分析,逐步缩小问题范围,问题的症结一定会被最终锁定。

  较为复杂的网络问题往往可能涉及到很多互连的网络设备,部分的网络设备配置情况我们可以获得,其余部分对于我们来说可能就是一个“黑盒子”,在我们没有确凿的证据或充分合理的理由的情况下,提出查看或修改其他设备的配置进行验证的要求,用户很难接受,甚至有的用户对自己的整体网络环境也说不清楚。在这种信息不充分的情况下,善于联想和推理分析的能力尤其重要,联想可以使我们思路发散,找出各种可能的因素;推理可以帮助我们更为准确地锁定问题,找到根源。

  面对现场问题,急噪对于问题的解决不但没有任何帮助,反而会让用户首先对我们失去信心。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章