虚拟专用网络 之 VPN

2024-06-21 20:52
文章标签 网络 虚拟 专用 vpn

本文主要是介绍虚拟专用网络 之 VPN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

虚拟专用网络

  1. 虚拟专用网络诞生
    一个技术的出现都是由于某种需求触发的。那么为什么会出现VPN技术呢?VPN技术解决了什么问题呢? 早期在没有VPN之前,企业的总部和分支机构之间的互通都是采用运营商提供的Internet互联网尽心通信; 但是在Internet互联网中通讯往往是不安全的,通信的内容可能被窃取、修改等,从而造成安全隐患或者安全事件;

在这里插入图片描述

所以就需要有一种技术既能实现总部和分支机构建的互通,也能保证数据传输的安全性!
早期很多大型企业会联合运营商构建物理专线网络,在总部和分支机构之间拉条专线,只传输自己的业务; 但是这个专线的费用确实不是一般公司能够承受的,而且维护也很困难;
在这里插入图片描述

那么有没有成本比较低的解决方案呢?
因此,就引出了VPN技术,VPN通过在现有的Internet网络中构建专用的虚拟网络,实现企业总部和分支机构的通信;
解决了互通、安全、成本的问题。

一、虚拟专用网络介绍

VPN(全称Virtual Private Network)虚拟专用网络,是依靠ISP和其他的NSP,在公共网络中建立专用的数据通信网络的技术; 可以为企业之间或者个人与企业之间提供安全的数据传输隧道服务。
在VPN中任意两点之间的连接并没有传统专网所需的端到端的物理链路,而是利用公共网络资源动态组成的; 可以理解为通过私有的隧道技术在公共数据网络上模拟出来的和专网有同样功能的点到点的专线技术; 所谓虚拟是指不需要去拉实际的长途物理线路,而是借用了公共Internet网络实现。
为了便于理解VPN概念,利用一个网络示意图进行说明:

1.1虚拟专用网络作用

VPN功能可以帮助公司里的远程用户(出差、家里),公司的分支机构,商业合作伙伴及供应商等公司和自己的公司内部网络之间; 建立可信的安全连接或者是局域网连接,确保数据的加密安全传输和业务访问; 对于运维工程师来说,还可以连接不同的机房构成局域网,处理相关的业务流。
应用虚拟专用网络的优势特点:

  • 安全性高
    在远端用户、驻外机构、合作伙伴、供应商与公司总部之间建立可靠的连接,保证数据传输的安全性。
    这对于实现电子商务或金融网络与通讯网络的融合特别重要。
  • 费用低廉
    利用公共网络进行信息通讯,企业可以用更低的成本连接远程办事机构、出差人员和业务伙伴。
  • 支持移动
    支持出差VPN用户在任何时间、任何地点的移动接入,能够满足不断增长的移动业务需求。
  • 可扩展性
    由于VPN为逻辑上的网络,物理网络中增加或修改节点,不影响VPN的部署。

1.2 虚拟专用网络分类

01 根据VPN建设单位不同进行划分
  • 租用运营厂商专线搭建VPN
    运营商的虚拟专线网络大多数都是使用 MPLS VPN; 企业通过购买运营商提供的VPN专线服务实现总部和分支机构间的通信需求;VPN网关为运营商所有。

在这里插入图片描述

  • 企业内部自建环境搭建VPN
    企业内部自建基于Internet环境的vpn网络,常见的有IPsev VPN、GRE VPN、L2TP VPN、SSL VPN 企业自己购买VPN网络设备,搭建自己的VPN网络,实现总部和分支机构的通信,或者是出差员工和总部的通信;

在这里插入图片描述

02 根据VPN组网方式不同进行划分
  • 远程访问VPN
    这种方式适用于出差员工拨号接入VPN的方式,员工可以在只要有Internet的地方都可以通过VPN接入访问企业内网资源。 最常见类型有:SSL VPN、L2TP VPN
  • 站点之间VPN 这种方式适合用于企业两个局域网互通的情况;例如企业的分支机构访问总部; 最常见类型有:MPLS VPN、IPsec VPN
03 根据VPN工作网络层次进行划分
  • 应用层VPN:SSL VPN
  • 网络层VPN:IPsec VPN、GRE VPN
  • 链路层VPN:L2TP2 VPN、PPTP VPN

1.3 虚拟专用网络技术

1.3.1 网络通讯隧道技术

VPN技术的基本原理其实就是用的隧道技术; 就类似于火车/地铁的轨道一样,从A站点到B站点都是直通的,不会堵车。对于乘客而言,就是专车; 隧道技术其实就是对传输的报文进行封装,利用公网建立专用的数据传输通道,从而完成数据的安全可靠传输;
在这里插入图片描述

从上图中可以看到原始报文在隧道的一端进行封装,封装后的数据在公网上传输,在隧道另一段进行解封装;
从而实现了数据的安全传输。 隧道协议通过在隧道的一端给数据加上隧道协议头,即进行封装,使这些被封装的数据能都在某网络中传输;
并且在隧道的另一端去掉该数据携带的隧道协议头,即进行解封装。

1.3.2 网络通讯安全技术

在利用VPN进行数据传输通讯时,身份认证、数据加密、数据验证可以有效保证数据传输的安全性;
01 身份认证作用 VPN网关对接入VPN的用户进行身份认证,保证接入的用户都是合法用户。
02 数据加密作用 将明文通过加密技术成密文,哪怕信息被截获窃取了,也无法识别。

注意:保证数据的加密特性,会使用到对称加密技术,和非对称加密技术。

03 数据验证作用 通过数据验证技术验证报文的完整性和真伪进行检查,防止数据被篡改。 不同VPN隧道身份认证、数据加密、数据验证区别如下表所示:在这里插入图片描述

二、专用网络开源产品

2.1 开源产品分类介绍

01 PPTP VPN

点对点隧道协议(PPTP)是由包括微软和3com等公司组成的PPTP论坛开发的一种点对点隧道协议;
基于拨号使用的PPP协议,使用PAP或CHAP之类的加密算法,或者使用Microsoft的点对点加密算法MPPE。
使用PPTP VPN的最大优势在于,无需在windows客户端单独安装客户端软件,默认就支持PPTP VPN拨号连接功能。

适用场景:适合远程的企业用户拨号到企业内部进行办公等的应用。

开源软件:pptp vpn

02 IPsec VPN

IPSec隧道模式是封装、路由与解封装的整个过程。隧道将原始数据包隐藏(或封装)在新的数据包内部;
隧道与数据保密性结合使用时,在网络上窃听通讯的人将无法获取原始数据包数据(以及原始的源和目标);

适用场景:企业异地两地总分公司或多个IDC机房之间的VPN不间断按需连接
开源软件:openswan

03 SSL VPN

SSL VPN提供了数据私密性、端点验证、信息完整性等特性; SSL独立于应用,因此任何一个应用程序都可以享受它的安全性而不必理会执行细节。http+ssl == https

适用场景:企业异地或者移动用户拨号连接总部实现VPN不间断按需连接
开源软件:openvpn

注意:属于C/S架构的软件,需要单独安装openvpn客户端与服务端。

2.2 开源产品工作原理

openvpn 工作原理–部署过程 每一步在做什么

  • 需要先关注保证数据安全传输的三要素:数据机密性 数据完整性 身份认证
  • 需要掌握秘钥加密技术应用实现;
  • 需要掌握证书概念的企业应用;

这篇关于虚拟专用网络 之 VPN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1082304

相关文章

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

C++链表的虚拟头节点实现细节及注意事项

《C++链表的虚拟头节点实现细节及注意事项》虚拟头节点是链表操作中极为实用的设计技巧,它通过在链表真实头部前添加一个特殊节点,有效简化边界条件处理,:本文主要介绍C++链表的虚拟头节点实现细节及注... 目录C++链表虚拟头节点(Dummy Head)一、虚拟头节点的本质与核心作用1. 定义2. 核心价值二

mysql查询使用_rowid虚拟列的示例

《mysql查询使用_rowid虚拟列的示例》MySQL中,_rowid是InnoDB虚拟列,用于无主键表的行ID查询,若存在主键或唯一列,则指向其,否则使用隐藏ID(不稳定),推荐使用ROW_NUM... 目录1. 基本查询(适用于没有主键的表)2. 检查表是否支持 _rowid3. 注意事项4. 最佳实

SpringBoot3中使用虚拟线程的完整步骤

《SpringBoot3中使用虚拟线程的完整步骤》在SpringBoot3中使用Java21+的虚拟线程(VirtualThreads)可以显著提升I/O密集型应用的并发能力,这篇文章为大家介绍了详细... 目录1. 环境准备2. 配置虚拟线程方式一:全局启用虚拟线程(Tomcat/Jetty)方式二:异步

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求