OpenVPN

✍ dations ◷ 2025-10-28 14:14:41 #虚拟私人网络,网络协议,网络安全,安全软件,Unix软件,开放源代码,穿隧协议

OpenVPN是一个用于创建虚拟私人网络加密通道的软件包,最早由James Yonan编写。OpenVPN允许创建的VPN使用公开密钥、电子证书、或者用户名/密码来进行身份验证。

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

目前OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Microsoft Windows以及Android和iOS上运行,并包含了许多安全性的功能。它不与IPsec兼容。

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

虚拟网卡是使用网络底层编程技术实现的一个驱动软件。安装此类程序后主机上会增加一个非真实的网卡(TAP或TUN),并可以像其它网卡一样进行配置。服务程序可以在应用层打开虚拟网卡,如果应用软件(如网络浏览器)向虚拟网卡发送数据,则服务程序可以读取到该数据。如果服务程序写合适的数据到虚拟网卡,应用软件也可以接收得到。虚拟网卡在很多的操作系统中都有相应的实现,这也是OpenVPN能够跨平台使用的一个重要原因。

在OpenVPN中,如果用户访问一个远程的虚拟地址(属于虚拟网卡配用的地址系列,区别于真实地址),则操作系统会通过路由机制将数据包(TUN模式)或数据帧(TAP模式)发送到虚拟网卡上,服务程序接收该数据并进行相应的处理后,会通过SOCKET从外网上发送出去。这完成了一个单向传输的过程,反之亦然。当远程服务程序通过SOCKET从外网上接收到数据,并进行相应的处理后,又会发送回给虚拟网卡,则该应用软件就可以接收到。

OpenVPN使用OpenSSL库来加密数据与控制信息。这意味着,它能够使用任何OpenSSL支持的算法。它提供了HMAC功能以提高连接的安全性。此外,OpenSSL的硬件加速也能提高它的性能。2.3.0以后版本引入PolarSSL。

OpenVPN提供了多种身份验证方式,用以确认连接双方的身份,包括:

预共享密钥最为简单,但它只能用于创建点对点的VPN;基于PKI的第三方证书提供了最完善的功能,但是需要额外维护一个PKI证书系统。OpenVPN2.0后引入了用户名/口令组合的身份验证方式,它可以省略客户端证书,但是仍需要一份服务器证书用作加密。

OpenVPN与生俱来便具备了许多安全特性:它在用户空间运行,无须对内核及网络协议栈作修改;初始完毕后以chroot方式运行,放弃root权限;使用mlockall以防止敏感数据交换到磁盘。

OpenVPN通过PKCS#11支持硬件加密标识,如智能卡。

防火长城会针对OpenVPN服务器回送证书完成握手创建有效加密连接时干扰连接,在使用TCP协议模式时握手会被连接重置,而使用UDP协议时含有服务器认证证书的数据包会被故意丢弃,使OpenVPN无法创建有效加密连接而连接失败。而在中国大陆内部的连接不受这种限制。

相关

  • 两性霉素B两性霉素B(英语:Amphotericin B,商品名:Fungizone),一种具有抑菌或杀菌作用的抗霉菌剂。对新生隐球菌、白色念珠菌、组织胞浆菌、球孢子菌、酿母菌均具抑制作用。其所产生的药效端
  • 美国政府作品版权依据美国版权法规定,美国政府作品是指政府官员或雇员职务上所创作的作品。此处所定义的政府作品仅及于美国联邦政府,不包括各州及地方政府。依据版权法第105节,美国政府作品不
  • 金泽大学なす紺各学域人間社会学域理工学域金泽大学(日语:金沢大學/かなざわだいがく Kanazawa daigaku;英语译名:Kanazawa University),简称金大(きんだい),是一所本部位于石川县金泽市的日
  • 热力学平衡热力学平衡,简称热平衡,指一个热力学系统在没有外界影响的条件下,系统各部分的宏观属性(如物质的量、能量、体积等)在长时间内不发生任何变化的状态。热平衡是热力学中的一个基本
  • 非三位一体派非三位一体派,或作反对三位一体派,认为上帝是三位一体的传统教义并非《圣经》之教导。例如一位论派、耶和华见证人、耶稣基督后期圣徒教会及基督弟兄会等。在早期基督教,《圣经
  • 克拉克·盖博威廉·克拉克·盖博(英语:William Clark Gable,1901年2月1日-1960年11月16日),生于美国俄亥俄州加的斯,外号“电影皇帝”,美国国宝级电影男演员,《乱世佳人》的主演。1999年,美国电影
  • 赫苏斯·洛佩斯·科沃斯赫苏斯·洛佩斯·科沃斯(西班牙语:Jesús López Cobos,1940年2月25日-2018年3月2日)是西班牙指挥家。1940年2月25日出生于托罗。先后在马拉加音乐学院和马德里皇家音乐学院学习
  • KDEKDE(/ˌkeɪdiːˈiː/)是一个国际性的自由软件社区,开发运行在Linux、BSD、Solaris、Microsoft Windows 与 macOS 等平台上的一系列跨平台应用程序。它最著名的产品是 Plasma
  • 维尔纳·雅罗温斯基维尔纳·雅罗温斯基(德语:Werner Jarowinsky,1927年4月25日-1990年10月22日),德国统一社会党政治局候补委员、中央书记处书记。1927年,出生于列宁格勒的工人家庭。1945年,入党,加入自
  • 冀浴泗冀浴泗(?年-1948年3月20日)。山西省人。民国37年(1948年)在山西省第二选区当选第一届立法委员