PPTP VPN的安装部署

PPTP是对端对端协议(PPP)的一种扩展,它采用了PPP所提供的身份验证、压缩与加密机制。PPTP能够随TCP/IP协议一道自动进行安装。PPTP与Microsoft端对端加密(MPPE)技术提供了用以对保密数据进行封装与加密的VPN服务。 MPPE将通过由MS-CHAP、MS-CHAP v2身份验证过程所生成的加密密钥对PPP帧进行加密。为对PPP帧中所包含的有效数据进行加密,虚拟专用网络客户端必须使用MS-CHAP、MS-CHAP v2身份验证协议。

安装环境说明:

角色 操作系统 IP地址 主机名
宿主机(Win7客户端) Windows 7 x64
172.28.88.182

192.168.49.1

cyjx-lp
PPTP VPN Server CentOS 6.5 x86_64
eth0:192.168.49.133

eth1:192.168.140.128

vpnserver.contoso.com
内网服务器 CentOS 6.5 x86_64 eth0:192.168.140.129 vpnclient.contoso.com

实验目的:假设192.168.49.0/24段是外网IP,192.168.140.0/24段是内网段,现在的需求是用户在办公室环境下172.16.28.0/24段要能访问内网段的服务器(192.168.140.129)。

因为192.168.49.0/24段属于外网IP,所以办公室网络能ping通VPN Server的外网段,但是如何能让客户端访问内网段的其他服务器(服务器数量较多的情况下),就是要通过VPN解决的问题了。

虚拟机网卡设置

宿主机本地连接信息

宿主机ping外网和内网段的主机

这个是内网服务器的IP设置

步骤一:安装条件检测

安装之前首先要验证内核是否加载MPPE模块

modprobe ppp-compress-18 && echo ok

如果返回结果为ok,则表示已加载。

[[email protected] ~]# modprobe ppp-compress-18 && echo ok
ok

cat /dev/net/tun

如果上面的命令的执行结果为以下文本,则表示通过检测:

cat: /dev/net/tun: File descriptor in bad state

[[email protected] ~]# cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state

检查PPP是否支持MPPE

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

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

如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,MPPE(Microsoft Point to Point Encryption,微软点对点加密)。

[[email protected] ~]# strings ‘/usr/sbin/pppd‘ |grep -i mppe | wc --lines
42

提示:Centos 6.4内核版本在2.6.15以上,都默认集成了MPPE和PPP,因此上面是否支持MPPE的检查可以忽略。

步骤二:安装ppp和iptables

yum -y install perl ppp iptables

步骤三:安装pptpd

因为使用yum安装了ppp,所以再去要用rpm方式安装pptpd的时候,就要注意ppp的版本和pptpd的版本要对应,因为yum安装ppp基本上都是最新版本,所以如果安装的pptpd版本太旧,有可能会报错。

基本而言,两者的对应关系如下(关于版本问题,参见:http://www.dabu.info/centos6-4-structures-pptp-vpn.html):

ppp 2.4.4——>pptpd 1.3.4

ppp 2.4.5——>pptpd 1.4.0

当然,网上也有pptpd的源码安装包,但是非常不建议使用源码安装,可能各种依赖关系处理时间下来都能做好几遍rpm安装了。

[[email protected] ~]# rpm -qa ppp
ppp-2.4.5-10.el6.x86_64

已经安装了ppp版本2.4.5,所以需要下载对应的pptpd 1.4.0.

[[email protected]vpnserver ~]# mkdir -p /opt/tools

[[email protected]vpnserver ~]# cd /opt/tools

[[email protected]vpnserver tools]# wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.x86_64.rpm

rpm -ivh pptpd-1.4.0-1.el6.x86_64.rpm

步骤四:修改配置文件

cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak

echo -e "ms-dns 8.8.8.8\nms-dns 8.8.4.4" >>/etc/ppp/options.pptpd

# 添加dns配置

[[email protected] tools]# tail -2 /etc/ppp/options.pptpd
ms-dns 8.8.8.8
ms-dns 8.8.4.4

echo "test  pptpd  123456  *" >>/etc/ppp/chap-secrets

# 创建vpn用户名和密码

[[email protected] tools]# tail -1 /etc/ppp/chap-secrets 
test  pptpd  123456  *

cp /etc/pptpd.conf /etc/pptpd.conf.bak

echo -e "localip 192.168.140.128\nremoteip 192.168.9.100-150" >>/etc/pptpd.conf

# 设置vpn服务器端IP和客户端的IP地址范围

[[email protected] tools]# egrep -v "#|^$" /etc/pptpd.conf
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.140.128
remoteip 192.168.9.100-150

sed -i ‘/net.ipv4.ip_forward/s/0/1/‘ /etc/sysctl.conf

# 启用Linux内核ip转发功能

sysctl -p

步骤五:启动pptpd服务

chkconfig pptpd on

/etc/init.d/pptpd start

pptpd安装脚本:

#!/bin/bash
#
modprobe ppp-compress-18
RETVAL1=$?
cat /dev/net/tun >/dev/null 2>/tmp/temp
grep "File descriptor in bad state" /tmp/temp >/dev/null
RETVAL2=$?
MPPE_NUM=`strings ‘/usr/sbin/pppd‘ |grep -i mppe | wc --lines`
if [ $RETVAL1 -eq 0 ] && [ $RETVAL2 -eq 0 ] && [ $MPPE_NUM -gt 30 ];then 
     echo "Your system support pptpd well."  
else 
 echo "Sorry, your system didn‘t support pptpd."  
 exit 1
fi
yum -y install perl ppp iptables 2>/dev/null 1>/dev/null 
rpm -qa perl ppp iptables >/dev/null 
[ $? -ne 0 ] && echo "You need install necessary packages first." && exit 1 || echo "Install necessary packages successful."
[ ! -d /opt/tools ] && mkdir -p /opt/tools && cd /opt/tools || cd /opt/tools
PPPVersion=`rpm -qa ppp |awk -F"-" ‘{print $2}‘`
case ${PPPVersion} in 
    2.4.4)
    wget ftp://rpmfind.net/linux/sourceforge/h/ho/hostable/centos6/pptpd-1.3.4-2.el6.x86_64.rpm >/dev/null 
rpm -ivh pptpd-1.3.4-2.el6.x86_64.rpm >/dev/null 
;;
2.4.5)
    wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.x86_64.rpm >/dev/null 
rpm -ivh pptpd-1.4.0-1.el6.x86_64.rpm >/dev/null 
;;
*)
    echo "You need check the ppp version on your system, then choose the right pptpd package to download."
exit 1 
;;
esac
if [ -f /etc/ppp/options.pptpd ];then 
     cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak 
     echo -e "ms-dns 8.8.8.8\nms-dns 8.8.4.4" >>/etc/ppp/options.pptpd 
else 
     echo "File /etc/ppp/options.pptpd lost."
 exit 1
fi
 
pass=`openssl rand 6 -base64`
if [ "$1" != "" ]
then pass=$1
fi
echo "vpn pptpd ${pass} *" >> /etc/ppp/chap-secrets
if [ -f /etc/pptpd.conf ];then 
     cp /etc/pptpd.conf /etc/pptpd.conf.bak
     echo -e "localip 192.168.140.128\nremoteip 192.168.9.100-150" >>/etc/pptpd.conf
else 
     echo "File /etc/pptpd.conf lost."
 exit 1
fi 
sed -i ‘/net.ipv4.ip_forward/s/0/1/‘ /etc/sysctl.conf 
sysctl -p >/dev/null
chkconfig pptpd on 
service pptpd start >/dev/null 
[ $? -eq 0 ] && echo "Install pptpd and start service successful." || echo "Install pptpd occured some error." && exit 1
时间: 2024-08-06 21:47:18

PPTP VPN的安装部署的相关文章

Centos7搭建pptp VPN一键安装脚本

Centos7搭建pptp一键安装脚本 废话不多说,先上脚本地址:Centos7一键pptp 使用: wget https://raw.githubusercontent.com/DanylZhang/VPS/master/CentOS7-pptp-host1plus.sh chmod +x ./CentOS7-pptp-host1plus.sh ./CentOS7-pptp-host1plus.sh -u your_username -p your_password 1 2 3 可在-u.-p

CentOS 6、7下pptp vpn一键安装脚本

之前有折腾过<CentOS 6.7下IPSEC/L2TP VPN一键安装脚本>,不稳定.不支持IOS,因此换成pptp,并已经添加到<lnmp一键安装包>.这个脚本可以单独使用,直接复制或下载执行即可,不用依赖安装包的其它脚本. CentOS 6.7下pptp vpn一键安装脚本,安装如下: wget http://mirrors.linuxeye.com/scripts/vpn_centos.sh chmod +x ./vpn_centos.sh ./vpn_centos.sh

linux PPTP VPN客户端安装

转载于http://www.2cto.com/os/201209/157462.html 下载pptp-1.7.2.tar.gz http://pptpclient.sourceforge.net/ root用户上传至linux主机/tmp目录 解压安装: cd /tmp tar xzf pptp-1.7.2.tar.gz cd pptp-1.7.2 make && make install 更改配置: 1.更改拨号用户信息文件 cd /etc/ppp vi chap-secrets #

CentOS 6、7 下 pptp vpn 一键 安装 脚本

wget http://mirrors.linuxeye.com/scripts/vpn_centos.sh chmod +x ./vpn_centos.sh ./vpn_centos.sh 如下源码: #!/bin/bash # # Author: yeho <lj2007331 AT gmail.com> # Blog: http://blog.linuxeye.com # # Installs a PPTP VPN-only system for CentOS # Check if us

转载 - Vultr VPS注册开通且一键快速安装PPTP VPN和电脑连接使用

本文转载来自:https://www.vultrclub.com/139.html 从2014年Vultr VPS进入市场之后,作为有背景.实力的搅局者,是的最近两年VPS.服务器的用户成本降低.配置提升,在一定程度上也是由Vultr商家的出现导致的. 从配置新家比看,Vultr VPS还是有足够的优势的,比如全部SSD固态硬盘.768MB内存起步才5美金月付,而且新注册用户还赠送最高50美金(新注册Vultr账户赠送50美元快捷通道). 对于我们用户,选择VPS主机的时候要便宜.稳定且好用的,

centos6.4安装搭建pptp vpn服务

centos6.4安装搭建pptp vpn服务的大致步骤简介,下面会有详细的步骤(我不喜欢写大纲,决定麻烦,但是有人还是看不懂,所以勉为其难的写了个,实在不会的,我在文章的后面提供一些网上的centos pptp vpn 一键安装包,有人写了就不必再写一遍了,一键安装包要是有问题,也别找我,新手想享受自己亲手一步步具体搭建过程的乐趣,就接着看看吧): 1.先检查vps是否满足配置pptp vpn的环境.因为有的openvz的vps被母鸡给禁用了.其实,你在配置前最好向vps的客服发TK,可能客服

CentOS 6搭建PPTP VPN

CentOS 6.5搭建PPTP VPN 1.       安装pptp $ yum -y install ppp pptpd 2.       配置pptpd $ vi /etc/pptpd.conf 将如下两行的注释打开: #localip 192.168.0.1 #remoteip 192.168.0.234-238,192.168.0.245 其中localip是拨入vpn后的网关,remoteip是vpn分配和客户端的地址池,可以自行修改,localip会在pptpd服务器的ppp0网

tp-link映射pptp vpn测试可行

pptp vpn 详细安装配置文档 1.基础环境: 安装的操作系统为centos 6.4 32位. 公司的内网地址段为192.168.11.0/24. Centos的ip地址为eth0 192.168.11.104. SP为电信宽带,有TP-LINK7500拨号连接外网. TP-LINK7500内置绑定花生壳免费域名. 2.操作系统的一些基础设置: Centos需要安装各种软件,一般使用源来安装.可以架设本地源,也可以使用一些稳定的网络公司提供的在线源.建议使用163网易的源. 地址:mirro

Centos7下安装及配置PPTP VPN

说到VPN服务,我们大家都知道,VPN是虚拟专用网络(Virtual Private Network)的缩写,VPN有多种分类方式,包括PPTP.L2TP.IPSec等,本文配置的VPN服务器是采用PPTP协议的,PPTP是在PPP协议基础上开发的一种新的增强型安全协议.当然在windows上和linux上都可以部署服务,我们今天主要介绍一下在Centos7下安装及配置PPTP VPN. 因为PPTP是基于PPP协议基础上的,因此需要系统支持PPP,使用 rpm -qa ppp 检查是否安装了P