扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
一、简介
首先我们先来介绍一下MPPE/MPPC的概念。
MPPE:Microsoft Point-to-Point Encryption,微软的点对点加密协议,可以对在点对点链路上传输的数据包进行加密,详细介绍请见RFC3078和RFC3079。
MPPC:Microsoft Point-to-Point Compression,微软的点对点压缩协议,可以对在点对点链路上传输的数据包进行压缩,详细介绍请见RFC21189。
那么要想在Linux环境下使PPTP VPN支持这两种协议,需要做两件事情:第一、给Linux内核打补丁,然后重新编译内核,让内核支持MPPE/MPPC。第二、给ppp套件打补丁,让ppp也支持MPPE/MPPC。好啦,知道了原理就好办了,下面就让我们一起来实现这些功能吧。
首先先来看看我们试验的环境,一台安装了Fedora core 2的服务器充当了连接内网与外网的NAT主机以及VPN服务器的作用。外网网卡IP:211.137.115.5,内网网卡IP:10.100.0.200。网络拓扑图如下:
二、下载
先来看看我们需要下载的套件吧。2.6.5-1.358
1、Linux Kernel 2.6.6
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.gz
2、linux-2.6.6-mppe-mppc-1.0.patch.gz
http://www.polbox.com/h/hs001/linux-2.6.6-mppe-mppc-1.0.patch.gz
3、ppp-2.4.3
ftp://ftp.samba.org/pub/ppp/ppp-2.4.3.tar.gz
4、ppp-2.4.3-mppe-mppc-1.1.patch.gz
http://www.polbox.com/h/hs001/ppp-2.4.3-mppe-mppc-1.1.patch.gz
5、pptp-1.1.4
http://internap.dl.sourceforge.net/sourceforge/poptop/pptpd-1.1.4-b4.tar.gz
把这些都下载到/usr/src目录下面,然后准备进行安装与配置。
三、安装
1、重新编译Linux内核,以支持MPPE/MPPC
Fedora core 2默认的内核版本为kernel 2.6.5-1.358,是不支持MPPE/MPPC的,所以我们要重新下载内核文件并且重新编译才行,这里选用了Kernel 2.6.6。
//解压缩内核文件
#tar zxvf linux-2.6.6.tar.gz
//给内核文件打补丁
#patch –p0 –i linux-2.6.6-mppe-mppc-1.0.patch.gz
#cd linux-2.6.6
//进入Linux内核文本配置界面
#make menuconfig
选择进入Device Drivers ->; Networking support ->;
<>; PPP BSD-Compress compression
<>; Microsoft PPP compression/encryption (MPPC/MPPE)
找到上面两项,分别按下空格键,最前面的<>;就会变成<M>;,如下
<M>; PPP BSD-Compress compression
<M>; Microsoft PPP compression/encryption (MPPC/MPPE)
表示将这两项以模块形式编译到内核里面。然后保存退出。
//建立相依的属性关系
#make dep
//将旧的资料删除
#make clean
//开始编译内核
#make bzImage
//开始编译模块
#make modules
//将资料安装在/lib/modules/2.6.6里面
#make modules_install
//将刚刚make bzImage建立完成的内核安装到系统里面
#make install
好啦,经过上面7个步骤就完成了内核编译的工作,是不是很简单呀,所以大家不要认为编译Linux内核很复杂,其实是非常简单的。
因为我们是以模块方式来安装补丁的,所以每次系统启动时都需要加载模块才行,因此我们要在/etc/rc.d/rc.local里面写入一行:
/sbin/modprobe ppp_mppe_mppc
2、安装PPP套件
因为Fedora core 2默认情况下已经安装了ppp-2.4.2-2,但是并不支持MPPE/MPPC,因此我们要先把它卸载掉,然后手工编译安装PPP。
#rpm -e --nodeps ppp
//解压缩ppp-2.4.3
#tar zxvf ppp-2.4.3.tar.gz
//给ppp打补丁
#patch –p0 –i ppp-2.4.3-mppe-mppc-1.1.patch.gz
#cd ppp-2.4.3
//进行编译安装
#./configure
#make
#make install
3、安装pptp套件
#tar zxvf pptpd-1.1.4-b4.tar.gz
#cd pptpd-1.1.4-b4
#./configure
#make
#make install
好啦,到这里我们已经完成了全部的安装工作,下面将要进行最后的配置工作了。
四、配置
这里需要修改如下3个配置文件。
/etc/pptpd.conf // Poptop配置文件
/etc/ppp/options.pptpd // Poptop选项文件
/etc/ppp/chap-secrets //账号、密码存放文件
/etc/pptpd.conf
option /etc/ppp/options.pptpd
debug
Logwtmp
localip 10.100.0.201
remoteip 10.100.0.202-210/etc/ppp/options.pptpd
name pptp
lock
mtu 1450
mru 1450
proxyarp
auth
ipcp-accept-local
ipcp-accept-remote
lcp-echo-failure 3
lcp-echo-interval 5
deflate 0# Handshake Auth Method
+chap
+mschap-v2# Data Encryption Methods
mppe required/etc/ppp/chap-secrets
#VPN客户账号和密码。
# Secrets for authentication using CHAP
# client server secret IP addresses
“username1” pptpd “password1” *
“username2” pptpd “password2” 10.100.0.203
注意:后面的IP地址栏可以知道次用户登陆后讲分配的IP地址,如果不具体指定,请用*号代替。启动NAT转发
echo "1" >; /proc/sys/net/ipv4/ip_forward
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
五、启动pptpd
# /usr/local/sbin/pptpd
好啊,到这里为止一个支持MPPE/MMPC的PPTP VPN服务器就架设完毕了,另外关于客户端的设置以及常见问题就不在这里讲了
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者