搞了一个星期,终于搞定了,现在做一个总结 。
1.准备材料:
a.pptp客户端:pptp-1.7.2
下载地址 :http://sourceforge.net/project/showfiles.php?group_id=33063
b.ppp客户端ppp-2.4.4
ftp://ftp.samba.org/pub/ppp/或者在linux命令行下输入wget ftp://ftp.samba.org/pub/ppp/ppp-2.4.4.tar.gz
c.ppp-mppc-mppe补丁
在linux命令行下输入wget http://gaute.vetsj.com/arkiv/2008-03-19%20-%20arch-mppc/ppp/ppp-2.4.4-mppe-mppc.1.1.patch
注意:补丁的版本必须和ppp版本一致,且该补丁为必须,否则无法同WINDOWS 的VPN服务器实现加密链接
2.操作步骤
步骤一:将pptp-1.7.2解压,修改根目录下的Makefile文件,将CC=gcc改为arm-linux-gcc,保存退出后执行make命令,将生成pptp可执行文件。剥离调试信息后就可以将其拷贝到开发板的/usr/sbin目录下备用。
步骤二:执行tar zxvf ppp-2.4.4.tar.gz然后执行cd ppp-2.4.4。将 ppp-2.4.4-mppe-mppc.1.1.patch
拷贝到当前目录下,并执行patch -p1
执行./configure 生成Makefile文件
执行make CC=arm-linux-gcc
编译结束后在pppd目录下生成了一个名字为pppd的可执行文件,剥离调试信息后就可以下载至目标板的/usr/sbin目录下了。
3.连接测试。
到现在为止,一切已经就绪 ,准备连接你的VPN服务器了。
在开发板的命令行下输入以下命令
pptp --debug serverip user $username password $password mppc mppe stateless
serverip:VPN服务器IP地址或者域名
$username:连接使用的用户名,注意以后的参数都是传递给pppd的
$password:连接的密码
mppc:请求MPPC压缩
mppe:请求MPPE加密
stateless:无状态的加密方法。每一个包都采用单独的密码。
如果不出意料的话,你将获取到远端服务器给你分配的IP地址。执行ifconfig 验证,如果出现了名字为ppp0的设备,则表示你已经连接成功了。
如果没有成功,也不要灰心,用抓包工具查看连接过程,找到失败的原因,适当修改pppd的参数就可以了。