动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   服务器 → 阅读文章

 RH Linux 9下面的VPN Server架设指南

作者:无从考证 来源:网易学院 
阅读 数 240 人次 , 2006-2-15 18:20:00 

Server: Red Hat Linux 9 Kernel 2.6.10

  Client: Win2000 Pro/Server SP4,WinXP SP2

  Server所需要:

  www.kernel.org
  kernel: linux-2.6.10.tar.bz2

  http://www.polbox.com/h/hs001/
  kernel_patch: linux-2.6.10-mppe-mppc-1.2.patch.gz
  pppd: ppp-2.4.3.tar.gz
  pppd_patch: ppp-2.4.3-mppe-mppc-1.1.patch.gz
  pptpd: pptpd-1.2.3.tar.gz

  为了方便起见,可以把它们放在同一个目录下

  我不喜欢用RPM方式安装,所以都是用的源码方式编译安装

  一、先给内核打补丁

# tar zjvf linux-2.6.10.tar.bz2 # gunzip 
linux-2.6.10-mppe-mppc-1.2.patch.gz # patch -p0 -i
linux-2.6.10-mppe-mppc-1.2.patch # ln –s linux-2.6.10 linux
# cd linux # make menuconfig Device Drivers ->Networking Support->


  把 "PPP support" 编进内核,你也可作为模块编译。

PPP Support for async serial ports PPP Support for sync 
tty ports PPP Deflate compression Microsoft PPP
compression/encryption (MPPC/MPPE)" Cryptographic options


  把 "Cryptographic API" 编进内核,你也可作为模块编译。确保SHA1 和 ARC4 支持已经选上:

SHA1 digest algorithm ARC4 cipher algorithm


  保存配置文件,退出

  编译内核

  make all modules modules_install install

  修改/etc/modprobe.conf (2.4的Kernel请修改/etc/modules.conf)

  重启,进入2.6.10


因为密码是明文显示的,最好能修改文件权限,使root作为owner和chmod 700

vi /etc/modules.conf alias char-major-108 
ppp_generic alias /dev/ppp 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


  重新启动

# reboot


  在我这里 alias ppp-compress-18 ppp_mppe_mppc 好像没用,只好手动加载:

# modprobe ppp_mppe_mppc


  确认内核支持

strings `which pppd`|grep -i mppe|wc --lines 30 
###大于等于30就行##### [strings `which pppd`|grep -i
mppc|wc --lines 7 #### 不为 0 ##### dmesg | grep MPPE
MPPE/MPPC encryption/compression module registered


  启动pptpd

# /usr/local/sbin/pptpd Mar 17 23:07:32 localhost pptpd[4471]: 
MGR: Manager process started Mar 17 23:07:32 localhost pptpd[4471]:
MGR: Maximum of 10 connections available


  设置客户端连接,“安全”里面选择自定义,如图所示,这里取决于你在option.pptpd里面的设置:

Mar 17 23:09:59 localhost pptpd[4473]: CTRL: 
Client 192.168.1.136 control connection started
Mar 17 23:09:59 localhost pptpd[4473]: CTRL:
Starting call (launching pppd, opening GRE)
Mar 17 23:09:59 localhost pppd[4474]: pppd 2.4.3
started by root, uid 0 Mar 17 23:09:59 localhost pppd[4474]:
Using interface ppp0 Mar 17 23:09:59 localhost pppd[4474]:
Connect: ppp0 <-->/dev/pts/1 Mar 17 23:10:02 localhost pptpd[4473]:
CTRL: Ignored a SET LINK INFO packet with real ACCMs!
Mar 17 23:10:02 localhost pppd[4474]: MPPC/MPPE 128-bit
stateless compression enabled Mar 17 23:10:04 localhost
pppd[4474]: found interface eth0 for proxy arp
Mar 17 23:10:04 localhost pppd[4474]: local IP address 192.168.1.3
Mar 17 23:10:04 localhost pppd[4474]: remote IP address 192.168.1.230


  成功!

  除了那个红色的一行外,不知是何原因?

注: 2.4.x的内核除了patch文件和modules.conf文件外,其它都类似。为什么pppd的选项文件里面会有不同?pptp客户端是基于PPP协议的。PPP需要MPPE加密协议支持来支持某些PPTP服务器。

  早期的版本包含了OpenSSL授权的源码,这一部分源码是独立于PPP项目的;这就是PPP-MPPE 2.4.0(红色)。稍晚些的版本使用了BSD授权的源码,这些源码是PPP项目的一部分;这就PPP 2.4.2 及其更高版本了(绿色),第三个就是使用了Jan Dubiec的patch,加入MPPC 支持的版本(蓝色)

  对每个版本来说,PPP MPPE支持需要有两个部分。其一是内核的支持,另外就是pppd程序的支持。这两个部分必须是同一个版本,如果两个的版本不一致,产生的结果就是pppd程序报告这样的错误:内核不支持。两个版本的详细对比:

PPP-MPPE 2.4.0no further development? no response to 
problems has known problems such as kernel panics OpenSSL
license directly conflicts with kernel license when loaded,
does not indicate a license conflict requires /etc/modules.conf
changes module file name mppe.o (or ppp_mppe.o) +mppe-128
(inconsistent with existing option names) mppe-stateless
require-chapms-v2 (incorrect protocol name)


PPP 2.4.2 and laterongoing development by PPP project 
active response to problems by developers has no known
problems at this time (stay tuned) BSD license does not
conflict (as much) with kernel license when loaded,
indicates a license conflict requires no /etc/modules.conf
changes module file name
ppp_mppe.o require-mppe-128nomppe-statefulrequire-mschap-v2


  这两个版本的pppd程序也有不同的命令行参数。

  如果你是从老的PPP-MPPE 2.4.0 包升级过来的,请修改/etc/ppp/options.pptp 和 /etc/ppp/peers文件中已经存在的tunnels名称,采用与MPPE支持相关的正确的pppd参数命名。

  PPTP客户端项目以前使用的参数选项命名是对非官方的打了MPPE补丁的PPP而言的。从那时起,PPP项目组就采用了他们的命名使其与其它pppd选项一致。

  
 本文Tagslinux  组网  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:浅谈关于Unix操作系统下的病毒特点
· 下一篇:Linux操作系统故障恢复技巧
· wingate FAQ大全
· 基于Jave的Web服务工作机制(5)
· G容量邮件服务器DIY
· 为Windows 2003移植系统还原
· Windows 2000 内置命令的简介


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077