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. zabbix 布署实践【6 使用微信公众号-消息模版推送告警】

    使用这个服务的前提是,你必须要有一个微信订阅号,或者公众号,并且是通过认证的号 因为认证过后的号才有模版消息和获取用户openid等信息的权限 ,如下,登录微信公众号的登录页后,底下有个接口权限的展示 ...

  2. java 打开浏览器 url

    public class openBrowers { public static void main(String[] args) { try { //String url = "http: ...

  3. Python 智能处理方向的工具

    机器视觉类:OpenCV. 自然语言处理:NLTK, jieba(Python中文分词组件),HanLP, FudanNLP, NLPIR, http://tm.itc.ntnu.edu.tw/CNL ...

  4. Linux安装mysql mysql5.5.40 <NIOT>

    一.    操作系统与软件 操作系统及版本 Centos 6.4 依赖包 gcc.gcc-c++.cmake.ncurses-devel 下载目录 /opt Mysql安装目录 /usr/local/ ...

  5. 分子量(Molar Mass,ACM/ICPC Seoul 2007,UVa 1586)

    #include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char s[20]; scanf ...

  6. Python学习之旅--第二周--元组、字符串、运算、字典

    一.元组 另一种有序列表叫元组:tuple.tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字: # Author:Tim Gu tuple = (" ...

  7. mybatis处理特殊符号

    当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序 ...

  8. Quartz的cron表达式

    一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素. 按顺序依次为 秒(0~59) 分钟(0~59) 小时(0~23) 天(月)(0~31,但是你需要考虑你月的天数) 月(0~11) 天( ...

  9. javascript函数作用域实践

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

  10. ios 点击放大图片,保存至手机相册

    直接贴.m文件代码 #import "UIImageView+Scale.h" static CGRect oldframe; @implementation UIImageVie ...