VPN是虚拟专用网络(Virtual Private Network)的缩写,VPN有多种分类方式,包括PPTP、L2TP、IPSec等,本文配置的VPN服务器是采用PPTP协议的,PPTP是在PPP协议基础上开发的一种新的增强型安全协议。
 
因此,我们如果需要在CentOS上搭建VPN服务,则需要PPTP服务端软件。目前比较流行的是Poptop项目下的pptpd开源软件,本文编写时最新的版本为 pptpd-1.4.0 下载地址
 
一、安装前的准备工作。
 
因为PPTP是基于PPP协议基础上的,因此需要系统支持PPP,使用 rpm -qa ppp 检查是否安装了PPP,如果没有安装可以通过 yum install ppp 进行安装。如果你要采用编译的方式安装第二步的PPTP,则需要安装PPP的开发包(ppp-devel)。
 
另外,pptp需要DKMS(Dynamic Kernel Model Support)支持。可以通过RPM的方式安装,也可以通过YUM安装。但是CentOS默认的yum源中没有这个软件,必须添加epel源后才能安装。可以通过 yum install epel-release的方式安装。
 
二、PPTP安装
 
搜索了一圈百度,大多是采用RPM进行安装,可是我在SourceForge站点上没有找到RPM包的下载,索性就编译安装吧。(注:这需要你的服务器上有编译环境,有些生产服务器是不允许安装编译环境的,那可能就没办法使用编译安装的方式)
 
编译安装很简单,可以阅读INSTALL的说明,三个步骤:
./configure
make
make install
 
PS:后来我发现,其实epel库中也有pptpd,偷懒的话直接yum install pptpd就可以啦。
 
三、PPTP的配置
 
基本配置文件:
/etc/pptpd.conf
内容基本上是
 
其他配置信息:
/etc/ppp/options.pptpd
内容可以采用默认配置,主要是要添加Google的两个DNS
ms-dns    8.8.8.8
ms-dns    8.8.4.4
 
配置VPN账号和密码:
在/etc/ppp/chap-secrets文件中按照以下格式配置用户名和密码
<username> pptpd <passwd> *
 
配置系统:
vim /etc/sysctl.conf
修改以下内容开启ip转发:
net.ipv4.ip_forward = 1
保存、退出后执行:
sysctl -p
检查配置是否生效
 
四、问题调试
 
(1)DKMS未安装的问题。
如果系统没有安装DKMS,则/var/log/messages中会出现如下问题
Oct 13 20:09:57 vivodocom pppd[5007]: LCP terminated by peer (MPPE required but not available)
Oct 13 20:09:57 vivodocom pptpd[5006]: CTRL: EOF or bad error reading ctrl packet length.
Oct 13 20:09:57 vivodocom pptpd[5006]: CTRL: couldn't read packet header (exit)
Oct 13 20:09:57 vivodocom pptpd[5006]: CTRL: CTRL read failed
 
(2)Mac下如何使用VPN的问题。
刚开始连接后,发现还是无法访问想看到的网站,原来Mac默认流量没有走VPN,必须在VPN中选择“通过VPN连接发送所有流量”才可以。
 
 
参考资料:
 
 

CentOS 6.5搭建PPTP VPN服务器的更多相关文章

  1. ubuntu 搭建PPTP VPN服务器

    上一篇文章介绍了如何在Ubuntu服务器上搭建IPSEC L2TP VPN服务器.继续介绍如何在Ubuntu服务器上搭建PPTP VPN服务器. 首先安装以下所需包 #apt-get install ...

  2. Centos6一键搭建L2TP VPN服务器

    用VPS在墙上打洞还有一种叫L2TP,也是常见的一种方式.本脚本结合了L2TP(Layer Tunneling Protocol)和IPSec(Internet Protocol Security), ...

  3. CentOS 6.3配置PPTP VPN的方法

    1.验证ppp 用cat命令检查是否开启ppp,一般服务器都是开启的,除了特殊的VPS主机之外. [root@localhost1 /]# cat /dev/ppp cat: /dev/ppp: No ...

  4. CentOS 7下搭建配置SVN服务器

    CentOS 7下搭建配置SVN服务器 1. 安装 CentOS通过yum安装subversion. $ sudo yum install subversion subversion安装在/bin目录 ...

  5. CentOS 6.9搭建的网关服务器不经过静态路由表的问题解决(没有开启路由转发功能)

    场景: 1.使用CentOS 6.9搭建的网关服务器,下面的机器都设置用这个网关,搭建参考:http://www.cnblogs.com/EasonJim/p/8289618.html 2.配置了静态 ...

  6. CentOS 6.3上搭建PPTP VPN

    系统版本:CentOS 6.3_x86_64 eth0:172.16.10.72(实验环境当公网IP使用) eth1:192.168.100.50 1.检测是否支持ppp模块 # cat /dev/p ...

  7. Centos 6.x 部署pptp VPN

    安装 系统检测不到PPTP的时候  使用一下方法安装PPTP 下载地址:http://poptop.sourceforge.net/yum/stable/packages rpm -ivh http: ...

  8. 【已解决】新搭建的VPN服务器客户端无法正常连接

    昨天花了一天的时间,终于把VPN服务器搭建好了.但是客户端却一直提示无法拨号成功.查看VPN日志如下:[root@localhost log]# tail -f messages Jun 13 14: ...

  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. 四则运算之C++实现篇

    对四则运算的一些要求如下: 1.题目避免重复:2.可定制(数量/打印方式):3.可以控制下列参数:   是否有乘除法.数值范围.加减有无负数.除法有无余数.否支持分数 (真分数, 假分数, …): 一 ...

  2. JS写的CRC16校验算法(查表法)

    var CRC = {}; CRC._auchCRCHi = [ 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0 ...

  3. Docker-compose命令详解

    语法: Define and run multi-container applications with Docker. Usage:   docker-compose [-f=<arg> ...

  4. fight

    为啥用block  copy. 从栈到拷贝到堆 循环引用,控制器引用block. block里面调用 self self引用控件,控件引用block,block里面引用self http://www. ...

  5. [knowledge][basic][hardware] 内存的硬件结构(转)

    写的并不太易懂,但概念性的科普已足够. 原文地址:http://blog.csdn.net/miaomao1989/article/details/51508195 Memory中的Channel/R ...

  6. 基于docker+etcd+confd + haproxy构建高可用、自发现的web服务

    基于docker+etcd+confd + haproxy构建高可用.自发现的web服务 2016-05-16 15:12 595人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主 ...

  7. 查看ADOP会话

    查看ADOP有哪些会话: $ adop -status Enter the APPS username: apps Enter the APPS password: Current Patching ...

  8. CentOS系统将UTC时间修改为CST时间

    1.编辑时间配置文件 # vi /etc/sysconfig/clock ZONE="Asia/Shanghai" UTC=false #设置为false,硬件时钟不于utc时间一 ...

  9. S3C2440 裸机程序之音频

     mini2440之Main分析 2012-03-17 20:51:29 分类: 嵌入式 /****************************************************** ...

  10. opencv的学习笔记2

    继续昨晚的学习总结,昨晚看到轨迹条的创建就没有看下去了,今天继续: 1.轨迹条的创建: 轨迹条往往会和一个回调函数配合使用,当轨迹条发生改变,就调用这个轨迹条的回调函数 int createTrack ...