`
Fangrn
  • 浏览: 798981 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CentOS 5.3 下快速安装配置 PPTP VPN 服务器

阅读更多

   VPN的英文全称是“Virtual Private Network”,翻译过来就是“虚拟专用网络”。顾名思义,虚拟专用网络我们可以把它理解成是虚拟出来的企业内部专线。它可以通过特殊的加密的通讯协议 在连接在Internet上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路,就好比是架设了一条专线一样,但是它并不需要真正的去铺设 光缆之类的物理线路。这就好比去电信局申请专线,但是不用给铺设线路的费用,也不用 购买 路由器等硬件设备。VPN技术原是路由器具有的重要技术之一,目前在交换机,防火墙设备或Windows等软件里也都支持VPN功能,一句话,VPN的核心就是在利用公共网络建立虚拟私有网。

   虚拟专用网(VPN)被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。虚拟专用网 是对企业内部网的扩展。虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。虚拟专用 网可用于不断增长的移动用户的全球因特网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路,用于经济有效地连接到商业伙伴和用户的安 全外联网虚拟专用网。

  PPTP 全称为 Point to Point Tunneling Protocol -- 点到点隧道协议,是VPN协议中的一种。

  
一、CentOS 5.3 下 PPTP VPN 服务器安装

  1、安装相关软件

yum install -y ppp iptables
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm

Kernel version 2.6.15 or above has MPPE built-in which is required for MSCHAPv2. CentOS 5 kernel version is 2.6.18 that means you do not need to install the MPPE module.
CentOS 5 comes with ppp-2.4.4-1.el5 and it is MPPE support enabled.
Run the command below to test if your kernel supports MPPE and you should get a return an “ok”: -
#modprobe ppp-compress-18 && echo ok

检查PPP是否支持MPPE
用以下命令检查PPP是否支持MPPE:

#strings '/usr/sbin/pppd' |grep -i mppe | wc --lines

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




  2、配置文件编写
  ①、配置文件/etc/ppp/options.pptpd

vi /etc/ppp/options.pptpd


  输入以下内容:

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd

 



  ②、配置文件/etc/ppp/chap-secrets

mv /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak
vi /etc/ppp/chap-secrets


  输入以下内容

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
myusername      pptpd   mypassword               *


  注:这里的myusername和mypassword即为PPTP VPN的登录用户名和密码



  ③、配置文件/etc/pptpd.conf

mv /etc/pptpd.conf /etc/pptpd.conf.bak
vi /etc/pptpd.conf


  输入以下内容:

option /etc/ppp/options.pptpd
logwtmp
localip 192.168.9.1
remoteip 192.168.9.11-30


  注:为拨入VPN的用户动态分配192.168.9.11~192.168.9.30之间的IP



  ④、配置文件/etc/sysctl.conf

mv /etc/sysctl.conf /etc/sysctl.conf.bak
vi /etc/sysctl.conf


  修改以下内容:

net.ipv4.ip_forward = 1



  保存、退出后执行:

/sbin/sysctl -p

 



  3、启动PPTP VPN 服务器端:

Run the following command to enable the pptpd to start automatically in runlevel 3 and 5 as below: -
chkconfig --level 35 pptpd on

/sbin/service pptpd start

 



  4、启动iptables:

/sbin/service iptables start
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.9.0/24 -j MASQUERADE


   5、 打开防火墙端口

  将Linux服务器的1723端口和47端口打开,并打开GRE协议。

  #/sbin/iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
  #/sbin/iptables -A INPUT -p tcp --dport 47 -j ACCEPT
  #/sbin/iptables -A INPUT -p gre -j ACCEPT

二、Linux的客户端连接到该vpn

在centos下搭建了一个基于pptpd的vpn,Linux的客户端连接到该vpn的配置方法:
1.确认内核是否在2.6.15之后,如果早于该版本,需要安装MPPE

2.确认是否安装ppp
#rpm -qa | grep ppp
如果没有,需要安装ppp的rpm,CentOS光盘中有
#rpm -ivh ppp-2.4.4-2.el5.i386.rpm

3.安装客户端pptd(http://pptpclient.sourceforge.net)
#rpm -ivh ./pptp-1.7.2-3.rhel5.i386.rpm

4.配置
# pptpsetup --create tunnelname --server xxx.xxx.xxx.xxx--username 用户名 --password 密码 --encrypt

5. 连接
# pppd call tunnelname

6. 断开
# killall pppd

注意事项:

在处理路由的时候采用client to lan方式,需要增加对方lan的路由或者目标网络的路由.

# route add -net 192.168.39.0 netmask 255.255.255.0 dev ppp0
ppp0是pptp连接的名字, 如果不确定 可以使用ifconfig命令查看

 7.启动脚本
   #!/bin/bash
#pptp.sh
E_NOARGS=65

if [ -z "$1" ] || [ "$#" -ne 1  ];then
   echo "Usage:`basename $0` start|stop"
   exit $E_NOARGS

fi

case "$1"  in
  
     start)
        cd /etc/ppp/peers/;pppd call vpn
        echo "pppd start  Success!!!"
        ;;
     stop)
           killall pppd
         echo "pppd end  Sucess!!!"
        ;;
      *) echo "Usage:`basename $0` start|stop"
        ;;
esac

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics