一、装包

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. js模拟post提交表单

    function post(URL, PARAMS) {            var temp = document.createElement("form");         ...

  2. 【Java并发工具类】原子类

    前言 为保证计数器中count=+1的原子性,我们在前面使用的都是synchronized互斥锁方案,加锁独占访问的方式未免太过霸道,于是我们来介绍另一种解决原子性问题的无锁方案:原子变量.在正式介绍 ...

  3. Invalid `Podfile` file: undefined method `pod' for main:Object.

    如果你是在iOS中引用flutter的时候,报的这个错.建议移步 https://www.cnblogs.com/jukaiit/p/12181184.html 其他: 先 "pod set ...

  4. python+selenium自动化测试,浏览器最大化报错解决方法

    此处以谷歌浏览器为例 [问题1]缺少chrome驱动,webdriver调用谷歌浏览器的时候就报错了,如下图: [原因分析]缺少谷歌驱动程序 [解决办法] 1.查看本地安装chrome浏览器版本 2. ...

  5. mysql中EXPLAIN 的作用

    (一)id列: (1).id 相同执行顺序由上到下 mysql> explain -> SELECT*FROM tb_order tb1 -> LEFT JOIN tb_produc ...

  6. 0x01 C语言-编写第一个hello world

    学习每一个编程语言都是从 "Hello world!" 开始的,这好像就是编程界一条不成文的规定一样. 在这篇文章中,我将教大家编写一个可以输出 "Hello world ...

  7. C#实现Excel操作——添加页签Sheet

    C#实现对Excel操作,根据数据的类型不同或者来源不同会放在不同的页签中,C#实现添加页签代码如下:(path为文档保存的地址,dt为要处理的源数据) public void addSheet(st ...

  8. EF--EntityState相互转换

    EF对数据做什么样的操作,是根据EF的上下文实体状态决定,实体状态有以下5种状态,下面我们就分别看下这5种状态 数据准备,我们看到学生表里有20000名学生记录,最后1位学生的学生编号为0000020 ...

  9. Node.js核心模块-net

    net.Socket 类 socket.remotePort 访问服务器的远程端口 const http = require('http'); const server = http.createSe ...

  10. 第2章 在 HTML中 使用 JavaScript

    第2章 在 HTML中 使用 JavaScript 2.1 script 元素 2.1.1 标签的位置 2.1.2 延迟脚本 2.1.3 异步脚本 2.1.4 在XHTML中的使用 2.1.5 不推荐 ...