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. linux系统文件夹的作用 good

    /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 如:环境变量 /etc/rc.d 启动的配置文件和脚本 /home用户主目录的基点,比如用户user的主目录就是/ho ...

  2. jquery判断元素是否隐藏的多种方法

    第一种:使用CSS属性 复制代码 代码如下: var display =$('#id').css('display'); if(display == 'none'){    alert("被 ...

  3. 【Razor语法规则小手册....】

    在经过长达半年的Windows开发后,Razor的一些语法有些生疏了.搜集些,再熟悉下.呵呵,甚是怀念以前做web 项目的时候,基于动软代码生成器自定义T4模板,后来vs2010后开始支持T4模板. ...

  4. 转:DataTable的一些特殊用法:Select

    当你从数据库里取出一些数据,然后要对数据进行整合,你很容易就会想到: 1DataTable dt = new DataTable();//假设dt是由"SELECT C1,C2,C3 FRO ...

  5. bzoj1689 [Usaco2005 Open] Muddy roads 泥泞的路

    Description Farmer John has a problem: the dirt road from his farm to town has suffered in the recen ...

  6. UESTC_方老师分身 I CDOJ 914

    方老师分身 I Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit S ...

  7. TCP/IP协议详解概述

    TCP/IP协议详解卷1--第一章概述--读书笔记 作者:vpoet 日期:2015/06/25 注:本系列的文章只是作者对TCP/IP协议的理解,难免会出现纰漏或者不完整,当然也有可能很肤浅,希望大 ...

  8. hpux操作系统的关机与重新启动命令

    关机  shutdown -hy 0 重新启动: shutdown -ry 0

  9. Cocos2d-x v3.0正式版尝鲜体验【1】 环境搭建和新建项目

    Cocos2d-x v3.0在前天最终公布正式版了,等了大半年最终出来了.一直没去碰之前的3.0各种beta,rc版本号,就想等正式版出来再尝试. 昨天也參加了触控科技在成都举办的沙龙活动.看到作者王 ...

  10. mysql binlog参数设置

    1.mysql有许多系统变量,可以设置,系统变量设置不同,不同的系统将导致执行状态. 故mysql提供两组命令,分别查看系统设置和执行状态. 1.系统设置: SHOW [GLOBAL | SESSIO ...