15分钟打造基于RedHat Linux EL4PPTP ×××

现在使用linux的环境越来越多,比如总部使用linux,但由于分支机构位置分散,不便于管理,所以还是使用windows,通常情况下我们都是通过×××的方式把分支机构与总部连接起来。通常情况下×××PPTP ×××IPSEC ×××L2TP ×××几种,PPTP最简便,IPSEC ×××最通用,各个平台都支持,L2TP ×××最安全,本人经过多次实验,终于成功,今天拿来给大家分享。
  下面我们来看看具体配置过程:
  ()下载与安装
  由于Linux本身并没有集成PPTP功能,所以需要安装相关组件以让我们的RedHat支持PPTP,根据内核的版本,下载相应的安装包,我这里内核是kernel 2.6.9 -5.EL2.6.14 ,所用组件如下:
  
dkms-2.0.6-1.noarch.rpm
  
kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
  
ppp-2.4.3-5.rhel4.i386.rpm
  pptpd-1.3.0-0.i386.rpm
  1.PPTP需要PPP支持,虽然系统本身有PPP功能,但它并不支持MPPE,所以需要更新系统的PPP组件,下载ppp- 2.4.3 -5.rhel4.i386.rpm安装命令如下:
  # rpm -Uvh ppp-2.4.3-5.rhel4.i386.rpm
  2.安装内核MPPEMicrosoft Point to Point Encryption,微软点对点加密)补丁,安装命令如下:
   #rpm –ivh dkms- 2.0.6 -1.noarch.rpm
  
#rpm –ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
  用以下命令检查内核MPPE补丁是否安装成功,MPPE module可否载如:

  #modprobe ppp-compress-18 && echo success
  3.安装pptpd,命令如下:
  #rpm –ivh pptpd- 1.3.0 -0.i386.rpm
  4.用以下命令检查PPP是否支持MPPE
   #strings '/usr/sbin/pppd'|grep -i mppe|wc --lines
  46 <如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,我这里为46>
  ()修改配置文件
  1. 编辑 /etc/pptpd.conf 文件,确定本地×××服务器的IP地址和客户端登录后分配的IP地址范围。pptpd.confPPTP服务PPTPD运行时使用的配置文件,常用选项如下(#号后是选项说明)
  option /etc/ppp/options.pptpd #PPP组件将使用的配置文件

  #stimeout 10 #开始PPTP控制连接的超时时间,以秒计

  debug #把所有debug信息记入系统日志
/var/log/messages
  localip 192.168.1.4 #服务器×××虚拟接口将分配的IP地址

  remoteip 192.168.1.254 #客户端×××连接成功后将分配的IP,如果是地址范围可表示为192.168.1.200-234的形式
  2. 编辑 /etc/ppp/options.pptpd 文件,它是PPP功能组件pppd将使用的配置文件,由于PPTP ×××的加密和验证都与PPP相关,所以PPTP的加密和验证选项都将在这个配置文件中进行配置。
   lock
  
debug
  
name ***1
  
refuse-pap
  
refuse-chap
  
refuse-mschap
  
rrequire-mschap-v2
  
require-mppe-128
  proxyarp
  3. 编辑 /etc/ppp/chap-secrets文件,在此配置能够连接到×××服务器的用户、密码和IP等信息:
  
# Secrets for authentication using CHAP
   # client server secret IP addresses
  aaa ***1 "qazxsw123456" *
  
  ()启动PPTP服务
    service pptpd start
  用 #netstat –an命令查看,TCP 1723端口是否处于监听状态。
  ()防火墙配置
  要让外部用户能连接PPTP ×××,还需要在防火墙中加入以下规则(也就是将Linux服务器的1723端口和47端口打开,并打开GRE协议):
  ()PPTP服务器上开启NAT服务,以便于客户端上网
  echo "1" > /proc/sys/net/ipv4/ip_forward (这一项一定要否则不能访问到内部计算机)
  iptables -t nat -A POSTROUTING -j SNAT --to XXX.XXX.XXX.XXX
  安装动态域名客户端软件
  ()由于PPTP客户端需要知道PPTP服务器的IP,但这里的ADSL拨号又是动态IP,所以我们需要安装一个动态域名客户端软件,这样PPTP客户端只要知道服务器的动态域名就行了。可以使用金万维的免费动态域名,这样ADSL拨号之后动态域名客户端软件将自动更新域名和IP对应值。。。
  
==========================================================
  到这里Linux pptp *** server的设置就完成了,剩下任务的就是用Windows客户端进行测试了。。。