LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2629|回复: 8

Slackware 11 安装支持 MPPE 和 MPPC 的 PPTP VPN 服务器

[复制链接]
发表于 2008-4-13 03:01:40 | 显示全部楼层 |阅读模式
Slackware 11 安装支持 MPPE 和 MPPC 的 PPTP VPN

author: recoilest <recoilest@163.com>
qq:139371666
date: 2008-04-12

首先确定一下硬件和软件环境

硬件为 :
IBM 8434 桌面机
845G主板
内存: 512MB
网卡: Intel pro100 , rtl8139too
硬盘: IDE 80G

系统环境 :

Slackware 11 完整安装
Kernel : 2.4.33.3
当前用户: root

需要下载的软件:

核心补丁

  1. wget http://mppe-mppc.alphacron.de/linux-2.4.31-mppe-mppc-1.3.patch.gz
复制代码

PPTPD 服务端

  1. wget http://nchc.dl.sourceforge.net/sourceforge/poptop/pptpd-1.3.4.tar.gz
复制代码

PPP

  1. wget ftp://ftp.samba.org/pub/ppp/ppp-2.4.3.tar.gz
复制代码

PPP mppe mppc 补丁

  1. wget http://mppe-mppc.alphacron.de/ppp-2.4.3-mppe-mppc-1.1.patch.gz
复制代码

@为什么要用上文中的软件参考本文尾部备注

将下载的文件保存到/root/software下


开始工作:

1 补丁系统核心以支持MPPE MPPC

  1. cd /usr/src/linux
  2. zcat /root/software/linux-2.4.31-mppe-mppc-1.3.patch.gz|patch -p1
  3. patching file Documentation/Configure.help
  4. patching file crypto/Config.in
  5. patching file drivers/net/Config.in
  6. patching file drivers/net/Makefile
  7. patching file drivers/net/ppp_generic.c
  8. patching file drivers/net/ppp_mppe_mppc.c
  9. patching file include/linux/ppp-comp.h

复制代码

注意补丁文件的路径,编译模块的时候还要用到

2 编译模块
不必完整编译内核,把驱动编译成模块就可以了.

  1. make SUBDIRS=/usr/src/linux/drivers/net CONFIG_PPP=m \
  2. CONFIG_PPP_ASYNC=m \
  3. CONFIG_PPP_SYNC_TTY=m \
  4. CONFIG_PPP_DEFLATE=m \
  5. CONFIG_PPP_BSDCOMP=m \
  6. CONFIG_PPP_MPPE_MPPC=m modules;

  7. make SUBDIRS=/usr/src/linux/lib/zlib_deflate modules


复制代码

为什么要编译这两个文件夹下的文件?很明显上边补丁文件的路径就是.
在本机上此过程用了大约2分钟,我们只增加一个模块,以上是最快捷简单的方式.

3 应用模块

  1. mkdir -p /lib/modules/2.4.33.3/ppp
  2. cp /usr/src/linux/lib/zlib_deflate/zlib_deflate.o /lib/modules/2.4.33.3/ppp/
  3. cp /usr/src/linux/drivers/net/slhc.o /lib/modules/2.4.33.3/ppp/
  4. cp /usr/src/linux/drivers/net/ppp_generic.o /lib/modules/2.4.33.3/ppp/
  5. cp /usr/src/linux/drivers/net/ppp_async.o /lib/modules/2.4.33.3/ppp/
  6. cp /usr/src/linux/drivers/net/ppp_deflate.o /lib/modules/2.4.33.3/ppp/
  7. cp /usr/src/linux/drivers/net/bsd_comp.o /lib/modules/2.4.33.3/ppp/
  8. cp /usr/src/linux/drivers/net/ppp_mppe_mppc.o /lib/modules/2.4.33.3/ppp/

  9. echo "modprobe ip_gre" >> /etc/rc.d/rc.local
  10. echo "insmod /lib/modules/2.4.33.3/ppp/zlib_deflate.o" >> /etc/rc.d/rc.local
  11. echo "insmod /lib/modules/2.4.33.3/ppp/slhc.o" >> /etc/rc.d/rc.local
  12. echo "insmod /lib/modules/2.4.33.3/ppp/ppp_generic.o" >> /etc/rc.d/rc.local
  13. echo "insmod /lib/modules/2.4.33.3/ppp/ppp_async.o" >> /etc/rc.d/rc.local
  14. echo "insmod /lib/modules/2.4.33.3/ppp/ppp_deflate.o" >> /etc/rc.d/rc.local
  15. echo "insmod /lib/modules/2.4.33.3/ppp/bsd_comp.o" >> /etc/rc.d/rc.local
  16. echo "insmod /lib/modules/2.4.33.3/ppp/ppp_mppe_mppc.o" >> /etc/rc.d/rc.local

复制代码



4 安装PPPD并打上MPPE_MPPC补丁

  1. cd /root/software
  2. tar -zxvf ppp-2.4.3.tar.gz
  3. cd ppp-2.4.3
  4. zcat ../ppp-2.4.3-mppe-mppc-1.1.patch.gz |patch -p1

  5. patching file include/linux/ppp-comp.h
  6. patching file include/net/ppp-comp.h
  7. patching file pppd/ccp.c
  8. patching file pppd/ccp.h
  9. patching file pppd/chap_ms.c
  10. patching file pppd/pppd.8

复制代码


如果系统存在PPPD那么需要先卸载

  1. ls /usr/sbin/pppd && removepkg ppp
  2. cd /root/software/ppp-2.4.3
  3. ./configure && make && make install
复制代码


5 安装PPTPD


  1. cd /root/software/
  2. tar -zxvf pptpd-1.3.4.tar.gz
  3. cd pptpd-1.3.4
  4. ./configure && make && make install ;
  5. cp ./samples/pptpd.conf /etc/
  6. cp ./samples/chap-secrets /etc/ppp/
  7. cp ./samples/options.pptpd /etc/ppp/
  8. mkdir -p /usr/lib/pptpd
  9. cp ./plugins/pptpd-logwtmp.so /usr/lib/pptpd/pptpd-logwtmp.so
  10. echo "/usr/local/sbin/pptpd -d" >> /etc/rc.d/rc.local
  11. sh /etc/rc.d/rc.local
复制代码


6 配置PPTPD
修改PPTPD配置文件中PPPD的路径

  1. echo "ppp /usr/local/sbin/pppd" >> /etc/pptpd.conf
复制代码

将/etc/ppp/options.pptpd 文件中
require-mppe-128
一句注销(前边加#),否则服务器启动了也拨入不了
最好将/etc/pptpd.conf下的debug开启(去掉前边的#),以便于在
/var/log/syslog中查看错误信息.
根据需要修改分配的IP地址,localip和remoteip(非必须,在用户配置文件中也可以指定)

重新启动服务:

  1. killall pptpd && pptpd -d
复制代码


配置用户名和密码

编辑/etc/ppp/chap-secrets
内容:
[PHP]# Secrets for authentication using CHAP
# client        server          secret          IP addresses
# example_user  *               <password>      *
recoilest  pptpd  123456  "*"
#"recoilest"是拨入VPN用户名称; "pptpd" 是服务器名称; "123456"是拨入VPN密码;
#如果允许VPN自动分配远程接入IP地址,那么可以像上边一样设置为"*";
#如果需要指定远程IP地址的话可以这样:
#recoilest  pptpd  123456  10.87.200.6[/PHP]
这样设置就完成了.

在windows xp下创建一个典型安全策略的 VPN 连接测试下吧,连接成功以后看看状态
MPPE,MPPC都已经启用了,而且MPPC可以提升网络传输效率,参考链接(引用)
http://mppe-mppc.alphacron.de/#AEN266

关于/etc/pptpd.conf 和 /etc/ppp/options.pptpd中对应的配置含义,大家可以参考
我3年前写的Slackware 10 下的文章,因为版本不同配置参数并不通用.
http://www.linuxsir.cn/bbs/thread198549.html

如果在VPN上使用NAT转发,有些网站不能打开,一般是因为MTU引起的,可以通过iptable
转发链上的-j TCPMSS --set-mss来解决,其实单纯的VPN是死板的,本来准备写一个
iptables+vpn+(freeradius)+mysql+webcontrol 集成化的VPN管理平台,苦于没有时间.
过些时间再写吧,毕竟iptables+vpn+(freeradius)+mysql+webcontrol才是VPN王道.

因为时间原因,写的有些仓促,有什么问题大家和可以和我QQ或者Mail交流.

[color="RoyalBlue"]备注:

为什么要用以上几个版本?
因为ppp-2.4.3是在我测试所有版本中拨入速度最快而且最稳定的版本,2.4.4b1目前没有mppe mppc补丁
我把以上所有软件都下载在/root/software/下

MPPE是什么?
微软点对点加密(协议) ,
原文:Microsoft Point-To-Point Encryption (MPPE) Protocol
参考 http://www.faqs.org/rfcs/rfc3078.html

MPPC是什么?
微软点对点压缩(协议)
原文:Microsoft Point-To-Point Compression (MPPC) Protocol
参考 http://www.faqs.org/rfcs/rfc2118.html

author: recoilest <recoilest@163.com>
qq:139371666
date: 2008-04-13

[color="Red"]转载请说明出处.

附件中是一个自动安装脚本

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2008-4-13 08:41:34 | 显示全部楼层
支持加精。----
回复 支持 反对

使用道具 举报

发表于 2008-4-13 11:55:01 | 显示全部楼层

感谢recoilest...坐个板凳,好帖

板凳!!明白,详细!
回复 支持 反对

使用道具 举报

发表于 2008-4-13 14:03:13 | 显示全部楼层
先谢谢兄弟了~~~走别人走过的路,让别人说去吧~~~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-13 19:05:56 | 显示全部楼层
仁兄抬举我了,世上本无路,走的人多了,也便成了路.
回复 支持 反对

使用道具 举报

发表于 2008-4-15 07:28:00 | 显示全部楼层
能否做个2.6.24 slackware current下的???
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-15 21:20:53 | 显示全部楼层
不是我不想做,而是在我用slackware 12的时候出现了一些“灵异事件”,后来再搞的服务器我依然使用11,2.4.x的最后一个版本我相信比2.6.X的第一个版本还是稳定一些的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-15 21:21:37 | 显示全部楼层
改天试试___
回复 支持 反对

使用道具 举报

发表于 2008-4-23 19:31:10 | 显示全部楼层
mppe-mppc 只能夠支援到2.6.19...除非自己會改... http://isn.front.ru/files/patches/ (非官方).....我試過用2.6.18內建的ppp_mppe,經常沒訊號之外又沒有mppc ,後來打了上面的patch後就天下太平了..
ps. 我是用gentoo的, ppp-2.4.4-r14 加上mppe-mppc use flag就自動打了patch,很方便...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表