注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天边云E家 shaoruisky

IT博文共享,知识的海洋

 
 
 

日志

 
 

Fedora Core下建立支持MPPE/MPPC的PPTP VPN服务器  

2009-08-18 16:10:31|  分类: linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

一、简介

    前段时间笔者写了一篇《Fedora core 2下建立Poptop服务器以及常见问题》的文章,收到许多朋友的欢迎,但是那篇文章只支持MPPE数据加密,不支持MPPC数据压缩,未免有些遗憾,所以笔者再接再厉阅读了一些文档,终于使PPTP VPN实现了MPPC数据压缩功能。首先我们先来介绍一下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。网络拓扑图如下:

图1:网络拓扑图

Fedora Core下建立支持MPPE/MPPC的PPTP VPN服务器 - MICRO CORE - 天边云E家screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0>

二、下载

先来看看我们需要下载的套件吧。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

  评论这张
 
阅读(263)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016