15分钟打造基于RedHat Linux EL4的PPTP VPN

  现在使用linux的环境越来越多,比如总部使用linux,但由于分支机构位置分散,不便于管理,所以还是使用windows,通常情况下我们都是通过 VPN的方式把分支机构与总部连接起来。通常情况下VPN有PPTP VPN,IPSEC VPN,L2TP VPN几种,PPTP最简便,IPSEC VPN最通用,各个平台都支持,L2TP VPN最安全,本人经过多次实验,终于成功,今天拿来给大家分享。

  下面我们来看看具体配置过程:

  (一)下载与安装

  由于Linux本身并没有集成PPTP功能,所以需要安装相关组件以让我们的RedHat支持PPTP,根据内核的版本,下载相应的安装包,我这里内核是kernel2.6.9-5.EL及2.6.14 ,所用组件如下:
  dkms-2.arch.rpm
  kernel_ppp_mppe-1.arch.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.安装内核MPPE(Microsoft Point to Point Encryption,微软点对点加密)补丁,安装命令如下:
  #rpm –ivh dkms-2.arch.rpm
  #rpm –ivh kernel_ppp_mppe-1.arch.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. 编辑 /f 文件,确定本地VPN服务器的IP地址和客户端登录后分配的IP地址范围。f是PPTP服务PPTPD运行时使用的配置文件,常用选项如下(#号后是选项说明):
linux中netstat命令  option /etc/ppp/options.pptpd #PPP组件将使用的配置文件
  #stimeout 10 #开始PPTP控制连接的超时时间,以秒计
  debug #把所有debug信息记入系统日志/var/log/messages
  localip 192.168.1.4 #服务器VPN虚拟接口将分配的IP地址
  remoteip 192.168.1.254 #客户端VPN连接成功后将分配的IP,如果是地址范围可表示为192.168.1.200-234的形式

  2. 编辑 /etc/ppp/options.pptpd 文件,它是PPP功能组件pppd将使用的配置文件,由于PPTP VPN的加密和验证都与PPP相关,所以PPTP的加密和验证选项都将在这个配置文件中进行配置。

  lock
  debug
  name vpn1
  refuse-pap
  refuse-chap
  refuse-mschap
  rrequire-mschap-v2
  require-mppe-128
  proxyarp

  3. 编辑 /etc/ppp/chap-secrets文件,在此配置能够连接到VPN服务器的用户、密码和IP等信息:
  # Secrets for authentication using CHAP
  # client server secret IP addresses
  aaa vpn1 "qazxsw123456" *

 
  (三)启动PPTP服务

    service pptpd start


  用 #netstat –an命令查看,TCP 1723端口是否处于监听状态。

  (四)防火墙配置

  要让外部用户能连接PPTP VPN,还需要在防火墙中加入以下规则(也就是将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 vpn server的设置就完成了,剩下任务的就是用Windows客户端进行测试了

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。