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

--->>搭建pptp首先你需要购买一个外网的vps(阿里云香港节点,国外节点都可以,不过阿里云有点小贵),推荐购买国外的廉价vps来搭建。

PPTP的搭建:

1.CentOS 下配置PPTP VPN,安装PPTP需要ppp和iptables这两个软件支持。

  (1)用cat命令检查是否开启ppp,一般服务器都是开启的,除了特殊的VPS主机之外。  

      [root@marslv download]# cat /dev/ppp
      cat: /dev/ppp: No such device or address

      出现上面的结果就说明是开启的。

  (2)安装iptables:

    [root@marslv download]# yum -y install ppp iptables

2.接下来安装pptpd,yum没有提供安装包,自行下载安装:

  centos6.X系列:

  32位--64位下载地址:

  #wget http://dl.fedoraproject.org/pub/epel/6/i386/pptpd-1.4.0-3.el6.i686.rpm

  #wget http://dl.fedoraproject.org/pub/epel/6/x86_64/pptpd-1.4.0-3.el6.x86_64.rpm

  安装时如果出现依赖包未安装就安装自行安装(如出现perl安装包未安装):

      [root@marslv download]# yum install perl

  然后:[root@marslv download]# rpm -ivh pptpd-1.4.0-3.el6.i686.rpm

  

  配置pptp(这里默认可以不修改,只有在配置复杂的NAT时才需要配置)
  编辑/etc/pptpd.conf文件:
  #vim /etc/pptpd.conf
  localip 192.168.1.150 ----->公网服务器ip地址
  remoteip 192.168.196.9-238  ------>分配给客户端的ip地址范围
 
  
  修改/etc/ppp/options.pptpd文件,为VPN添加Google DNS:(不添加,使用vpn时会出现DNS无法解析)
  #vim /etc/ppp/options.pptpd
  去掉ms-dns前面的#,并使用Google的DNS服务器,修改成如下字段:
  ms-dns 8.8.8.8  ---->google 免费域名服务器  first
  ms-dns 8.8.4.4  ---->google 免费域名服务器  second(备用DNS)
  

  修改内核设置,使其支持转发
  #vim /etc/sysctl.conf
  将“net.ipv4.ip_forward”改为1,变成下面的形式:
  net.ipv4.ip_forward=1
  保存退出,并执行下面的命令来生效它:
  #sysctl -p
 

3.设置vpn用户:[root@marslv ppp]#echo -e "user pptpd password *" >> /etc/ppp/chap-secrets

  其中user设置你的用户名,password设置你的密码,*设置ip地址,一般情况下设置成*(任意ip地址)

  也可以vim /etc/ppp/chap-secrets 自己按照规定的格式添加。

  添加之后重启pptpd服务生效:service pptpd start

4.开启防火墙

  #iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
  #iptables -A INPUT -p tcp --dport 47 -j ACCEPT
  #iptables -A INPUT -p gre -j ACCEPT
  #iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE(配置转发规则,如果要设置比较复杂的规则自己百度)
  #iptables -A INPUT -p UDP --dport 53 -j ACCEPT

  #service iptables save 保存规则

  #/etc/init.d/iptables restart 重启iptables

5.设置开机自启动

  [root@marslv sysconfig]# chkconfig pptpd on

  [root@marslv sysconfig]# chkconfig iptables on

 

  

CentOS 6下的VPN搭建的更多相关文章

  1. CentOS服务器下JavaEE环境搭建指南(远程桌面+JDK+Tomcat+MySQL)

    --------------------------------------------------------------------------------1 系统设置:1.1 远程桌面设置:通过 ...

  2. CentOS 7下使用Gitolite搭建Git私服

    1. 搭建环境 CentOS7, git version 1.8.3.1 2. 安装依赖包 yum install curl-devel expat-devel gettext-devel opens ...

  3. CentOS 7下安装配置搭建jdk+tomcat+MariaDB环境

    1.JDK安装 注意:rpm与软件相关命令 相当于window下的软件助手 管理软件 步骤: 1)查看当前Linux系统是否已经安装java 输入 rpm -qa | grep java 2)卸载两个 ...

  4. CentOS 7下Keepalived + HAProxy 搭建配置详解

    第一步:准备 1. 简介 本文搭建的是利用 Keepalived 实现 HAProxy 的热备方案,即两台主机上的 HAProxy 实例同时运行,其中全总较高的实例为 MASTER,MASTER出现异 ...

  5. CentOS 7下简答搭建DNS服务器

    一.DNS相关介绍 DNS(Domain Name System)域名系统协议,作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用挨个记住IP地址.通过主机名,最终得到 ...

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

    之前有折腾过<CentOS 6.7下IPSEC/L2TP VPN一键安装脚本>,不稳定.不支持IOS,因此换成pptp,并已经添加到<lnmp一键安装包>.这个脚本可以单独使用 ...

  7. CentOS系统下搭建tomcat服务器

    下载相应的linux版jdk和tomcat,本文讲解jdk版本jdk-7u79-linux-x64.tar.gz,tomcat版本apache-tomcat-7.0.69.tar.gz [配置jdk] ...

  8. Tsung CentOS 操作系统下搭建tsung性能测试环境_Part 2

    CentOS 操作系统下搭建tsung性能测试环境_Part 2 by:授客 QQ:1033553122 --------------------接CentOS 操作系统下搭建tsung性能测试环境_ ...

  9. Tsung CentOS 操作系统下搭建tsung性能测试环境_Part 1

    CentOS 操作系统下搭建tsung性能测试环境_Part 1 by:授客 QQ:1033553122 步骤1.下载软件安装包 CentOS-6.0-x86_64-bin-DVD1.iso jdk- ...

随机推荐

  1. 将JSON对象转化为数组对象

    package web.helper; import java.util.ArrayList; import net.sf.json.JSONArray; import web.model.Abstr ...

  2. openstack私有云布署实践【18 修改实例DHCP服务的DNS IP】

    某天,由于Linux服务器默认没有DNS缓存功能,每次服务器每访问一个http域名链接时,都会触发一次DNS域名解析查询,降低了调用API接口的时延,所以我司后续启用的内网的dnsmasq DNS服务 ...

  3. 1951: [Sdoi2010]古代猪文

    1951: [Sdoi2010]古代猪文 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 2171  Solved: 904[Submit][Status] ...

  4. HTML中<title>与<h1>区别

    1)<title>标签表示的标题是整个网页的名字,即在浏览器顶部的tab栏里显示的.搜索引擎通过它来搜索网页:<title>标签里的文本不出现在页面内容里面. <h1&g ...

  5. python 主机宝

    需求:开发一个主机批量管理系统,要求按saltstack方式执行命令 #!/usr/bin/env python3. # -*- coding:utf8 -*- import os,sys,pickl ...

  6. Openjudge-NOI题库-对齐输出

     题目描述 Description 读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们.  输入输出格式 Input/output 输入格式: 只有一行,包含三个整数,整数之间以一个空格分开. ...

  7. 安装器---Inno Setup

    Inno Setup[1]  用Delphi写成,其官方网站同时也提供源程序免费下载.它虽不能与Installshield这类恐龙级的安装制作软件相比,但也当之无愧算是后起之秀.Inno Setup是 ...

  8. HDOJ-1051 Wooden sticks(贪心)

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  9. Python学习之旅--第二周--python基础

    一.什么是pyc? 1.Python是解释性语言,那么.pyc是什么文件? 2.解释性语言和编译型语言区别:    计算机是不能够识别高级语言的,所以当我们运行一个高级别语言程序时,就需要一个&quo ...

  10. javascript函数作用域实践

    在es6之前,JavaScript是没有块级作用域的,只有函数作用域,也就是说是一个function里面定义的变量外面取不到的:而if for是条件判断的语句,不是函数,由于缺少块级作用域,所以条件中 ...