Linux服务器上的PPTP VPN搭建全攻略

   PPTP的基本概念

  首先,先来理解下什么是 PPTP。PPTP将PPP(Point-to-Point Protocol)帧封装进IP数据报中,通过IP网络如Internet或其他企业专用Intranet等发送。PPTP通过PPTP控制连接来创建、维护、终止一条隧道,并使用通用路由封装GRE(Generic Routing Encapsulation)对PPP帧进行封装。封装前,PPP帧的有效载荷即有效传输数据一般会经过加密、压缩或是两者的混合处理。PPTP协议假定在PPTP客户机和PPTP服务器之间有连通且可用的IP网络。因此如果PPTP客户机本身已经是某IP网络的组成部分,那么即可通过该IP网络与PPTP服务器取得连接.MPPE只提供连接加密,而不提供端-端加密。端-端加密属于应用层的加密技术,如果应用中要求实现端-端加密,则可在PPTP隧道建立之后,使用IPSec对两端的IP数据流进行加密处理。基于Internet的PPTP服务器即使用PPTP协议的VPN服务器,它的一个接口在Internet上,另一个接口在Intranet上。

  PPTP连接过程与隧道维护

  PPTP控制连接建立在PPTP客户机IP地址和PPTP服务器IP地址之间,PPTP客户机使用动态分配的TCP端口号,而PPTP服务器则使用保留TCP端口号1723。PPTP控制连接携带PPTP呼叫控制和管理信息,用于维护PPTP隧道,其中包括周期性地发送回送请求和回送应答消息,以期检测出客户机与服务器之间可能出现的连接中断。PPTP控制连接数据包包括一个IP报头,一个TCP报头和PPTP控制信息,数据包格式如下。所示的PPTP控制连接数据包还包括数据链路层报头和报尾。


  PPTP典型连接过程:

  TCP连接由PPTP客户机上的一个动态分配的TCP端口到PPTP服务器上的TCP端口1723建立。


  搭建PPTP VPN

  国内访问google一直都是时好时坏的,以前一直使用host文件,或者dns 最近总是不好使,朋友有台美国的vps,这里就想到了搭建一个vpn,下面贴出我的安装步骤

  # 检查部分

  代码如下:

  modprobe ppp-compress-18 && echo 'ok! MPPE was found !'

  ok! MPPE was found ! //说明系统存在MPPE

  # 若不存在,请按以下方式安装注意版本

  代码如下:

  wget http://cdnetworks-kr-1.dl.sourceforge.net/project/poptop/mppe%20module%20builder/dkms-2.0.10-1/dkms-2.0.10-1.noarch.rpm

  wget http://surfnet.dl.sourceforge.net/project/poptop/mppe%20module%20builder/kernel_ppp_mppe-1.0.2%20dkms-2.0.6/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

  rpm -e kernel_ppp_mppe

  yum install kernel-devel

  rpm -ivh dkms-2.0.10-1.noarch.rpm

  rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

  # 安装pptpd

  代码如下:

  # yum -y install ppp

  # 下载地址

  代码如下:

  # http://surfnet.dl.sourceforge.net/project/poptop/pptpd/pptpd-1.3.4/

  wget http://surfnet.dl.sourceforge.net/project/poptop/pptpd/pptpd-1.3.4/pptpd-1.3.4.tar.gz

  tar zxf pptpd-1.3.4.tar.gz

  cd pptpd-1.3.4

  ./configure

  --prefix=/soft/pptpd-1.3.4

  --enable-bcrelay

  --with-libwrap

  make

  make install

  mkdir -p /soft/pptpd-1.3.4/etc

  # cp samples/options.pptpd /soft/pptpd-1.3.4/etc

  # 配置文件内容如下

  代码如下:

  name pptpd

  debug

  #logwtmp

  logfile /var/log/pptpd.log

  lock

  refuse-pap

  refuse-chap

  refuse-mschap

  require-mschap-v2

  require-mppe-128

  proxyarp

  nobsdcomp

  novj

  novjccomp

  nologfd

  ms-dns 8.8.8.8

  ms-dns 8.8.4.4

  # pptp主配置文件

  代码如下:

  cp samples/pptpd.conf /soft/pptpd-1.3.4/etc

  option /soft/pptpd-1.3.4/etc/options.pptpd

  debug

  stimeout 30

  localip 192.168.142.136 (本地IP)

  remoteip 192.168.142.200-205

  # 拷贝服务文件

  复制代码

  代码如下:

  cp pptpd.init /etc/init.d/pptpd

  # 添加vpn用户

  复制代码

  代码如下:

  vi /etc/ppp/chap-secrets

  # client server secret IP addresses // 添加用户的格式

  chmod +x /etc/init.d/pptpd

  sed -i s#/usr/sbin/pptpd#/soft/pptpd-1.3.4/sbin/pptpd --conf /soft/pptpd-1.3.4/etc/pptpd.conf --option /soft/pptpd-1.3.4/etc/options.pptpd#g

  /etc/init.d/pptpd

  /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.142.0/24 -j MASQUERADE

  /sbin/iptables -P FORWARD ACCEPT

  /sbin/iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT

时间: 2024-12-29 15:49:26

Linux服务器上的PPTP VPN搭建全攻略的相关文章

在Windows服务器上快速架设视频编解码器全攻略

随着互联网的发展,在线视频和视频分享站点已成为当之无愧的流行焦点之一.越来越多的网民们热衷于上土豆等视频网站看在线视频.电影.电视剧,也带动一批播客们制作自己的"创意"视频上传到服务器上和众多网民们分享与交流. 同时也有越来越多的站长们或者草根一族也注意到这一商机,纷纷建立了自己的视频分享站点.就目前而言,绝大多数在线视频分享站点都使用FLV格式的网络视频文件.FLV格式是Macromedia开发的Flash的视频格式.使用这种格式的好处是不但可以轻松导入Flash,同时解决了过去其他

阿里云CentOS Linux服务器上如何用postfix搭建邮件服务器

注:本文的邮件服务器只用于发送邮件,也就是STMP服务器. 一.准备工作 1. 为邮件服务器添加DNS解析 虽然不加DNS解析也能把邮件发出去,但会被大多数邮件服务器当作垃圾邮件.根据我们的实际经验,需要添加三条DNS解析记录:A记录.MX记录.TXT记录.比如域名cnblogs.info,对应的DNS记录如下: 2. 准备存放邮件的硬盘空间 如果用的是阿里云入门级Linux服务器,有一块20G的数据盘未挂载,需要格式化并挂载(假设这里挂载的目录是/data),具体操作步骤见之前的博文阿里云云服

Windows 2003邮件服务器搭建全攻略

在windows2003下架设邮件服务器的过程跟XP系统类似,可以用系统自带的POP3及SMTP服务建立,也可以借助第三方软件实现.适用环境不同自然采取的方式不同.以下笔者的搭建过程分别以这两种方式为例. 一.利用windows2003自带POP3/SMTP服务实现 第一步:安装这两项服务 默认情况下windows2003是没有安装的,我们必须手工添加.POP3服务组件在"添加/删除windows组件-电子邮件服务"下,它共包括两项内容:POP3服务和POP3服务WEB管理;而SMTP

Linux编程之提升PHP执行速度全攻略分析

PHP的优点之一是速度很快,对于一般的网站应用,可以说是已经足够了.不过如果站点的访问量很高.带宽窄或者其它的因素令服务器产生性能瓶颈的时候,你可能得想想其它的办法来进一步提高PHP的速度了.这篇文章将从几个方面介绍如何做到这一点,从而令用户浏览的时候更加"爽". 代码优化 如何写更干净的代码,这一点我想每个人都清楚,在需要速度的时候,你可能已经在PHP源代码的优化上面做了不少的工作,这里所提出的是,这个烦琐的工作可以交由其它工具来完成.这就是Zend Optimizer,此程序可以从

泛域名ssl证书搭建全攻略

  无忧在线项目管理(www.5upm.com)是禅道开发团队给大家提供的一款在线的项目管理服务,它提供了禅道软件专业版本的功能,同时内置了subversion和git的源码托管服务,这样创业型团队或者跨地域团队就可以异地办公,实现跨地域的协同管理. 在实际运营无忧在线过程中,安全是很多客户比较关心的问题.对于这个问题我们通过很多种手段来加以解决,比如操作系统层面,应用程序层面等等.最近无忧在线项目管理又上线了https访问功能,进一步加强了无忧在线的安全性. 下面是笔者配置无忧在线https访

Helix Server与producer电台搭建全攻略

第一步先来安装和设置HELIX SERVER 9(以下简称SERVER 9).安装SERVER 9的计算机必须是装有NT的操作系统,这样才能有稳定的基础可保证.首先需要下载SERVER 9,笔者下载的版本为:HELIX SERVER 9.0.2.794 英文版.下载了HELIX SERVER9以后,还需要一个License(用户授权文件),可以到RealNetworks公司的官方网站上申请一个仅有30天限制的 短时间免费License,网上有些地方也提供License,在这里要提醒大家,如果使用

Retrofit全攻略——进阶篇

最近事比较多,距离上次写文章已经过去了一个月了.上一篇文章Retrofit全攻略--基础篇 介绍了Retrofit的基础用法,这篇文章介绍点进阶的用法. 打印网络日志 在开发阶段,为了方便调试,我们需要查看网络日志.因为Retrofit2.0+底层是采用的OKHttp请求的.可以给OKHttp设置拦截器,用来打印日志. 首先可以在app/build.gradle中添加依赖,这是官方的日志拦截器. compile 'com.squareup.okhttp3:logging-interceptor:

用C#制作PDF文件全攻略

攻略 前 言丽水市汽车运输集团有限公司信息中心 苟安廷PDF文件是目前比较流行的电子文档格式,在办公自动化(OA)等软件的开发中,经常要用到该格式,但介绍如何制作PDF格式文件的资料非常少,在网上搜来搜去,都转贴的是同一段"暴力"破解的方法,代码片断如下: StreamWriter pPDF=new StreamWriter(filePath); ArrayList xRefs=new ArrayList(); float yPos =0f; long streamStart=0; l

QQ农场全攻略计算表

一个打造QQ农场的完整攻略表格,集合网上的攻略统一化,汇聚在一个表格里面,使你更快更容易熟悉QQ农场的操作和攻略心得,让你的qq农场收入更快,升级加速,成为高手中的高手,迅速上榜. QQ农场全攻略计算表功能说明: 1.农场初玩新手相关资料: 2.对qq农场作物的数据进行全面的分析: 3.计算并预计播种和果实收获的时间,让自己合理安排播种. 4.对装饰品进行分析,让自己了解对每个装饰品的划算度,使用Q点等快速升级 5.所有农作物的生长阶段