45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:怎么样在Linux下配置PPTP+MPPC+MPPC服务?

怎么样在Linux下配置PPTP+MPPC+MPPC服务?

2016-08-25 19:03:12 来源:www.45fan.com 【

怎么样在Linux下配置PPTP+MPPC+MPPC服务?

Author : Kendiv

Date : 2006.12.16

***********************************

所使用的软件

***********************************

1. linux-2.6.12.6.tar.bz2

2. linux-2.6.12-mppe-mppc-1.3.patch.gz

3. ppp-2.4.3.tar.gz

4. ppp-2.4.3-mppe-mppc-1.1.patch.gz

5. pptpd-1.3.3.tar.gz

***********************************

一、下载最新的Kernel源代码

***********************************

下载地址:http://www.kernel.org/pub/linux/kernel/

http://pptpclient.sourceforge.net/

News: MPPE in Linux 2.6.15

Linux kernel 2.6.15 has been released and includes the PPP MPPE encryption module,

which implements the Microsoft Point-to-Point Encryption method as a PPP compressor/decompressor.

This is necessary for Linux clients and servers to interoperate with

Microsoft Point-to-Point Tunneling Protocol (PPTP) servers

(either Microsoft PPTP servers or the poptop project) which use MPPE to encrypt data when creating a VPN.

Now that Linux includes the module, the PPTP projects recommend upgrading to 2.6.15.

-- James Cameron

看来如果使用 Linux 2.6.15的话,就不需要打MPPC/MPPE补丁

/* PPTPD */

http://sourceforge.net/project/showfiles.php?group_id=44827&release_id=138437

/* MPPC/MPPE */

http://mppe-mppc.alphacron.de/

***********************************

二、打MPPC/MPPE补丁

***********************************

#cp linux-2.6.12.6.tar.bz2 /usr/src/kernels

#cd /usr/src/kernels

#tar xvjf linux-2.6.12.6.tar.bz2

#Patch Kernel files

#cd /usr/src/kernels

#ln -s /usr/src/kernels/linux-2.6.12.6/ linux-2.6.12

#patch -p0 -i linux-2.6.12-mppe-mppc-1.3.patch.gz

/**********************************************************/

patching file linux-2.6.12/drivers/net/Makefile

patching file linux-2.6.12/drivers/net/ppp_generic.c

create the file linux-2.6.12/drivers/net/ppp_mppe_mppc.c

patching file linux-2.6.12/include/linux/ppp-comp.h

/**********************************************************/

***********************************

三、定制内核

***********************************

#cd /usr/src/kernels/linux-2.6.12/

#make clean

#make menuconfig

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=

ext2和ext3文件系统配置为: (全部选择)

File systems --->

<*>Second extended fs support

Ext2 extended attributes

Ext2 POSIX Access Control Lists

Ext2 Security Labels

<*>Ext3 journalling file system support

Ext3 extended attributes

Ext3 POSIX Access Control Lists

Ext3 Security Labels

JBB (ext3) debugging support

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=

选择进入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)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=

在 Cryptographic options 内把SHA1 、ARC4等以模块的方式加载。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=

***********************************

四、编译内核及模块

***********************************

#make -jn (n代表同时编译的进程,可以加快编译速度,n由你的配置决定,我的配置用15-25)

注意: 此命令已完成make bzImage及make modules的工作, 生成的bzImage内核文件在arch/i386/boot目录中,你的CPU不同内核文件存放位置也不同

注: 这一步比较耗时,根据机器配置,可能会消耗30分钟或更长时间。

***********************************

五、编译可加载模块和安装新内核

***********************************

如果用户在配置内核时设置了可加载模块,则需要对这些模块进行编译,以便将来使用insmod命令进行加载。

# make modules_install (安装内核模块到/lib/modules/2.x.x下)

# make install (完成mkinitrd命令及内核(bzImage)和System.map的拷贝)

完成后,请查看/boot目录,文件名是有区别的,如是GRUB引导,make install命令已帮你自动修改了引导选项,对于LILO则要手工修改,重写引导记录。

***********************************

检验内核和PPP是否支持MPPE/MPPE

***********************************

#strings 'which pppd' | grep -i mppe | wc --lines

如果以上命令输出为“0”则表示不支持;输出为"30"或更大的数字就表示支持。

#strings 'which pppd' | grep -i mppc | wc --lines

如果以上命令输出为“0”则表示不支持;输出为"7"或更大的数字就表示支持。

#dmesg | grep MPPE

MPPE/MPPC encryption/compression module registered

If you have compiled MPPE/MPPC as module, add to your /etc/modules.conf following line:

alias ppp-compress-18 ppp_mppe_mppc

编辑/etc/modules.conf配置文件,加入如下内容:

alias char-major-108 ppp_generic

alias tty-ldisc-3 ppp_async

alias tty-ldisc-14 ppp_synctty

alias ppp-compress-18 ppp_mppe_mppc # 我只增加了这一行

alias ppp-compress-21 bsd_comp

#alias ppp-compress-24 ppp_deflate

#alias ppp-compress-26 ppp_deflate

alias net-pf-47 ip_gre

每次系统启动时都需要加载模块才行,因此我们要在/etc/rc.d/rc.local里面写入一行:

/sbin/modprobe ppp_mppe_mppc

***********************************

安装PPP

***********************************

#rpm -e --nodeps ppp #卸载默认的ppp-2.4.2

#tar zxvf ppp-2.4.3.tar.gz

#patch –p0 –i ppp-2.4.3-mppe-mppc-1.1.patch.gz

#cd ppp-2.4.3

#./configure

#make

#make install

默认会将pppd安装到 /usr/local/lib/pppd 和 /usr/local/sbin/pppd

系统中原有的pppd安装在 /usr/lib/pppd目录下,如果前面已经 rpm -e --nodeps ppp.

就不用删除/usr/lib/pppd目录了。

***********************************

安装PPTP

***********************************

#tar zxvf pptpd-1.3.3.tar.gz

#cd pptpd-1.3.3

#./configure

#make

#make install

***********************************

修改配置文件

***********************************

/etc/pptpd.conf # Poptop配置文件

/etc/ppp/options.pptpd # Poptop选项文件(正确的options.pptpd是非常必要)

/etc/ppp/chap-secrets # 账号、密码存放文件

****************

/* pptpd.conf */

****************

#/etc/pptpd.conf

ppp /usr/local/sbin/pppd # Specifiy your pppd

option /etc/ppp/options.pptpd

debug

Logwtmp

localip 192.168.1.100 # VPN Server IP

remoteip 192.168.1.5,192.168.1.6 # Clients Ip Pool

*******************

/* options.pptpd */

*******************

#/etc/ppp/options.pptpd

name Mimi.VPN # VPN Server Name

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 # mppe require client use mschap-v2

# Data Encryption Methods

mppe required

logfile /var/log/pptpd.log # path of logfiles

ms-wins 192.168.1.2 # wins ip

ms-dns 192.168.1.2 # dns ip

*******************

/* chap-secrets */

*******************

#/etc/ppp/chap-secrets

# client server secret IP addresses

"Kendiv" Mimi.VPN "12345" *

上面第二行代码的四项内容分别对应第一行中的四项。"abc1"是Client端的VPN用户名;

"server"对应的是VPN服务器的名字,该名字必须和/etc/ppp/options.pptpd文件中指明的一样,

或者设置成"*"号来表示自动识别服务器;"secret"对应的是登录密码;

"IP addresses"对应的是可以拨入的客户端IP地址,如果不需要做特别限制,可以将其设置为"*"号。

***********************************

设置IP伪装转发

***********************************

只有设置了IP伪装转发,通过VPN连接上来的远程计算机才能互相ping通,实现像局域网那样的共享。用下面的命令进行设置:

#echo 1 > /proc/sys/net/ipv4/ip_forward

可以将这条命令放到文件/etc/rc.d/rc.local里面,以实现每次开机时自动运行该命令。

***********************************

启动pptpd

***********************************

# /usr/local/sbin/pptpd

***********************************

查看加载的Modules

***********************************

# depmod -a

# updatedb

# locate ppp|grep bi

我安装完成后,发现/var/log/messages里有如下内容:

Dec 16 14:53:26 MiMi kernel: PPP generic driver version 2.4.2 #不用管,只要制定真正的pppd所在路径即可.

Dec 16 14:53:26 MiMi kernel: MPPE/MPPC encryption/compression module registered # 表示MPPE/MPPC已经成功加载到Kernel

成功与VPN Server建立连接后,/var/log/messages里会有如下内容:

Dec 16 15:57:56 MiMi pptpd[5225]: CTRL: Starting call (launching pppd, opening GRE)

Dec 16 15:57:56 MiMi pppd[5226]: pppd 2.4.3 started by root, uid 0

Dec 16 15:57:56 MiMi pppd[5226]: Using interface ppp0

Dec 16 15:57:56 MiMi pppd[5226]: Connect: ppp0 <--> /dev/pts/1

Dec 16 15:57:59 MiMi pptpd[5225]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!

Dec 16 15:57:59 MiMi pppd[5226]: Warning - secret file /etc/ppp/chap-secrets has world and/or group access

Dec 16 15:57:59 MiMi pppd[5226]: MPPC/MPPE 128-bit stateful compression enabled

Dec 16 15:58:00 MiMi pppd[5226]: found interface eth0 for proxy arp

Dec 16 15:58:00 MiMi pppd[5226]: local IP address 192.168.1.100

Dec 16 15:58:00 MiMi pppd[5226]: remote IP address 192.168.1.5

Dec 16 16:01:01 MiMi crond(pam_unix)[5244]: session opened for user root by (uid=0)

本文地址:http://www.45fan.com/a/question/67533.html
Tags: linux 配置 PPTP+MPPC+MPPC
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部