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. BizTalk开发系列(三十五) TCP/IP 适配器

    BizTalk 的TCP/IP适配器最初是为英国的保健行业开发.该适配器属于BizTalk进程内适配器,将消息通过TCP/IP 套接字符串在BizTalk服务器与远程客户端间进行通讯. TCP/IP适 ...

  2. ionic 运用pouchdb/sqlite 数据库做本地存储

    配置数据库环境需要3步: 1.安装slqite插件 在ionic 工程目录对应终端执行一下命令: npm install cordova-plugin-sqlite 2.安装pouchdb 在ioni ...

  3. php代码优化,mysql语句优化,面试需要用到的

    首先说个问题,就是这些所谓的优化其实代码标准化的建议,其实真算不上什么正真意义上的优化,还有一点需要指出的为了一丁点的性能优化,甚至在代码上的在一次请求上性能提升万分之一的所谓就去大面积改变代码习惯, ...

  4. app与后台通信协议

    通用的语言有很多种,例如英语和中文,在网络的通讯中,通用的协议有很多,其中http是被最广泛使用的.如果是私有的协议,那就只能自己设计了. 用http是最方便的,如果是私有协议,包含协议的封装和拆解, ...

  5. papi酱视频因违规遭下线整改,你知道原因吗?

    今日4月18日,在微信上的一篇<papi酱遭广电总局封杀 罗振宇1200万恐打水漂>的文章迅速转了起来,说的就是现在网红第一人“papi酱”的视频被广电总局责令下架的消息.箭头直指papi ...

  6. P1073 最优贸易

    #include <bits/stdc++.h> using namespace std; const int maxn = 100005; int head1[maxn], head2[ ...

  7. Bootstrap 弹出框和警告框插件

    一.弹出框 弹出框即点击一个元素弹出一个包含标题和内容的容器. //基本用法 <button class="btn btn-lg btn-danger" type=" ...

  8. UINavigationBar 总结

    一.某个 ViewController 出现隐藏 NavigationBar - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear ...

  9. 采用CSS3设计的登录界面,动态效果(动画)

    与上一篇的“采用CSS3设计的登陆界面”的相同,只是样式style添加了CSS3的动画元素. style内容如下: <style> html,body,div{ margin:0; pad ...

  10. 去掉comments

    三种comments: /* Test program */ int main() { // variable declaration int a, b, c; /* This is a test m ...