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. 跑github上的Symfony项目遇到的问题2

    最近学习symfony框架,下载了大量的github上的别人的项目,要想跑起别人的项目,总结了以下几个步骤: 第一, 克隆一份代码; 第二,安装依赖,前提是安装了composer, 1:在你下载的项目 ...

  2. scrapy 抓取动态网页

    -- coding: utf-8 -- ''' gouwu.sogou.com Spider, Created on Dec, 2014 version: 1.0 author: chenqx @ht ...

  3. SVN 版本控制工具

    1,安装完服务端VisualSVN Server和客户端TortoiseSVN 后,随便在一个文件夹下,右键,会看到有SVN checkout 选项,这个选项只有在第一次在仓库下下载的时候会用到: 1 ...

  4. LeetCode 385. Mini Parse

    Given a nested list of integers represented as a string, implement a parser to deserialize it. Each ...

  5. github本地库及clone常用命令

    新建本地库 1. cd d: 2. mkdir git 3. cd git 4. git init 5. git remote add  origin git@github.com:swportal/ ...

  6. Spring mail 邮件发送的简单实现

    package cn.taskSys.utils; import java.util.Properties; import org.springframework.mail.MailException ...

  7. PHP mktime函数获取今天的开始和结束时间戳

    php 获取今日.昨日.上周.本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime(). mktime函数用法如下:mktime(hour,minute,second,m ...

  8. 安装redis,以及python如何引用redis

    下载 cd /usr/local/src/ wget http://download.redis.io/releases/redis-2.8.17.tar.gz 解压 tar -zxvf redis- ...

  9. 转:Web性能压力测试工具之ApacheBench(ab)详解

    PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...

  10. String类之substring--->查找某位置对应的字

    以下方法都是java内置类String类的内置方法(不是构造方法哦,就是普通的方法),不需要我们写,直接拿过来用即可. substring方法对应Api介绍   查找字符串中的 从int beginI ...