2 yangmeicoship yangmeicoship 于 2013.09.03 09:26 提问

vpn穿越nat的问题,相当的困惑,请高手指点

我是做3G无线路由开发的,路由的实现原理是NAPT,
vpn有三种实现方式:pptp,l2tp,ipsec,网上都有说明怎么实现vpn穿越NAT,
相关介绍有:
NAPT原理:http://linux.chinaunix.net/techdoc/beginner/2009/05/21/1113964.shtml
vpn不能穿越NAT的原因:http://bbs.csdn.net/topics/360130768
vpn怎么才能穿越NAT:http://www.linuxidc.com/Linux/2012-08/67884.htm

我用我自己的android手机添加了这三种vpn,发现有两个问题:
1.用PPTP连接公司搭建的vpn服务器上网,不到十分钟,发现上不了了,
用wireshark抓包后发现 是ppp数据包中出现了protocol reject的控制包
根据网上搜索到的PPTP和NAT共存的帖子,我只是做了ip和call id的转换,并没有修改gre协议负载的ppp数据包

2.用L2TP连接公司搭建的vpn服务器,连上以后不作任何事情,多十分钟左右就会断开。抓包显示,是收到一个Stopccn的L2TP控制小时,原因是超时。但是这中间一直有hello的心跳包,不明白为什么会超时。

这两个问题困惑了我好几个礼拜,哪位高手帮忙解释一下是为什么? 谢谢先

Csdn user default icon
上传中...
上传图片
插入图片