GRE、PPTP、L2TP隧道协议_没有配置为允许基本路由封装(gre协议数据包通过-程序员宅基地

技术标签: pptp与GRE  

IPSec Multiprotocol Label Switching (MPLS) VPN出现前,GRE被用来提供Internet上的VPN功能。GRE将用户数据包封装到携带数据包中。因为支持多种协议,多播,点到点或点到多点协议,如今,GRE仍然被使用。
GRE隧道中,路由器会在封装数据包的IP头部指定要携带的协议,并建立到对端路由器的虚拟点对点连接


  • Passenger: 要封装的乘客协议 (IPX, AppleTalk, IP, IPSec, DVMRP, etc.).
  • Carrier: 封装passenger protocolGRE协议,插入到transportpassenger包头之间GRE包头中定义了传输的协议
  • Transport: IP协议携带了封装的passenger protocol. 这个传输协议通常实施在点对点的GRE连接中(GRE是无连接的).


GRE
的特点:

  • GRE是一个标准协议
  • 支持多种协议和多播
  • 能够用来创建弹性的VPN
  • 支持多点隧道
  • 能够实施QOS


GRE
的缺点:

  • 缺乏加密机制
  • 没有标准的控制协议来保持GRE隧道(通常使用协议和keepalive
  • 隧道很消耗CPU
  • 出现问题要进行DEBUG很困难
  • MTUIP分片是一个问题


配置:


这里配置对端的IP地址和tunnel ID (tunnel key 2323)来进行简单的认证。两端配置的tunnel ID必须配置相同。

Cisco IOS versions 12.2(8)T允许配置keepalive,定期发送报文检测对端是否还活着

GRE隧道
GRE
建立的是简单的(不进行加密)VPN隧道,他通过在物理链路中使用ip地址和路由穿越普通网络。
大部分协议都没有内建加密机制,所以携带他们穿越网络的很常见的方法就是使用加密(如使用IPSec)的GRE隧道,这样可以为这些协议提供安全性。(相关配置请参看GRE over IPSec)网状连接(Full-Mesh
由于GRE是建立点对点的隧道,如果要多个端点的网状互联,则必须采用这种Hub-and-spoke的拓扑形式



但是可以通过使用NHRPNext-Hop Resolution Protocol)来自动建立全网状拓扑。(相关配置请参看NHRP 配置全网状互联GRE隧道)


 

VPDN简介
VPDN
Virtual Private Dial Network,虚拟私有拨号网)是指利用公共网络(如ISDNPSTN)的拨号功能及接入网来实现虚拟专用网,从而为企业、小型ISP、移动办公人员提供接入服务。 
VPDN
采用专用的网络加密通信协议,在公共网络上为企业建立安全的虚拟专网。企业驻外机构和出差人员可从远程经由公共网络,通过虚拟加密隧道实现和企业总部之间的网络连接,而公共网络上其它用户则无法穿过虚拟隧道访问企业网内部的资源。
VPDN
有下列两种实现方式:

  1. 网络接入服务器(NAS)通过隧道协议,与 VPDN网关建立通道的方式。这种方式将客户的PPP连接直接连到企业的网关上,目前可使用的协议有L2FL2TP。其好处在于:对用户是透明的,用户 只需要登录一次就可以接入企业网络,由企业网进行用户认证和地址分配,而不占用公共地址,用户可使用各种平台上网。这种方式需要NAS支持VPDN协议, 需要认证系统支持VPDN属性,网关一般使用路由器或VPN专用服务器。
  2. 客户机与VPDN网关建立隧道的方式。这种方式由客户机先建立 Internet的连接,再通过专用的客户软件(如Win2000支持的L2TP客户端)与网关建立通道连接。其好处在于:用户上网的方式和地点没有限 制,不需ISP介入。缺点是:用户需要安装专用的软件(一般都是Win2000平台),限制了用户使用的平台。


VPDN
隧道协议可分为PPTPL2FL2TP三种Point to Point Tunneling ProtocolPPTP
点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术, 它工作在第二层。通过该协议,远程用户能够通过Microsoft Windows NT工作站、Windows 95Windows 98操作系统以及其它装有点对点协议的系统安全访问公司网络,并能拨号连入本地ISP,通过Internet安全链接到公司网络。
PPTP
协议假定在PPTP客户机和PPTP服务器之间有连通并且可用的IP网络。因此如果PPTP客户机本身已经是IP网络的组成部分,那么即可通过该 IP网络与PPTP服务器取得连接;而如果PPTP客户机尚未连入网络,譬如在Internet拨号用户的情形下,PPTP客户机必须首先拨打NAS以建 IP连接。这里所说的PPTP客户机也就是使用PPTP协议的VPN客户机,而PPTP服务器亦即使用PPTP协议的VPN服务器。


  • PPTP Access Concentrator (PAC) 接入服务商,允许拨号接入连接(通常是由ISP担任,而且不需要ISP的协助来建立隧道)
  • PPTP Network Server (PNS):通常是PPTP服务器或者路由器用来建立PPTP隧道
  • Microsoft Point-to-Point Encryption (MPPE) :和IPSec一样,是一种数据加密协议,用来为PPP拨号连接传输的数据进行加密。MPPE使用RSA算法来进行加密,支持40-bit128-bit的会话密钥


PPTP
只能通过PACPNS来实施,其它系统没有必要知道PPTP。拨号网络可与PAC相连接而无需知道PPTP。标准的PPP客户机软件可继续在隧道PPP链接上操作。



PPTP VPN 
协商过程:

  1. 客户端(笔记本)通过PPP建立到ISP NAS的连接
  2. 客户端建立到PNS(在这里是CISCO路由器)的PPTP连接
  3. 客户端和PNS之间建立了一个2层的隧道。多种协议能够在这个隧道上传输
  4. 使用MPPE加密PPP数据包,这些数据包接下来通过enhanced GRE封装,并在IP网络上传输
  5. 在客户端和PPTP服务器之间建立第二个PPP over GRE会话
  6. 数据能够在这个IP/GRE/PPP上传输
  7. PPTP隧道使用不同的TCP连接来控制会话


PPTP
使用GRE的扩展版本来传输用户PPP包。这些增强允许为在PACPNS之间传输用户数据的隧道提供低层拥塞控制和流控制。这种机制允许高效使 用隧道可用带宽并且避免了不必要的重发和缓冲区溢出。PPTP没有规定特定的算法用于低层控制,但它确实定义了一些通信参数来支持这样的算法工作。
PPTP
缺点:

  • 不支持QOS
  • 每个用户一个隧道
  • 认证和加密比较脆弱


相关的配置请参照PPTP 配置Layer 2 Tunneling Protocol L2TP
L2TP
协议提供了对PPP链路层数据包的通道(Tunnel)传输支持,允许二层链路端点和PPP会话点驻留在不同设备上并且采用包交换网络技术进行信 息交互,从而扩展了PPP模型。L2TP协议结合了L2F协议和PPTP协议的各自优点,成为IETF有关二层隧道协议的工业标准。


  • L2TP Access Concentrator (LAC) :表示L2TP访问集中器,类似于PPTP中的PAC,是附属在交换网络上的具有PPP端系统和L2TP协议处理能力的设备。LAC一般是一个网络接入服 务器NAS,主要用于通过PSTN/ISDN网络为用户提供接入服务。
  • L2TP Network Server (LNS) :表示L2TP网络服务器,也叫做"home gateway",类似于PPTP中的PNS,是PPP端系统上用于处理L2TP协议服务器端部分的设备。


L2TP
隧道建立过程:


  1. 用户使用PPP拨号到ISP,并获得一个IP地址。客户端和ISP之间建立邻接,客户端能够接入到Internet。这个步骤是用来作为普通的Internet连接
  2. 客户端决定建立一个端到端的L2TP隧道到home gateway,并在下面建立一个新的PPP会话之前前会使用控制会话建立一个隧道
  3. L2TP隧道里建立一个新的PPP隧道,并分配给客户端一个IP地址。客户端和home gateway之间会使用virtual point-to-point,通过PPP封装进L2TP隧道,建立一个新的IP邻接关系。


建立IPSec保护的L2TP VPN


  1. 客户端使用PPP拨入ISPISP分配IP地址给客户端
  2. 客户端使用L2TP通过一个VPN端口连接到home gateway
  3. home gateway使用AAA服务器对隧道进行认证,并分配一个隧道内部IP地址给客户端
  4. 在客户端和gateway之间建立IPSec,来提供L2TP会话的加密。


VPDN
拨号用户与总部路由服务器建立连接的过程如下:

  1. 拨号用户拨打一个初始化呼叫有VPDN访问接入服务器(NAS
  2. NAS 接收此呼叫,并将启动一个到总部路由服务器(Home Gateway)的L2TP Tunnel 协商:Home Gateway 利用总部的Radius服务器来鉴定NAS Tunnel ID,认证通过以后,向NAS发起CHAP Challenge 信号;NAS对来自Home GatewayTunnel 进行认证,认证通过之后,就建立了NASHome Gateway之间的Tunnel连接。此时,Home Gateway就可以利用其Radius服务器对VPDN用户进行用户级的认证,如果认证通过将建立Home Gateway和用户间的端到端的PPP连接。如果在NASHome Gateway之间建立了Tunnel连接之后,又有另一VPDN用户拨打同一NAS,此时将不会重复上述建立Tunnel的过程,而是直接进行用户级的 认证。
  3. 从拨号用户发出的帧被NAS接收到以后,被封装在L2TP中,通过IP隧道被转发到总部路由服务器。这样,用户就可以对总部的信息进行访问,实现信息共享。



两种典型的L2TP隧道模式

  1. 由远程拨号用户发起:
    远程系统拨入LAC,由LAC通过InternetLNS发起建立通道连接请求。拨号用户地址由LNS分配;对远程拨号用户的验证与计费既可由LAC侧的代理完成,也可在LNS侧完成。
  2. 直接由LAC客户(指可在本地支持L2TP协议的用户)发起:
    此时LAC客户可直接向LNS发起通道连接请求,无需再经过一个单独的LAC设备。此时,LAC客户地址的分配由LNS来完成。


L2TP
的优势

  • 灵活的身份验证机制以及高度的安全性:
    L2TP
    协议本身并不提供连接的安全性,但它可依赖于PPP提供的认证(比如CHAPPAP等),因此具有PPP所具有的所有安全特性。L2TP也可与 IPSec结合起来实现数据安全,这使得通过L2TP所传输的数据更难被攻击。L2TP还可根据特定的网络安全要求在L2TP之上采用通道加密技术、端对 端数据加密或应用层数据加密等方案来提高数据的安全性。
  • 多协议传输:
    L2TP
    传输PPP数据包,这样就可以在PPP数据包内封装多种协议。
  • 支持RADIUS服务器的验证:
    LAC
    端将用户名和密码发往RADIUS服务器进行验证申请,RADIUS服务器负责接收用户的验证请求,完成验证。
  • 支持内部地址分配:
    LNS
    可放置于企业网的防火墙之后,它可以对远端用户的地址进行动态的分配和管理,可支持私有地址应用(RFC1918)。为远端用户所分配的地址不是Internet地址而是企业内部的私有地址,这样方便了地址的管理并可以增加安全性。
  • 网络计费的灵活性:
    可在LACLNS两处同时计费,即ISP处(用于产生帐单)及企业网关(用于付费及审计)。L2TP能够提供数据传输的出入包数、字节数以及连接的起始、结束时间等计费数据,可根据这些数据方便地进行网络计费。
  • 可靠性:
    L2TP
    协议支持备份LNS,当一个主LNS不可达之后,LAC可以重新与备份LNS建立连接,这样增加了VPN服务的可靠性和容错性。


该协议是一种工业标准的Internet隧道协议,功能大致和PPTP协议类似,比如同样可以对网络数据流进行加密。不过也有不同之处,比如PPTP要求 网络为IP网络,L2TP要求面向数据包的点对点连接;PPTP使用单一隧道,L2TP使用多隧道;L2TP提供包头压缩、隧道验证,而PPTP不支持。 L2TP协议是由IETF起草,微软、AscendCisco3COM等公司参予制定的二层隧道协议,它结合了PPTPL2F两种二层隧道协议的优 点,为众多公司所接受,已经成为IETF有关2层通道协议的工业标准,基于微软的点对点隧道协议 (PPTP)和思科2层转发协议(L2F)之上的,被一个因特网服务提供商和公司使用使这个虚拟私有网络的操作能够通过因特网。


http://blog.163.com/hlz_2599/blog/static/142378474201361882619351/


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bytxl/article/details/45268249

智能推荐

JWT(Json Web Token)实现无状态登录_无状态token登录-程序员宅基地

文章浏览阅读685次。1.1.什么是有状态?有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,从而找到用户的信息。缺点是什么?服务端保存大量数据,增加服务端压力 服务端保存用户状态,无法进行水平扩展 客户端请求依赖服务.._无状态token登录

SDUT OJ逆置正整数-程序员宅基地

文章浏览阅读293次。SDUT OnlineJudge#include<iostream>using namespace std;int main(){int a,b,c,d;cin>>a;b=a%10;c=a/10%10;d=a/100%10;int key[3];key[0]=b;key[1]=c;key[2]=d;for(int i = 0;i<3;i++){ if(key[i]!=0) { cout<<key[i.

年终奖盲区_年终奖盲区表-程序员宅基地

文章浏览阅读2.2k次。年终奖采用的平均每月的收入来评定缴税级数的,速算扣除数也按照月份计算出来,但是最终减去的也是一个月的速算扣除数。为什么这么做呢,这样的收的税更多啊,年终也是一个月的收入,凭什么减去12*速算扣除数了?这个霸道(不要脸)的说法,我们只能合理避免的这些跨级的区域了,那具体是那些区域呢?可以参考下面的表格:年终奖一列标红的一对便是盲区的上下线,发放年终奖的数额一定一定要避免这个区域,不然公司多花了钱..._年终奖盲区表

matlab 提取struct结构体中某个字段所有变量的值_matlab读取struct类型数据中的值-程序员宅基地

文章浏览阅读7.5k次,点赞5次,收藏19次。matlab结构体struct字段变量值提取_matlab读取struct类型数据中的值

Android fragment的用法_android reader fragment-程序员宅基地

文章浏览阅读4.8k次。1,什么情况下使用fragment通常用来作为一个activity的用户界面的一部分例如, 一个新闻应用可以在屏幕左侧使用一个fragment来展示一个文章的列表,然后在屏幕右侧使用另一个fragment来展示一篇文章 – 2个fragment并排显示在相同的一个activity中,并且每一个fragment拥有它自己的一套生命周期回调方法,并且处理它们自己的用户输_android reader fragment

FFT of waveIn audio signals-程序员宅基地

文章浏览阅读2.8k次。FFT of waveIn audio signalsBy Aqiruse An article on using the Fast Fourier Transform on audio signals. IntroductionThe Fast Fourier Transform (FFT) allows users to view the spectrum content of _fft of wavein audio signals

随便推点

Awesome Mac:收集的非常全面好用的Mac应用程序、软件以及工具_awesomemac-程序员宅基地

文章浏览阅读5.9k次。https://jaywcjlove.github.io/awesome-mac/ 这个仓库主要是收集非常好用的Mac应用程序、软件以及工具,主要面向开发者和设计师。有这个想法是因为我最近发了一篇较为火爆的涨粉儿微信公众号文章《工具武装的前端开发工程师》,于是建了这么一个仓库,持续更新作为补充,搜集更多好用的软件工具。请Star、Pull Request或者使劲搓它 issu_awesomemac

java前端技术---jquery基础详解_简介java中jquery技术-程序员宅基地

文章浏览阅读616次。一.jquery简介 jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互 jQuery 的功能概括1、html 的元素选取2、html的元素操作3、html dom遍历和修改4、js特效和动画效果5、css操作6、html事件操作7、ajax_简介java中jquery技术

Ant Design Table换滚动条的样式_ant design ::-webkit-scrollbar-corner-程序员宅基地

文章浏览阅读1.6w次,点赞5次,收藏19次。我修改的是表格的固定列滚动而产生的滚动条引用Table的组件的css文件中加入下面的样式:.ant-table-body{ &amp;amp;::-webkit-scrollbar { height: 5px; } &amp;amp;::-webkit-scrollbar-thumb { border-radius: 5px; -webkit-box..._ant design ::-webkit-scrollbar-corner

javaWeb毕设分享 健身俱乐部会员管理系统【源码+论文】-程序员宅基地

文章浏览阅读269次。基于JSP的健身俱乐部会员管理系统项目分享:见文末!

论文开题报告怎么写?_开题报告研究难点-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏15次。同学们,是不是又到了一年一度写开题报告的时候呀?是不是还在为不知道论文的开题报告怎么写而苦恼?Take it easy!我带着倾尽我所有开题报告写作经验总结出来的最强保姆级开题报告解说来啦,一定让你脱胎换骨,顺利拿下开题报告这个高塔,你确定还不赶快点赞收藏学起来吗?_开题报告研究难点

原生JS 与 VUE获取父级、子级、兄弟节点的方法 及一些DOM对象的获取_获取子节点的路径 vue-程序员宅基地

文章浏览阅读6k次,点赞4次,收藏17次。原生先获取对象var a = document.getElementById("dom");vue先添加ref <div class="" ref="divBox">获取对象let a = this.$refs.divBox获取父、子、兄弟节点方法var b = a.childNodes; 获取a的全部子节点 var c = a.parentNode; 获取a的父节点var d = a.nextSbiling; 获取a的下一个兄弟节点 var e = a.previ_获取子节点的路径 vue