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. VC使用#定义方便控制版本号的宏

    一个 VC Project 中,可能有很多地方需要用到版本号,比如 About 对话框.版本资源等.如果每次版本更改都一一去改变这些值,不但非常麻烦,而且有悖唯一原则. 巧妙地使用宏定义,可以很好地解 ...

  2. bzoj1864 [Zjoi2006]三色二叉树

    Description Input 仅有一行,不超过500000个字符,表示一个二叉树序列. Output 输出文件也只有一行,包含两个数,依次表示最多和最少有多少个点能够被染成绿色. Sample ...

  3. 剑指offter-面试题7.用两个栈实现队列

    题目.用两个栈实现一个队列.队列的声明如下,请实现它的两个函数appendTail和deleteHead 分别完成在对尾插入节点和在队头删除节点. 该队列类模板如下: template <typ ...

  4. iOS 10 (X8)上CoreData的使用(包含创建工程时未添加CoreData)

    1.在创建工程时未添加CoreData,后期想要使用CoreData则要在工程Appdelegate.h文件中添加CoreData库和CoreData中的通道类(用来管理类实例和CoreData之间的 ...

  5. poj 3370 Halloween treats(鸽巢原理)

    Description Every year there is the same problem at Halloween: Each neighbour is only willing to giv ...

  6. DNA Sorting(排序)

    欢迎参加——BestCoder周年纪念赛(高质量题目+多重奖励) DNA Sorting Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: ...

  7. tomcat建立虚拟主机

    WEB浏览器与WEBserver建立连接后,除了将请求URL中的资源路径发送给WEBserver外,还会将URL中的主机名部分作为HTTP请求消息的Host头发送给WEBserver.比如,在浏览器地 ...

  8. Swift的基础,操作符,字符串和集合类型

    这篇文章主要讲解苹果Swift官方指南的第二章前四节的要点内容,如果想看完整的英文文档可以去苹果开发者页面下载. Basic 声明常量let 声明变量var 注释依旧使用"//" ...

  9. 在Linux系统上限制远程登录的IP

    在Linux系统上限制远程登录的IP,使用系统自带的配置文件. /etc/hosts.allow /etc/hosts.deny 匹配原则  先allow 后deny.

  10. 【Java基础】static关键字相关

    static关键字特点: 随着类的加载而加载. 优先于对象存在. 被所有对象共享 可以直接被类名调用. 使用注意: 静态方法只能访问静态成员. 但非静态成员可以访问静态成员. 静态方法中不能使用thi ...