一、装包

yum  -y  install   pptpd-1.4.0-2.el7.x86_64.rpm    //系统光盘不自带,需要自行下载

二、修改配置文件并启动软件

rpm    -qc    pptpd     //查询一下该软件有哪些配置文件, c的意思是configuration

vim  /etc/pptpd.conf    //修改主配置文件,文件末尾有例子可以参考,localip和remoteip两行注释去掉,localip是服务器ip,remoteip是指给客户端分配的ip

vim  /etc/ppp/options.pptpd      //客户端使用的Windows所以要修改一下ms-dns,比如 8.8.8.8或者114.114.114.114

vim  /etc/ppp/chap-secrets      //设定客户端登陆的用户名和密码,文件中server和IP  address  填 * ,意思是任意ip

systemctl   restart   pptpd        //启动软件,没有报错就是启动了

netstat     -utnlp  |  grep   pptpd    //查看一下监听状态,确认一下

三、echo   1  >  /proc/sys/net/ipv4/ip_forward    //打开端口转发

iptables    -t  nat   -A POSTROUTING -o   eth0    -j  MASQUERADE    //设置nat地址转换

四、如果使用的阿里云ecs,需要在安全组放行全部GRE协议,以及tcp  1723

五、telnet   服务器ip    1723     //测试一下端口是否能通信

粗略写了个脚本:

#!/bin/bash
#该脚本是安装pptpd软件服务端
#指定vpn服务器IP地址
LOCALIP=47.75.183.37
#测试pptpd程序监听端口状态
MON=$(netstat -utnlp|grep  pptpd|awk  '{print  $4}'|awk -F: '{print $2}')

yum  -y  install  pptpd-1.4.0-2.el7.x86_64.rpm  2&>/dev/null
echo "正在为您安装pptpd软件,请您稍候。。。。。。"
#修改主配置文件,指定localip和客户端分配的ip
echo  "localip  $LOCALIP"  >>  /etc/pptpd.conf
echo  "remoteip 192.168.4.1-20" >>   /etc/pptpd.conf
#指定Windows客户端DNS服务器
sed  -i  '65c ms-dns 8.8.8.8/'   /etc/ppp/options.pptpd
#指定客户端连接的用户名和密码
sed  -i '$a tom * 123456 *' /etc/ppp/chap-secrets
#启动程序,设置开机自启
systemctl restart  pptpd
systemctl  enable  pptpd 2&> /dev/null

#打开端口转发
echo   1  >  /proc/sys/net/ipv4/ip_forward    
#设置nat地址转换
iptables    -t  nat   -A POSTROUTING  -o   eth0    -j  MASQUERADE   
#确定端口监听状态
#[ "$MON" ==  "1723" ] &&  echo "恭喜您,pptpd成功安装,并且启动成功!!!" || echo "安装失败"  //不知道为什么会有报错???所以注释掉了
echo "监听端口为$MON,恭喜您,服务器启动成功!!!"

PPTP搭建的更多相关文章

  1. Linux PPTP搭建

    PPPTP概述 tcp1723 1,安装 rpm -ivh ppp--14.1.rhel5.x86_64.rpm #安装ppp rpm -ivh pptpd--.rhel5.x86_64.rpm #安 ...

  2. Ubuntu14.04下搭建VPN服务 -pptp

    在Ubantu下采用PPTP搭建VPN,优点是配置简单快捷.本教程亲自测试,熟练了在新机器上5分钟搞定VPN. - - - - - - - - - - - - - - - - - - - - - - ...

  3. 阿里云centos7基于搭建VPN

    本文参考自:http://www.xxkwz.cn/1495.html 前段时间使用pptp搭建了一个VPN,速度很快,但是用了大概一个月挂了,估计是被墙了吧,于是,用shadowsocks重新搭建了 ...

  4. Ubuntu16.04的搭建l.2.t.p.d(宿舍访问公司内网)

    主要的实现步骤 openswan(ipsec) : 提供一个密钥 ppp :提供用户名和密码 xl2tpd : 提供L2TP服务 sysctl : 提供服务器内部转发 iptables : 提供请求从 ...

  5. cord-in-a-box 2.0 安装指南

    [TOC] 这篇文章简要介绍了 Ciab2.0 的安装. 包括硬件, 软件环境的选择, Ciab2.0的实际部署架构, 安装过程等. 下面就先对 Ciab2.0 部署环境做简要介绍. 1. 概述 这一 ...

  6. Linux下搭建VPN服务器(CentOS、pptp)转

    先说我搭建过程中出现的问题吧: 按照 教程搭建好之后出现了619错误,查看日志:/var/log/messages: Nov 20 09:46:20 localhost pptpd[7498]: GR ...

  7. ubuntu 搭建PPTP VPN服务器

    上一篇文章介绍了如何在Ubuntu服务器上搭建IPSEC L2TP VPN服务器.继续介绍如何在Ubuntu服务器上搭建PPTP VPN服务器. 首先安装以下所需包 #apt-get install ...

  8. CentOS 6.5搭建PPTP VPN服务器

    VPN是虚拟专用网络(Virtual Private Network)的缩写,VPN有多种分类方式,包括PPTP.L2TP.IPSec等,本文配置的VPN服务器是采用PPTP协议的,PPTP是在PPP ...

  9. 在 Vultr VPS 中 以 Debian 8 i386 (jessie) 为 操作系统 平台 手动 搭建 PPTP VPN 全过程

    更新服务器并安装 PPTP 服务  apt-get update apt-get upgrade apt-get install pptpd 编辑 /etc/pptpd.conf 找到 #locali ...

随机推荐

  1. 【转】Redis内部数据结构详解 -- skiplist

    本文是<Redis内部数据结构详解>系列的第六篇.在本文中,我们围绕一个Redis的内部数据结构--skiplist展开讨论. Redis里面使用skiplist是为了实现sorted s ...

  2. Debian 10 安装无线网卡驱动 (rtl8822be)

    apt install firmware-realtek

  3. Java代码优化实践

    1.   尽量指定类的final修饰符 带有final修饰符的类是不可派生的.指定一个类为final,则该类所有方法都是final.Java编译器会会找机会内联所有否final方法,这样能够使性能平均 ...

  4. ORACLE ANALYZE使用小结

      ANALYZE的介绍     使用ANALYZE可以收集或删除对象的统计信息.验证对象的结构.标识表或cluster中的行迁移/行链接信息等.官方文档关于ANALYZE功能介绍如下: ·      ...

  5. c# 关于抓取网页源码后中文显示乱码的原因分析和解决方法

    原因分析:首先,目前大多数网站为了提升网页浏览传输速率都会对网站内容在传输前进行压缩,最常用的是GZIP压缩解压解压算法,也是支持最广的一种. 因为网站传输时采用的是GZIP压缩传输,如果我们接受we ...

  6. 算法训练 最大获利 注意数据规模(long long)

    资源限制 时间限制:1.0s   内存限制:256.0MB 问题描述 Chakra是一位年轻有为的企业家,最近他在进军餐饮行业.他在各地开拓市场,共买下了N个饭店.在初期的市场调研中,他将一天划分为M ...

  7. oracle 取某个时间的数据(每周几的上午几点到几点)

    select count(*),t.分组字段 from (select t.* ,to_char(t.时间,'HH24') stime,to_char(t.时间,'HH24mi') fz,to_cha ...

  8. 首次使用Lambda表达式-sunziren

    需要将List<Apple> list = new ArrayList<Apple>(); 按照Apple对象中的price属性从大到小排序. 第一个念头闪过的是冒泡排序,转念 ...

  9. Django---Django连接Mysql数据库

    前面介绍了Django平台的数据交互,这些数据都是在本地存放着,修改内容或者重新启动服务,数据就消失了,如果我们把数据存放在数据库中,不就保存了吗? Django数据库 Django中自带的也有数据库 ...

  10. NoSQLBooster如何MongoDB的部分文档从一个集合拷贝到另外一个集合中

    假设MongoDB数据库中存有collection_A和collection_B两个集合,如下图所示: (一)先从集合collection_A中拷贝选择的文档 打开collection_A,看到目前有 ...