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. Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC

    Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC 博客分类: Java/Security Javabase64macmd5sha     加密解密,曾经是我一 ...

  2. javaweb--HTTP状态码

    HTTP状态码(HTTP Status Code) 一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 所有状态解释:点击查看 1xx(临时响应 ...

  3. 常用的不熟的sql语句

    1.select * from dbo.Consum_AccountPaymentLog Where CHARINDEX(',1,',','+RelatedUserIDs+',')>0 char ...

  4. JAVA的回忆

    访问修饰符: 1.常用访问修饰符: public 共有的 private 私有的 protect 保护 public 所有人能用,私有的自己能用,protect一个包里. 2.自动修正快捷键 ctrl ...

  5. JavaMail邮件开发

    一.只带有纯文本的邮件 代码事例如下: package com.lyh.sendemail; import java.util.Properties; import javax.mail.Messag ...

  6. An AVPlayerItem cannot be associated with more than one instance of AVPlayer错误

    An AVPlayerItem cannot be associated with more than one instance of AVPlayer An AVPlayerItem cannot ...

  7. ios数据库SQLite实现

    SQLite嵌入式数据库 1.支持时间,不需要配置,不需要安装,不需要管理员; 2.支持大部分SQL92; 3.完整的数据库保存在磁盘上面的一个文件,同一个数据库文件可以在不同机器上面使用.最大支持数 ...

  8. objective c实现配置文件+反射

    1. 先写plist配置文件 plist写到resouce里面去 通过NSBundle把数据取plist读出来 2. 通过NSClassFromString创建类 NSClassFromString ...

  9. LeetCode Palindrome Permutation II

    原题链接在这里:https://leetcode.com/problems/palindrome-permutation-ii/ 题目: Given a string s, return all th ...

  10. PHP调用内容DES加密的SOAP接口

    本文以方倍工作室优惠券接口开发为例,介绍PHP下DES加解密及SOAP接口调用的实现过程. 一.基础概念 DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加 ...