您当前的位置:首页 > 电脑百科 > 网络技术 > 网络知识

VPN技术(IPsec/L2TP/SSLVPN/PPTP)学习笔记

时间:2020-01-17 10:52:03  来源:  作者:

常见的VPN技术

  • IPsec VPN: 多机房互联(即一般在GW与GW之间建立隧道)
  • L2TP/IPsec VPN: 支持多隧道,配置IPsec使用
  • PPTP VPN: 只能两端点间建立单一隧道,可选配合IPsec使用
  • SSL VPN: 数据私密性、端点验证、信息完整性,自协议:握手协议、记录协议

 SSL VPN

SSL VPN是无需安装客户端软件,通过远程建立的SSL隧道访问内部服务器的代理技术,并对服务器内容提供基于用户认证、远程站点检查的资源访问控制。

SSL VPN现已成为远程访问VPN的新宠。除了具备与IPsec VPN相当的安全性外,认证功能更强,还增加了基于内容的访问控制机制。客户端只需要拥有支持SSL的浏览器即可

SSL VPN由于处在TCP层,所以可以进行丰富的业务控制,如行为审计,可以记录每名用户的所有操作,为更好地管理VPN提供了有效统计数据。

当使用者退出SSL VPN登陆页面时,所有会话会全部释放。

 

SSLVPN的技术分为以下四种

  • Web代理(proxying)
  • 应用转换(Application translation)
  • 端口转发(port forwarding)
  • 网络扩展(network extension)

每种技术支持的应用与控制粒度会有所不同。

 

Web代理(proxying)

来自客户端的发往SSL VPN Server得页面请求在VPN Server内部替换,发往VPN后面的真正Web服务器,然后再将Web服务器的响应回传给终端用户.

WEB代理是最为简单的应用,也是控制粒度最细的SSL VPN应用,可以精确地控制每个链接。

 

应用转换(application translation)

有些通过htmlJAVA程序,有些通过HTTPS页面中的客户端下载实现

  • 对于非Web页面的文件访问,要借助于应用转换。
  • 在浏览器中用HTML或JAVA来实现模拟客户端程序。通过SSL VPN的协议连接器,访问指定资源。
  • 应用:文件共享、telnet、ssh、远程桌面、ftp。

 

端口转发(port forwarding)

端口映射是粒度仅次于WEB代理的应用,它通过TCP端口映射的方式(原理上类似于NAT内部服务器应用),为使用者提供远程接入TCP的服务,它需要专门的、与服务器配套的SSL VPN客户端程序帮忙(在页面中一般提供下载方式)或是通过HTML代码实现。

  • 端口转发用于端口定义明确的应用(如FTP,SSH等)。
  • 终端系统上运行一个非常小的Java或ActiveX程序作为端口转发器,监听某个端口上的连接。当数据包进入 这个端口时,它们通过SSL连接中的隧道被传送到SSL VPN网关,SSL VPN网关解开封装的数据包,将它们转发给目的应用服务器。
  • 使用端口转发器,需要终端用户指向他希望运行的本地应用程序(127.0.0.1),而不必指向真正的应用服务器。

 

网络扩展(network extension)

网络扩展是SSL VPN中粒度最粗的服务,但也是使用最广泛的,它实现了类似于L2TP的特性,所有客户端都可以从服务器获得一个VPN地址,然后直接访问内部服务器,它也需要专门的SSL VPN客户端程序帮忙.

  • 远程端点可以具有完全的网络连接,并动态获取内部地址。
  • 在用法上和IPsec等同。
  • 需要插件和网络驱动的支持。
  • 优点:适应性好,所有的IP应用都可以。
  • 缺点:控制的粒度太粗,跟IPsec非常相似。

 

L2TP/IPsec VPN

实际上是,终端与接入服务器之间先建立IPsec隧道,然后再进行L2TP协商(UDP端口1701)。依靠Internet协议安全性(IPsec)技术提供加密服务,在建立的IPsec加密通道上承载L2TP的控制和数据协商并传输通过L2TP封装的用户报文。 L2TP与IPsec的结合产物称为L2TP/IPsec。VPN客户端与VPN服务器都必须支持L2TP和IPsec。L2TP将随同路由与远程访问服务一道自动进行安装。

在IPsec数据包基础上所进行的L2TP封装由两个层次组成:

  • L2TP封装:PPP帧(IP或IPX数据包)将通过L2TP报头和UDP报头进行封装。
  • IPsec封装:上述封装后所得到的L2TP报文将通过IPsec封装安全性有效载荷(ESP)报头、用以提供消息完整性与身份验证的IPsec身份验证报尾以及IP报头再次进行封装。IP报头中将提供与VPN客户端和VPN服务器相对应的源IP地址和目标IP地址。IPsec加密机制将通过由IPsec身份验证过程所生成的加密密钥对L2TP报文进行加密。

 

L2TP控制报文封装格式:(UDP 1701)

VPN技术(IPsec/L2TP/SSLVPN/PPTP)学习笔记

# L2TP Control Message

若经过IPsec NAT穿越,则在外层IP与ESP Header之间再增加一个UDP头(端口为4500)

L2TP数据报文封装(UDP 1701):

VPN技术(IPsec/L2TP/SSLVPN/PPTP)学习笔记

# L2TP Data encapsulation

若经过IPsec NAT穿越,则在外层IP与ESP Header之间再增加一个UDP头(端口为4500)

 

L2TP/IPsec Tunnel的不足之处:

  1. 使用windows终端(Win10/Win8等),进行L2TP/IPsec第一次拨号时,必须先添加如下注册表项,否则无法顺利接入
Windows Registry Editor Version 5.00
[HKEY_LOCAL_macHINESYSTEMCurrentControlSetServicesPolicyAgent]
"AssumeUDPEncapsulationContextOnSendRule"=dword:00000002

2. L2TP/IPsec接入时,无法自动下发路由信息,终端用户必须手动添加路由才能访问Server提供的子网访问路劲

3. L2TP/IPsec配置复杂,且性能很低下,大多不会采用这个隧道方式

 

PPTP VPN

PPTP(Point to Point Tunneling Protocol),即点对点隧道协议。该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网,可以通过密码验证协议,可扩展认证协议等方法增强安全性。远程用户可以通过ISP、直接连接Internet或者其他网络安全地访问企业网;

PPTP实现需要完成2个动作:协商PPTP/GRE隧道和协商建立PPTP虚拟链路,PPTP和FTP类似,是一种多通道协议,具体而言,即PPTP存在控制通道和数据通道。控制通道建立在PPTP客户端和服务器之间,PPTP客户机使用动态分配的TCP端口号,而PPTP则使用保留TCP端口号1723。控制通道用于PPTP隧道的协商和维护。PPTP控制通道协商数据包包括一个IP包头,一个TCP报头和PPTP控制消息:

PPTP控制报文格式:

VPN技术(IPsec/L2TP/SSLVPN/PPTP)学习笔记

# PPTP Control message

PPTP数据报文封装:

VPN技术(IPsec/L2TP/SSLVPN/PPTP)学习笔记

# PPTP data encapsulation

由MS-CHAP、MS-CHAP v2或EAP-TLS身份验证过程所生成的加密密钥对PPP帧进行加密

 

PPTP控制连接的建立流程分析

PPTP控制连接建立过程可以分为以下几步:

  1. 建立TCP连接
  2. PPTP控制连接和GRE隧道建立
VPN技术(IPsec/L2TP/SSLVPN/PPTP)学习笔记

 

3. PPP协议的LCP协商

VPN技术(IPsec/L2TP/SSLVPN/PPTP)学习笔记

 

4. PPP协议的身份验证

VPN技术(IPsec/L2TP/SSLVPN/PPTP)学习笔记

 

5. PPP协议的NCP协商

NCP协议是PPP协议的网络控制协议,主要用来协商双方网络层接口参数,配置虚拟端口,分配IP,DNS等信息。图中的IPCP是NCP基于TCP/IP的接口协商协议。Server和Client都要把自己的Miniport信息发送给对方

VPN技术(IPsec/L2TP/SSLVPN/PPTP)学习笔记

 

6. PPP协议的CCP协商

CCP协议协商PPP通讯中数据加密的协议

 

L2TP和PPTP区别:

  • L2TP:公有协议、UDP1701、支持隧道验证,支持多个协议,多个隧道,压缩字节
  • PPTP:私有协议、TCP1723、不支持隧道验证,只支持IP、只支持点到点

PPTP只能在两端间建立单一隧道,L2TP支持在两端点间使用多隧道,这样可以针对不同的用户创建不同的服务质量

L2TP可以提供隧道验证机制,而PPTP不能提供这样的机制,但当L2TP或PPTP与IPsec共同使用时,可以由IPsec提供隧道验证,不需要在第二层协议上提供隧道验证机制

PPTP要求互联网络为IP网络,而L2TP只要求隧道媒介提供面向数据包的点对点连接,L2TP可以在IP(使用UDP),FR,ATM,x.25网络上使用

L2TP可以提供包头压缩。当压缩包头时,系统开销(overhead)占用4个字节,而PPTP协议下要占用6个字节

 

IPsec VPN

IPsec协议的设计目标:是在IPV4和IPV6环境中为网络层流量提供灵活的安全服务。

IPsec VPN:是基于IPsec协议族构建的在IP层实现的安全虚拟专用网。通过在数据包中插入一个预定义头部的方式,来保障OSI上层协议数据的安全,主要用于保护TCP、UDP、ICMP和隧道的IP数据包。



Tags:VPN技术   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1 MPLS提出的意义传统的IP数据转发是基于逐跳式的,每个转发数据的路由器都要根据IP包头的目的地址查找路由表来获得下一跳的出口,这是个繁琐又效率低下的工作,主要的原因是两个...【详细内容】
2021-05-10  Tags: VPN技术  点击:(255)  评论:(0)  加入收藏
当不同的远程网络通过 Internet 连接时,比如上海和北京的两个分公司通过Internet 连接时,网络之间的互访将会出现一些局限性,如下拓朴所示: 在上图中,由于上海和北京的两个分公...【详细内容】
2020-03-02  Tags: VPN技术  点击:(116)  评论:(0)  加入收藏
常见的VPN技术 IPsec VPN: 多机房互联(即一般在GW与GW之间建立隧道) L2TP/IPsec VPN: 支持多隧道,配置IPsec使用 PPTP VPN: 只能两端点间建立单一隧道,可选配合IPsec使用 SSL VPN:...【详细内容】
2020-01-17  Tags: VPN技术  点击:(796)  评论:(0)  加入收藏
VPN(Virtual Private Network)即虚拟专用网络,是指利用公共网络主要使用Internet建立私有专用网络从而传输私有数据。 这是啥意思呢,我们可以从一些需求出发来进行解释,因为一切...【详细内容】
2019-10-29  Tags: VPN技术  点击:(1039)  评论:(0)  加入收藏
SSL VPN作为远程接入型的VPN,已经具备非常广阔的前景,它的主要适应场景是取代L2TP Over IPSec,但功能要比L2TP Over IPSec更丰富,方案也更加灵活。一、SSL VPN简介何谓SSL VPN,首...【详细内容】
2019-08-20  Tags: VPN技术  点击:(887)  评论:(0)  加入收藏
▌简易百科推荐
以京训钉开发平台接口文档为例,使用HttpClient类请求调用其接口,对数据进行增删改查等操作。 文档地址: https://www.yuque.com/bjjnts/jxd/bo1oszusing System;using System.C...【详细内容】
2021-12-28  Wednes    Tags:HttpClient   点击:(1)  评论:(0)  加入收藏
阿里云与爱快路由安装组网教程一、开通好阿里云轻量服务器之后在服务器运维-远程连接处进行远程 二、进入控制台后在root权限下根据需要安装的固件位数复制下面命令。32位:wg...【详细内容】
2021-12-28  ikuai    Tags:组网   点击:(1)  评论:(0)  加入收藏
HTTP 报文是在应用程序之间发送的数据块,这些数据块将通过以文本形式的元信息开头,用于 HTTP 协议交互。请求端(客户端)的 HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应...【详细内容】
2021-12-27  程序员蛋蛋    Tags:HTTP 报文   点击:(5)  评论:(0)  加入收藏
一 网络概念:1.带宽: 标识网卡的最大传输速率,单位为 b/s,比如 1Gbps,10Gbps,相当于马路多宽2.吞吐量: 单位时间内传输数据量大小单位为 b/s 或 B/s ,吞吐量/带宽,就是网络的使用率...【详细内容】
2021-12-27  码农世界    Tags:网络   点击:(3)  评论:(0)  加入收藏
1.TCP/IP 网络模型有几层?分别有什么用? TCP/IP网络模型总共有五层 1.应用层:我们能接触到的就是应用层了,手机,电脑这些这些设备都属于应用层。 2.传输层:就是为应用层提供网络...【详细内容】
2021-12-22  憨猪哥08    Tags:TCP/IP   点击:(35)  评论:(0)  加入收藏
TCP握手的时候维护的队列 半连接队列(SYN队列) 全连接队列(accepted队列)半连接队列是什么?服务器收到客户端SYN数据包后,Linux内核会把该连接存储到半连接队列中,并响应SYN+ACK报...【详细内容】
2021-12-21  DifferentJava    Tags:TCP   点击:(10)  评论:(0)  加入收藏
你好,这里是科技前哨。 随着“元宇宙”概念的爆火,下一代互联网即将到来,也成了互联网前沿热议的话题,12月9日美国众议院的听证会上,共和党议员Patrick McHenry甚至宣称,要调整现...【详细内容】
2021-12-17  王煜全    Tags:Web3   点击:(14)  评论:(0)  加入收藏
一、demopublic static void main(String[] args) throws Exception { RetryPolicy retryPolicy = new ExponentialBackoffRetry( 1000, 3);...【详细内容】
2021-12-15  程序员阿龙    Tags:Curator   点击:(22)  评论:(0)  加入收藏
一、计算机网络概述 1.1 计算机网络的分类按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。1.2 计算机网络的层次结构 TCP/IP四层模...【详细内容】
2021-12-14  一口Linux    Tags:网络知识   点击:(31)  评论:(0)  加入收藏
无论是在外面还是在家里,许多人都习惯了用手机连接 WiFi 进行上网。不知道大家有没有遇到过这样一种情况, 明明已经显示成功连接 WiFi,却仍然提示“网络不可用”或“不可上网”...【详细内容】
2021-12-14  UGREEN绿联    Tags:WiFi   点击:(25)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条