VPN概述

一、VPN概述

VPN----虚拟专用网---是指依靠ISP或者NSP或者企业自身,构建的专用的安全的数据通信转型,只不过这个专线是逻辑上的不是物理上的,

二、VPN分类

1、根据建设的单位不同分类

        1、企业自建的VPN---成本较低,设备为企业所有,控制更加方便
        2、运营商搭建的VPN---比较省事,一切安全、管理、带宽等问题都由运营商处理

2、根据组网方式分类

        1、Client to LAN VPN(access VPN)


        2、LAN to LAN

Intranet:内联网

Extranet:外联网

3、根据VPN技术所实现的层次分类

MPLS也是网络层的VPN技术

三、VPN的常用技术

1、VPN的核心技术:隧道技术,隧道技术的核心:封装技术


乘客协议,封装协议,运输协议
VPN技术所工作的层次取决于封装技术多保护数据的以上的层次,(这种保护在没有,并不代表安全),也可以理解为乘客协议所在的层次

2、VPN其他技术

        1、身份认证技术:身份认证技术是VPN技术的前提条件,否则隧道不清楚对方是不是正确的人
GRE VPN---不存在身份认证技术
L2TP VPN--可以利用PPP中的身份认证
IPSEC和SSL VPN都具有身份认证的能力,SSL VPN还支持多种身份认证
        2、加解密技术
最重要的特点是可逆,将明文通过某些转换成密文,用来防止网络中的被动威胁,之后可以将密文再通过某些算法还原明文;MD5不是加解密技术,它是不可逆的不能还原的,它是用来做完整性校验的
GRE VPN和L2TP VPN都不存在加解密技术
IPSEC和SSL VPN都可以提供加解密技术
        3、数据认证技术
这里才是MD5的应用场景,相当于进行完整性的校验确保数据的完整性
GRE VPN可以提供校验和,需要两边同时开启才能生效
L2TP本身不提供数据认证功能
IPSEC和SSL VPN都支持数据认证功能
        4、密钥管理技术

四、密码学

1、分类

古典加密算法---算法保密
近/现代加密算法---算法公开密钥保密

1、对称加密算法:加密和解密使用的是同一把密钥---使用的是一种双向函数,可 逆的算法(异或算法)

流加密算法:需要使用一串明文流相同长度的密钥流进行加密,得到密文流

流加密典型代表---RC4


分组加密算法(块加密算法)


最常见的对称加密算法:DES/3DES,AES
AES安全程度目前最高,而使用大量数据加密时,DES算法更合适效率更高

一些出现的问题:

1、密钥共享的问题

带内传输 --- 不安全

带外传输 --- 不方便

2、密钥管理的问题:N*N
解决:

2、非对称加密算法:会存在两把密钥,任何一把密钥进行加密都只能通过另一把密钥解密

非对称加密算法在进行运算时需要使用不可逆的算法 --- 取模运算
RSA是目前主流的非对称加密算法
缺点:效率低,不适用于数据量大的场景


结论:我们可跨越使用加密算法来加密大量的传输数据,使用非对称加密算法加密对称加密算法的密钥,保证密钥共享的安全性
DH算法:密钥交换算法---Diffie Hellman

五、身份认证以及数据认证技术


HASH算法---摘要值---单纯的使用摘要值进行认证依然无法保证数据的完整性,所以需要

结合加密算法来一同保证,所以,我们会使用私钥对摘要值进行加密 --- 数字签名
1、相同输入,相同输出
2、雪崩效应
3、等长输出
4、不可逆性
他只能做完整性校验和数据源认证,不能做身份认证

常见的证书类型

1、数字证书

2、根证书---CA机构自己给自己颁发的证书

3、用户证书

4、设备证书---服务器证书

数据安全传输的过程

首先A的原始信息进行hash运算,形成一个hash值信息摘要,之后使用自己的私钥进行签名形成一个数字签名,将数字签名和原始信息一起传送,这两个证明不了自己的身份,所以要将自己的数字证书传输过去,将这三个一起使用他们之间的对称密钥进行加密传输,生成一个加密信息,再用B的公钥加密之前的对称密钥形成一个密钥信封;B收到了密钥信封和加密信封,首先用自己的私钥将加密信封解开得到对称密钥,,再使用解密出来的对称密钥去解开加密信息,得到原始信息,数字签名和A的证书,然后B对原始信息进行hash运算得到一个信息摘要,然后再根据数字签名里面的信息摘要做对比,但是再用A证书里面的数字签名的A的公钥进行解密的,得到数字签名里面的信息摘要,在进行对比

### 安装 OpenVPN 为了在 Ubuntu 上安装 OpenVPN,可以利用系统的包管理器 `apt` 来完成这一过程。确保更新本地软件包索引到最新状态之后再进行安装操作。 ```bash sudo apt update && sudo apt install openvpn -y ``` 这会自动处理依赖关系并下载最新的稳定版本来安装[^1]。 ### 配置服务器端 创建必要的目录结构用于存放配置文件以及密钥材料: ```bash sudo mkdir -p /etc/openvpn/easy-rsa/pki ``` 设置环境变量指向 EasyRSA 工具的位置以便简化命令执行路径: ```bash export EASY_RSA="/etc/openvpn/easy-rsa" ``` 初始化 PKI 结构,并构建 CA (Certificate Authority): ```bash cd $EASY_RSA ./easyrsa init-pki ./easyrsa build-ca nopass ``` 生成服务器证书请求及其对应的私钥;这里假设使用的通用名称为 "server": ```bash ./easyrsa gen-req server nopass ``` 使用之前建立好的 CA 对上述产生的 CSR 文件签名从而得到正式可用的服务端证书: ```bash ./easyrsa sign-req server server ``` 最后一步是准备 Diffie-Hellman 参数集以支持安全通信协商机制: ```bash ./easyrsa gen-dh ``` 此时应该已经在 `/etc/openvpn/easy-rsa/pki/issued/` 下面找到了名为 `server.crt` 的新签发的 X.509 数字凭证连同其他关联组件一起构成了完整的 TLS 握手所需资料集合[^2]。 ### 启动服务 当所有准备工作完成后就可以通过指定配置文件的方式启动 OpenVPN 服务进程了。对于某些特定场景下可能还需要额外参数调整比如作为网关连接子网等特殊需求,则可以在相应的 `.conf` 文件里做相应修改后再运行如下指令开启后台守护线程监听来自客户端发起的安全隧道建立请求。 ```bash /usr/sbin/openvpn --config /etc/openvpn/server.conf & ``` 或者按照另一种方式指明绝对路径加载设定项表单: ```bash /usr/sbin/openvpn /etc/openvpn/server/server.conf & ``` 以上就是关于如何在Ubuntu平台上部署一套基本功能完备的企业级虚拟专用网络解决方案的大致流程概述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值