OpenVPN

维基百科,自由的百科全书
跳转到: 导航, 搜索
跳过字词转换说明
OpenVPN
Ovpntech logo-s REVISED.png
穩定版本 2.1.4/
2010年11月09日
預覽版本 2.2-RC2/
2011年03月25日
類型 虛擬私人網路軟體
許可協議 GPLv2
網站 http://openvpn.net/

OpenVPN是一个用于创建虚拟专用网络加密通道的软件包,最早由James Yonan编写。

目录

[编辑] 簡介

OpenVPN允许参与建立VPN的单点使用公开密钥電子證書、或者用户名/密碼来进行身份验证。它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函数库。目前OpenVPN能在SolarisLinuxOpenBSDFreeBSDNetBSDMac OS XWindows 2000XPVista/Windows 7上运行,並包含了许多安全性的功能。它并不是一个基于Web的VPN软件,也不与IPsec及其他VPN软件包兼容。

[编辑] 加密

OpenVPN使用OpenSSL库加密数据与控制信息:它使用了OpenSSL的加密以及验证功能,意味着,它能够使用任何OpenSSL支持的算法。它提供了可选的数据包HMAC功能以提高连接的安全性。此外,OpenSSL的硬件加速也能提高它的性能。

[编辑] 验证

OpenVPN提供了多种身份验证方式,用以确认参与连接双方的身份,包括:预享私钥,第三方证书以及用户名/密碼组合。预享密钥最为简单,但同时它只能用于建立点对点的VPN;基于PKI的第三方证书提供了最完善的功能,但是需要额外的精力去维护一个PKI证书体系。OpenVPN2.0后引入了用户名/口令组合的身份验证方式,它可以省略客户端证书,但是仍有一份服务器证书需要被用作加密。

[编辑] 网络

OpenVPN所有的通信都基于一个单一的IP端口,默认且推荐使用UDP协议通讯,同时TCP也被支持。OpenVPN连接能通过大多数的代理服务器,并且能够在NAT的环境中很好地工作。服务端具有向客户端“推送”某些网络配置信息的功能,这些信息包括:IP地址路由设置等。OpenVPN提供了两种虚拟网络接口:通用Tun/Tap驱动,通过它们,可以建立三层IP隧道,或者虚拟二层以太网,后者可以传送任何类型的二层以太网络数据。传送的数据可通过LZO算法压缩。IANA(Internet Assigned Numbers Authority)指定给OpenVPN的官方端口为1194。OpenVPN 2.0以后版本每个进程可以同时管理数个并发的隧道。

OpenVPN使用通用网络协议(TCPUDP)的特点使它成为IPsec等协议的理想替代,尤其是在ISP(Internet service provider)过滤某些特定VPN协议的情况下。

[编辑] 安全

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

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

[编辑] 对比

  • OpenSSH,能实现二/三层的基于隧道的VPN。
  • stunnel,使用SSL向任何单一端口的TCP服务提供安全保护。

[编辑] 参看

[编辑] 外部链接

个人工具
名字空间
操作
导航
帮助
工具
其他语言