开源大世界

kydsj.vip 【首页】

用户工具

站点工具


wiki:openvpn

OpenVPN


OpenVPN是一个用于创建虚拟私人网络加密通道的软件包。

OpenVPN允许建立的VPN使用公开密钥、电子证书、或者用户名/密码来进行身份验证。

它大量使用了OpenSSL加密库中的SSL/TLS协议函数库。

目前OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Microsoft Windows以及Android和iOS上运行。

原理


OpenVPN的技术核心是虚拟网卡,其次是SSL协议实现。

虚拟网卡

在OpenVPN中,如果用户访问一个远程的虚拟地址(属于虚拟网卡配用的地址系列,区别于真实地址),

则操作系统会通过路由机制将数据包(TUN模式)或数据帧(TAP模式)发送到虚拟网卡上,

服务程序接收该数据并进行相应的处理后,会通过SOCKET从外网上发送出去。

这完成了一个单向传输的过程,反之亦然。

当远程服务程序通过SOCKET从外网上接收到数据,并进行相应的处理后,又会发送回给虚拟网卡,则该应用软件就可以接收到。

加密

OpenVPN使用OpenSSL库来加密数据与控制信息。

这意味着,它能够使用任何OpenSSL支持的算法。

它提供了HMAC功能以提高连接的安全性。

此外,OpenSSL的硬件加速也能提高它的性能。

相关网站

wiki/openvpn.txt · 最后更改: 2024/04/17 11:10 由 math

⭐24小时内访问人数:【997】⭐