VPN技术
1. 概述
虚拟专用网络 (VPN)技术利用互联网服务提供商 (ISP)和网络服务提供商(NSP)的网络基础设备,在公用网络中建立专用的数据通信通道。VPN的主要优点包括节约成本和提供安全保障。
优点:
- VPN可以节约成本
- 为安全提供保障
2. VPN类型
VPN主要有三种应用方式:远程接入VPN、内联网VPN、外联网VPN。
-
远程接入VPN(Access VPN)
远程接入VPN允许移动用户在外部网络上访问内部网络。例如,一些学校和企业的门户平台只有在内网环境下才能访问,通过远程接入VPN,用户可以在任何地方安全地连接到这些内部资源。
-
内联网VPN
内联网VPN将两个内部网络通过公用网络连接起来,形成一个逻辑上的局域网。这种方式可以用于连接不同办公室、分支机构,使其共享内部资源,提升整体协作效率。
-
外联网VPN
外联网VPN使得不同的用户在逻辑上的局域网中不平等。通常用于合作伙伴或客户之间的安全通信,在保护公司内部资源的同时,提供必要的访问权限。
3. 使用的技术
3.1 隧道技术
隧道技术主要是利用隧道协议来传输另外一种协议。隧道由隧道开通器(TI)、有路由能力的公用网络和隧道终止器(TT)组成。隧道可以将数据流量强制传输到特定的目的地,隐藏私有的网络地址、在IP网络上传输非IP协议的数据包,简单的来说,隧道技术就像现实生活中的隧道,它可以从一地到一地,而它穿过的"大山"在这里就是外网。
3.1.1 实现方式
隧道的实现主要分为两个过程:封装、解封装。
- 封装:由隧道开通器(TI)完成,将数据包封装在隧道协议的外壳内。
- 解封装:由隧道终止器(TT)完成,将数据包从隧道协议的外壳中解封。
3.1.2 基本类型
隧道有两种基本类型:主动式隧道和被动式隧道
主动式隧道(Access VPN):
客户端主动与目标隧道服务器建立连接。这种方式,客户端需要安装所需要的隧道协议
被动式隧道(Intranet VPN、Extranet VPN):
被动式隧道主要用于两个内部网络之间的固定连接,所以需要先交给隧道服务器A,在接收到数据后,将其强制通过已建立的隧道传输到对端的隧道服务器。
4. VPN相关协议
在VPN技术中,隧道协议用于在公用网络上建立安全的通信通道。根据工作在OSI模型中的层次,可以将隧道协议分为第二层隧道协议和第三层隧道协议。
4.1 第二层隧道协议
第二层隧道协议工作在OSI模型的第二层,即数据链路层。常见的第二层隧道协议包括PPTP和L2TP。
4.1.1. PPTP(Point-to-Point Tunneling Protocol)
PPTP是由微软和其他厂商开发的早期VPN协议。它在PPP(Point-to-Point Protocol)基础上进行封装,通过互联网传输PPP帧。
特点:
- 简单易用:PPTP配置相对简单,广泛支持于Windows操作系统。
- 性能较好:由于其较轻的协议开销,PPTP具有良好的传输性能。
- 安全性较低:PPTP的加密机制(通常是MPPE)相对较弱,容易受到攻击。
4.1.2. L2TP(Layer 2 Tunneling Protocol)
L2TP是由思科和微软共同开发的协议,结合了PPTP和L2F(Layer 2 Forwarding)的特点。L2TP本身不提供加密功能,通常与IPSec一起使用,以提供强大的加密和认证机制。
特点:
- 灵活性高:L2TP可以通过多种网络(如ATM、帧中继等)传输数据。
- 安全性好:当与IPSec结合使用时,L2TP/IPSec提供了强大的加密和认证功能。
- 性能较差:由于双重封装(L2TP和IPSec),L2TP/IPSec的性能可能不如其他协议。
L2TP主要是由LAC(L2TP接入集中器)和LNS(L2TP网络服务器)构成。
- LAC:用于客户端的L2TP来接发呼叫、建立隧道,为客户端提供通过PNST、ISDN、xDSL等方式的接入网路服务。
- LNS:隧道的终点。
L2TP具有两种报文格式:控制报文、数据报文。
- L2TP控制报文:用于隧道的建立、维护与断开。使用的是UDP1701端口,对封装后的UDP数据报使用IPSec ESP进行加密处理并认证。
- L2TP数据报文:负责传输用户的数据。
4.2 第三层隧道协议
第三层隧道协议工作在OSI模型的第三层,即网络层。常见的第三层隧道协议包括IPSec和GRE。
4.2.1. IPSec(Internet Protocol Security)
IPSec是一套用于保护IP通信的协议,提供了认证、数据完整性和加密功能。IPSec通常用于保护VPN连接,尤其是站点到站点VPN和远程接入VPN。
特点:
- 强大的安全性:IPSec提供了强大的加密和认证机制,如AH(Authentication Header)和ESP(Encapsulating Security Payload)。
- 灵活性高:IPSec可以保护任何基于IP的协议,是一种通用的安全解决方案。
- 复杂性高:IPSec配置和管理相对复杂,需要专业知识。
4.2.2. GRE(Generic Routing Encapsulation)
GRE是一种简单的隧道协议,用于在一个协议中封装另一种协议。GRE本身不提供加密或认证功能,通常与IPSec结合使用以提供安全性。
特点:
- 协议支持广泛:GRE可以封装多种协议,包括IP、IPX和AppleTalk。
- 简单易用 :GRE配置相对简单,适用于多种应用场景。
身不提供加密或认证功能,通常与IPSec结合使用以提供安全性。