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. 你真的会玩SQL吗?透视转换

    原文:你真的会玩SQL吗?透视转换 透视转换是一种行列互转的技术,在转过程中可能执行聚合操作,应用非常广泛. 本章与 你真的会玩SQL吗?数据聚合 内容比较重要,还涉及到 你真的会玩SQL吗?Case ...

  2. bzoj1637 [Usaco2007 Mar]Balanced Lineup

    Description Farmer John 决定给他的奶牛们照一张合影,他让 N (1 ≤ N ≤ 50,000) 头奶牛站成一条直线,每头牛都有它的坐标(范围: 0..1,000,000,000 ...

  3. 使用fdisk进行磁盘管理

    http://itercast.com/lecture/17 disk是来自IBM的老牌分区软件,几乎所有Linux系统均默认安装 fdisk是一个MBR分区工具,不可用于GPT分区 只有超级用户(r ...

  4. 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.2

    /** * 百度地图使用工具类-v1.5 * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @email b ...

  5. Best Time to Buy and Sell Stock III 解答

    Question Say you have an array for which the ith element is the price of a given stock on day i. Des ...

  6. execute immediate的简单用法(oracle)

    直接上示例代码: create or replace procedure proc_test( --参数区域 ) is --变量区域 --sql脚本 v_sql ) :=''; --记录学生数量 v_ ...

  7. Selenium+Python浏览器调用:Firefox

    如何查看python selenium的API python -m pydoc -p  4567 说明: python -m pydoc表示打开pydoc模块,pydoc是查看python文档的首选工 ...

  8. Oracle基础学习5-- Oracle权限之”角色”

    不论什么与权限相关的东西都少不了"角色"的概念,Java如此,.Net如此,Oracle当然也不例外. 角色事实上就是权限的集合,将多个权限打包到一个角色中,这样每一个角色有特定的 ...

  9. NET基础课--配置文件1

    在.NET Framework中,配置几乎是无处不在的.配置是控制应用程序行为的一些设置.下面我们就来看看到底有几个配置文件,而他们又分别代表了什么? 1. machine.config 这个文件只有 ...

  10. 配置基于NotePad++工具下的C#开发环境

    1.打开NotePad++,打开Notepad++的插件(plugins)菜单-->Plugin Manager-->Show Plugin Manager-->勾选NppExec- ...