基于不同VPN技术的远程访问网络规划与实现
2023-10-24王志辉
王志辉
(湖南中医药大学信息科学与工程学院 湖南 长沙 410208)
VPN 技术是通过公用网络建立一个临时虚拟隧道,方便身份合法的远程用户安全地访问内网资源。部分VPN技术支持加密算法和身份验证,可以大大提高数据传输的安全性,目前常见的虚拟专用网络(Virtual Private Network,VPN)协议有通用路由封装协议(Generic Routing Encapsulation,GRE)、点对点隧道协议(Point-to-Point Tunneling Protocol,PPTP)、二层隧道协议(Layer 2 Tunneling Protocol,L2TP)、互联网安全协议(Internet Protocol Security,IPSec)、安全套接协议(Secure Sockets Layer,SSL)、多协议标签交换(Multi-Protocol Label Switching,MPLS)、基于光网络的光虚拟专用网(Optical Virtual Private Network,OVPN)技术等[1]。本文重点对GRE、L2TP、IPSec、MPLS这4种VPN技术开展研究。
1 VPN关键技术
VPN是使用标准的协议在公用网络的链路和设备上进行数据传输,根据协议将数据包重新封装进行传输。各隧道协议在开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM)的层次位置如表1所示。
表1 各VPN协议在OSI模型的位置
OSI/RM模型中数据链路层对应实体为交换机,网络层对应实体为路由器,大部分VPN协议集中在此两层,通过对硬件网络设备进行配置可以大大提高通信安全性。应用层对应的SSL 协议是Netscape 公司率先采用的网络安全协议,采用公开密钥技术,支持各种类型的网络,在传输通信协议(TCP/IP)上提供基本的安全服务协议[2]。
1.1 VPN相关协议
1.1.1 通用路由封装协议GRE
GRE 协议是封装某些网络层协议报文后生成新的GRE报文,由原数据包根据所到达目的地址需要用GRE 协议封装后在公用网络进行路由转发。GRE 支持多种协议和多播、具备多点隧道功能,可搭配服务质量保障技术、扩大路由跳数,但不具备加密功能,而且采用GRE协议会消耗过多CPU等硬件资源,从而导致使用GRE 协议的网络设备数据转发效率有一定程度的降低。
1.1.2 第二层隧道协议L2TP
L2TP 协议是由微软、思科等多家公司一起提出的,是一种对PPP报文进行隧道传输技术,允许数据链路层端点和PPP会话点驻留在通过分组交换网络连接的不同设备上,从而扩使PPP 报文能在Internet 上传输。L2TP 使用控制消息和数据消息。在安全性考虑上,L2TP 仅定义了控制消息的加密传输方式,对传输中的数据并不加密[1]。
1.1.3 互联网安全协议IPSec
IPSec协议族主要包括验证头部协议(Authentication Header,AH)、封装安全载荷协议(Encapsulating Security Payload,ESP)和因特网密钥交换协议(Internet Key Exchange,IKE)。AH不提供加密服务,而ESP提供加密服务。目前,IPSec VPN 技术采用基于传统Linux协议栈方式进行数据捕获,IPSec安全性良好但是服务效率不高[3]。IPSec协议的传输模式用来直接加密主机之间网络通信,提供终端到终端的传输安全性;隧道模式用来在两个子网之间建造“虚拟隧道”实现两个网络之间的安全通信,提供了网关到网关的传输安全性。
1.1.4 多协议标签交换MPLS
MPLS协议是对IP数据包加上标签从而实现快速转发技术。MPLS 的体系结构由负责建立路由条目和标签分配转发的控制平面和负责对接收到的分组进行转发的转发平面构成[4]。在安全性方面,运营商可隐藏MPLS 骨干网络拓扑图,还可以用其他安全协议如IPSec封装数据进行传输。
1.2 加密技术
在VPN网络中现代加密技术多为密钥加密技术,可分为对称加密和非对称加密两类。对称加密所使用的加解密密钥是同一对,如数据加密算法DES、三重加密算法3DES、国际数据加密算法IDEA、高级加密标准AES 等。非对称加密是需要两个密钥:一个是公开密钥,用于加密数据或解密被私钥加密的数据;另一个是私有密钥,用于解密被公钥加密的数据或加密,成对使用,如RSA 算法、数字签名算法DSA、椭圆曲线密码学算法ECC等。
1.3 身份认证技术
实体身份认证方式主要有口令认证、智能卡认证以及生物特征认证。基于密码学的身份认证主要有PAP认证、SPAP认证、CHAP认证、MSCHAP认证、MSCHAP-V2认证、EAP认证、PEAP认证等。
PAP认证是利用PPP基础上通过两次握手进行认证,PAP使用明文传输,安全性很低。SPAP相对PAP而言可对传输密码进行简单加密,比PAP 安全性高。CHAP挑战握手协议,是基于三次握手发送摘要信息来对对方进行身份验证。CHAP在认证前,双方要协商共同的密钥,在认证中由一方发送随机数给另一方计算摘要信息,并要求把摘要信息传输回来与自身的计算的摘要信息验证。MSCHAP与CHAP不同的是,使用MD4散列标准,提供更为高级的功能。MSCHAP-V2与之前V1版本改变在于要求双向验证,即双方都要验证对方身份。EAP 允许使用的身份验证方法不受限制,如令牌卡、智能卡、证书等。PEAP首先需要证书服务器发放证书给VPN服务端,再由服务端发送机器证书给客户端,客户端使用证书建立受保护隧道进行通信。
2 不同类型的VPN网络搭建设计与测试
以我国某大型公司为例,在全国省会城市设有办事处分支机构,总共有3 000 多名员工分布在全国各地。通过VPN虚拟专用网的搭建,实现各地员工远程访问公司内网资源而不受地理位置限制。
2.1 GRE VPN设计
GRE VPN 提供简洁高效的网络传输,但不提供任何安全措施。利用GRE 隧道和动态路由协议,模拟总公司与分公司跨内网互相访问或员工访问公司内网,实现客户端PC3 与PC4 的互访。在GRE 隧道建立成功后,使用GRE 隧道进行对数据发封装,然后进行传输,对端接收到封装的数据后会根据此数据包的协议号为47 进而判别是GRE 协议封装的数据,根据之前本文所写的GRE 报头格式查看此报头的前5 位,寻找是否需要校验和是否有分片。无则拆报头进行转发。
核心配置命令如下:
2.2 L2TP VPN设计
L2TP VPN 适用于用户对网络安全性要求不高的场景,采用静态路由配置,只为用户提供简洁高效的传输服务和简单的身份认证措施,但不提供传输数据加密。在分公司与总公司出口利用L2TP VPN隧道技术,实现出口防火墙FW1 与出口防火墙FW2 之间的信息互通。
首先由一方发起连接,共同协商L2TP 隧道,等对方同意后开始发起会话进入通信状态。LAC会分配一个账号密码给用户,用户根据此账号密码可连入对方的内网。
核心配置命令如下:
2.3 IPSec VPN设计
IPsec VPN提供安全可靠传输,测试模拟分公司利用IPSec 隧道访问总公司,FW1 为分公司出口网关,FW2 为总公司出口网关,实现总公司互通分公司。在通信前,先设定ACL感兴趣流,这样防火墙会允许此兴趣流设定的IP 地址的数据包通过防火墙。此后双方通过IKE 协商建立安全联盟,随后建立IPSec 隧道,但在通信前需配置防火墙,防止有效信息被防火墙过滤或者拦截[5]。
核心配置命令如下:
2.4 MPLS VPN设计
在众多VPN技术中,MPLS VPN有传输效率高、成本低、灵活易扩展、安全可靠、保证服务质量等诸多优势[6]。公司A 和公司B 分别通过公网访问在不同地点的部门访问内网,保证两个公司不能互相访问,采用了MPLS VPN进行网络搭建。在通信之前,先由MPLS对网络中的路由器进行标记,标记完后当有数据包经过标记的路由器时会根据数据包的目的地址进行分组,打上标签,然后转发。
核心配置命令如下:
3 各VPN技术性能对比
每种VPN都有自身适应的环境,也有自身的不足。本文使用了华为公司的ENSP 模拟器,实现了GRE VPN、L2TP VPN隧道、IPSec VPN和MPLS VPN,主要是对GRE VPN、L2TP VPN 隧道、IPSec VPN 和MPLS VPN原理的实现,各VPN性能对比如表2所示。
表2 各VPN技术性能对比表
4 结语
随着互联网的普及与科技进步加快,国家大部分地区已经联网,这使远程办公成为可能,但用户急剧增多同时使信息在网络中传输的安全性大大降低。对于VPN 技术复杂且多种多样,除了本文中介绍的C/S 模式的VPN 技术之外,还有采用简单快捷B/S 模式SSL VPN 等。市场需求千差万别,需要根据自身需求选择合适类型的VPN进行远程接入和资源访问。