accel-pptp 是 pptp-client 和 pptpd 的改进版,使用内核 pptp 模块,相比 raw socket 实现方式能提供更好的性能。
 
Ubuntu 12.04 上启用内核 pptp
内核 3.2+ 已经包含内核 pptp 模块
 
1. 编译 pppd 模块 
apt-get install ppp-dev cmake
 
cd accel-pptp
cmake . -DPPP_PLUGIN_PATH=/usr/lib/pppd/2.4.5/
 
 
 
2. 修改  peer config file (for instance, /etc/ppp/peers/my_vpn):
  pty "pptp x.x.x.x ...."
  plugin "/usr/lib/pppd/2.4.5/pptp.so"
  pptp_server x.x.x.x
 
同时注释掉 peer config file 和 /etc/ppp/options.pptp 中的 lock 
 #lock
 
 
3. 启动 pptp VPN
pppd call my_vpn
 
 
 
RHEL 6 
RHEL6 因为内核版本才 2.6.32 所以并不包含内核 pptp 模块——2.6.36才自带。
1. 下载 accel-pptp 并解压
 
2. 进入 kernel/driver 目录编译内核模块
 
安装内核头文件
yum install kernel-headers  kernel-devel  ppp-devel
如果没有用 yum update kernel 将内核升级到最新,则和内核头文件会有小版本不匹配。此时编译会出现找不到头文件,需
    cd /lib/modules/2.6.32-431.1.2.0.1.el6.x86_64
    rm build
    ln -s ../../../usr/src/kernels/2.6.32-504.1.3.el6.x86_64/ build
 
编辑 pptp.c , 47行 取消对宏 CONFIG_GRE 的注释(将 pptp 模块注册到GRE协议里面,默认是注册到 inet 里面,此模式下总是会注册失败,如果再尝试卸载 pptp 模块则会机器无响应。)
     #define CONFIG_GRE
然后编译
    make
 
3. 进入 pppd_plugin 目录编译 pppd 模块 pptp.so 
    ./configure 
    make
    cp .libs/pptp.so /usr/lib64/pppd/2.4.5/
 
4. 进入 pptpd-1.3.3 目录编译 pptpd
    ./configure 
    make
    make install # 安装到 /usr/local/sbin
 
拷贝配置样例。如果本机已经通过 yum 安装过 pptpd,则保留已有配置即可 
    cp samples/pptpd.conf /etc/
    cp samples/options.pptpd /etc/ppp/
 
5. 内核模块开机自动加载
    cp pptp.ko  /lib/modules/`uname -r`/extra/    
    depmod -a                  # 对所有模块依赖关系,这样 modprobe 才能找到模块,否则必须用 insmod 加载
 
    echo modprobe pptp >> /etc/rc.modules
    chmod +x /etc/rc.modules
 
5. 启动 pptpd 服务
    /usr/local/sbin/pptpd

accel-pptp 部署的更多相关文章

  1. PPTP部署文档

    PPTP部署文档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 前言:这款VPN部署起来特别简单,想对OPENVON配 ...

  2. 【转】CentOS上部署PPTP和L2TP over IPSec简要笔记

    PPTP部署 安装 PPTP 需要 MPPE 和较高版本的 ppp ( > 2.4.3 ) 支持,不过 CentOS 5.0/RHEL 5 的 2.6.18 内核已经集成了 MPPE 和高版本的 ...

  3. Centos下PPTP环境部署记录

    PPTP(点到点隧道协议)是一种用于让远程用户拨号连接到本地的ISP,通过因特网安全远程访问公司资源的新型技术.它能将PPP(点到点协议)帧封装成IP数据包,以便能够在基于IP的互联网上进行传输.PP ...

  4. pptp服务故障

    pptp服务故障记录 原文地址:http://www.cnblogs.com/caoguo/p/4994512.html 1.pptp部署是遇到开了防火墙端口不能拨号,拨号是提示错误如下: 但是关闭防 ...

  5. linux-阿里云ECS部署PPTP(centos)

    请参考以下步骤:(centos6.5中测试通过) 1.服务器端安装软件 1.1 首先安装ppp,命令: [root@test ~]#yum install -y ppp 提示Complete! ,表示 ...

  6. Centos 6.x 部署pptp VPN

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

  7. VPN 部署方案

    VPN 对比: OpenVPN: 客户端连接太麻烦,放弃 PPTP VPN:版本较高的苹果手机没有 PPTP VPN 的连接方式,放弃 L2TP VPN:支持所有平台,客户端连接容易,最终选择部署 L ...

  8. 简单尝试利用vultr vps自架PPTP上网用于工作学习需要

    因为学习和工作的需要用到登陆海外网站查阅相关的资料和文档,之前有需要使用的时候是问网友索要的账户登录本地电脑拨号的,但是老是跟别人要还是不好,决定自己尝试搭建一个长期使用.看到有不少的介绍提到VULT ...

  9. Linux下搭建VPN服务器(CentOS、pptp)转

    先说我搭建过程中出现的问题吧: 按照 教程搭建好之后出现了619错误,查看日志:/var/log/messages: Nov 20 09:46:20 localhost pptpd[7498]: GR ...

  10. PPTP-VPN第一章——部署与简单使用

    最近前游戏同事搞了台的VPS,贡献出来做VPN使用.目前流行的服务器VPN软件主要有PPTP VPN和Openvpn.Openvpn虽然功能较为强大,且安全性高,支持nat穿越等等,但服务器端和客户端 ...

随机推荐

  1. USB系列之一:列出你的USB设备

    USB现在已经成为PC机必不可少的接口之一,几乎所有的设备都可以接在USB设备上,USB键盘.鼠标.打印机.摄像头,还有常用的U盘等等,从本篇文章开始,将集中篇幅介绍一下在DOS中使用USB设备的方法 ...

  2. 对Qt for Android的评价(很全面,基本已经没有问题了,网易战网客户端就是Qt quick写的),可以重用QT积累20年的RTL是好事,QML效率是HTML5的5倍

    现在Qt不要光看跨平台了,Qt也有能力和原生应用进行较量的.可以直接去Qt官网查看他和那些厂商合作.关于和Java的比较,框架和Java进行比较似乎不且实际.如果是C++和Java比较,网上有很多文章 ...

  3. POJ1988 并查集的使用

    Cube Stacking Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 21157   Accepted: 7395 Ca ...

  4. Gradle+Jetty实现静态资源的热部署

    本文转自http://www.cnblogs.com/huang0925/p/3302487.html --------------------------------------- 通过Gradle ...

  5. npm 常用命令详解[转]

    npm是什么 NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载.安装.上传以及管理已经安装的包. npm ...

  6. WebService 通用接收方法

    /** * @Title: getNetStatusRequest * @Description: TODO(2.1检查网络状态字符串) * @param: * @return: String * @ ...

  7. hdu 1078 FatMouse and Cheese 记忆化dp

    只能横向或竖向走...一次横着竖着最多k步...不能转弯的.... 为毛我的500+ms才跑出来... #include<cstdio> #include<iostream> ...

  8. ORACLE数据库、表空间、表的容量相关查询--1

    未完待续……未完待续……未完待续……未完待续…… 1.查询某个表所占空间大小 col tablespace_name for a15 col segment_name for a15 col segm ...

  9. java学习笔记day01

    1.Java JDK:简称为java开发工具集 2.下载JDK后安装,可以下载绿色版本,即不用安装,直接将其放在磁盘根目录  如:C:\Java\jdk1.6.0_10 3.在任意磁盘路径下都可以编译 ...

  10. C# Socket学习笔记二

    小记:昨天咱们已经了解了Socket的通信原理,可是点对点的一次通信并不是我们想要的,那么今天那我们就继续学习异步通信,简单来说就是服务器端和客户端可以进行多次 互发信息的通信而不用担心通道会关闭.在 ...