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. 算法系列——huffman编码

    哈夫曼编码,旨在对信息实现一种高效的编码,这种编码中任何一个都不是其他编码的前缀码.因此,在实际接收时,一旦匹配,就可以立即解码. 具体算法过程可以参加网上的很多教程. 给出一个自己的实现,一方面加强 ...

  2. (转载)ANDROID STRINGS.XML 中的特殊字符转义

    今天项目碰到个转义特殊字符的问题,网上搜索看到,故转载,已标明出处: 项目中要在string.xml 中显示特殊符号.如@号冒号等.直接写肯定不行啦 只能考虑使用ASCII码进行显示.在XML中空格符 ...

  3. AndroidStudio0.5.2 BUG 导致 menu 菜单键崩溃

    郁闷了半天,今天发现一点击手机 menu 键应用就崩溃了,记得之前都是好好的,调试了半天代码还是搞不定,于是网上google了一番,发现仅国外有一两篇文章有提到类似问题,据说是 0.5.2 版本的 B ...

  4. CodeForces 708B Recover the String

    构造. 根据$a[0][0]$可以求得$0$的个数$p$,根据$a[1][1]$可以求得$1$的个数$q$. 如果找不到$p$或$q$,那么就无解. 每一个$0$放到序列中的任何一个位置,假设和前面的 ...

  5. 淘宝npm镜像使用方法

    镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在): 通过config命令npm config set registry https://registry. ...

  6. 怎么 得到 DBGrid选中行的数据

    转自:https://zhidao.baidu.com/question/1694035814426308148.html 一般是你鼠标点到哪一行,其DataSet的指针就指到了什么位置你可以直接通过 ...

  7. Python基础知识学习_Day3

    一.字典用法 字典是一种key-value数据类型,通过key获取具体value的内容,字典的特性是无序.去重. 增删改查用法如下: 1.1基本增删改查操作 name = {"," ...

  8. VB ListBox 添加横向滚动条

    Private Declare Function SendMessage Lib "user32 " Alias "SendMessageA" (ByVal h ...

  9. ASP.NET使用ImageMap控件

    文章来自:http://www.baike369.com/content/?id=5773

  10. FileReader和FileInputStream的区别

    1.FileReader和FileInputStream的区别: FileReader.FileWriter处理的是文本文件. FileInputStream/FileOutputStream是继承I ...