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. linux应用与发展(上)

    UNIX/Linux发展历史 当年,没有cmm的概念,也没什么PMP认证什么的,导致了MIT,GE,AT&T联合开发multics失败,multics是一个复杂多功能的操作系统.开发者想要开发 ...

  2. 【转】ArcGIS 创建切片缓存方法工具总结

    ArcGIS 创建切片缓存方法工具总结 http://wenku.baidu.com/link?url=Bm8AkmcJBzfiyat9N_Me6vlfSHEDCC_D1qBk5IB4X4CIDeKI ...

  3. 序列化(Serialization)据为JSONP远端请求

    Insus.NET前些日子,有分享了一段代码,<使用JSONP跨域请求数据>http://www.cnblogs.com/insus/p/3512271.html 是使用jQuery的Da ...

  4. python 内存泄漏调试

    Python应用程序内存泄漏的调试 Quake Lee quakelee@geekcn.org 新浪网技术(中国)有限公司 Sina Research & Development Python ...

  5. Error Domain=NSOSStatusErrorDomain Code=1718449215 "The operation couldn’t be completed. (OSStatus error 1718449215.)"

    是在录音时,recoreder的录音格式不对.

  6. Progressive Scanning (逐行扫描) vs Interlaced Scanning (隔行扫描)

    source: http://sh.sina.com.cn/20041207/231443445.shtml 逐行扫描每一帧图像均是由电子束顺序地一行接着一行连续扫描而成.要得到稳定的逐行扫描图像,每 ...

  7. Android的onMeasure和onLayout And MeasureSpec揭秘

    Android中自定义ViewGroup最重要的就是onMeasure和onLayout方法,都需要重写这两个方法,ViewGroup绘制 的过程是这样的:onMeasure → onLayout → ...

  8. Windows Sserver 2008 R2 搭建DNS配置区域与配置转发器上外网

    一.实验模拟环境: zhuyu公司是一家成立的新公司,该公司的局域网没有DNS服务器,所有电脑都使用电 信ISP提供的DNS服务器(202.96.128.166).zhuyu公司计划搭建一台DNS服务 ...

  9. Java Servlet(六):HttpServlet实现原理(jdk7+tomcat7+eclipse)

    本篇记录了HttpServlet的实现过程,主要讲述了如何依赖Servlet,GenericServlet实现的原理. HttpServlet实现过程:1.是一个Servlet,继承自GenericS ...

  10. Android之下载管理者

    public interface HttpDownloader { public void setDownloadManager(HttpDownloadManager manager); publi ...