fbpx
维基百科

OpenVPN

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

OpenVPN
原作者James Yonan
開發者OpenVPN 项目 / OpenVPN Inc.
首次发布2001年5月13日,​22年前​(2001-05-13[1]
当前版本
  • 2.6.8 (2023年11月17日;穩定版本)[2]
源代码库
  • github.com/OpenVPN
编程语言C语言
系統平台
类型VPN
许可协议GNU通用公共許可證
网站openvpn.net

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

目前OpenVPN能在SolarisLinuxOpenBSDFreeBSDNetBSDMac OS XMicrosoft Windows以及AndroidiOS上运行,並包含了许多安全性的功能。它不与IPsec兼容。

原理 编辑

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

虚拟网卡 编辑

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

加密 编辑

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

功能 编辑

身份验证 编辑

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

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

功能与端口 编辑

  • OpenVPN所有的通信都基于一个单一的IP端口,默认且推荐使用UDP协议通讯,同时也支持TCP。IANA(Internet Assigned Numbers Authority)指定给OpenVPN的官方端口为1194。OpenVPN 2.0以后版本每个进程可以同时管理数个并发的隧道。OpenVPN使用通用网络协议(TCPUDP)的特点使它成为IPsec等协议的理想替代,尤其是在ISP(Internet service provider)过滤某些特定VPN协议的情况下。
  • OpenVPN连接能通过大多数的代理服务器,并且能够在NAT的环境中很好地工作。
  • 服务端具有向客户端“推送”某些网络配置信息的功能,这些信息包括:IP地址、路由设置等。
  • OpenVPN提供了两种虚拟网络接口:通用TUN/TAP驱动,通过它们,可以建立三层IP隧道,或者虚拟二层以太网,后者可以传送任何类型的二层以太网络数据。
  • 传送的数据可通过LZO算法压缩。 但傳輸時使用lzo壓縮將遭受VORACLE威脅而暴露傳輸資料,官方預設不使用也不建議開啟此功能。[9]

安全性 编辑

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

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

版本 编辑

社群版本OpenVPN Community 编辑

伺服器端:需使用者自行下載原始碼編譯、安裝。

使用者端:使用OpenVPN Connect,支援Windows、Linux、Android與iOS。

商業版本OpenVPN Access Server 编辑

伺服器端使用與社群版本相同的OpenVPN程式碼,但在上層建置易於操作的網頁式介面。

商業版本提供無限期2個VPN連線授權可免費試用。

商業版提供下列三種安裝方式:[10]

  1. 軟體套件,支援Ubuntu、Debian、Redhat、CentOS。
  2. 虛擬機映像檔,支援ESXi 5.0與Microsoft Hyper-V。
  3. 雲端服務佈署,支援Amazon AWS、Microsoft Azure、Google GCP、Digital Ocean droplets與ORACLE VPC。

OpenVPN Cloud 编辑

提供使用者直接租用官方架設的OpenVPN Access Server,適用於不想自行安裝管理主機的企業用戶租用。

Private Tunnel 编辑

提供僅需要使用VPN通道服務的個人用戶直接租用。

受中国大陆的限制 编辑

由于OpenVPN通讯协议特征明显,当从中国大陆向境外OpenVPN服务器传输大量数据或进行频繁连接后,防火长城会封锁OpenVPN服务器所使用的TCP/UDP端口或服务器IP地址,使OpenVPN无法连接。而在敏感时期则会针对OpenVPN服务器回送证书完成握手创建有效加密连接时干扰连接,在使用TCP协议模式时握手会被连接重置,而使用UDP协议时含有服务器认证证书的数据包会被故意丢弃,使OpenVPN无法创建有效加密连接而连接失败。而在中国大陆内部的连接不受这种限制。

伪装的改进 编辑

  • Stunnel,通过使用Stunnel转发OpenVPN流量以消除OpenVPN的协议特征,达到提供安全保护与流量伪装的目的(通常将Stunnel设置于443端口伪装成Web网站)。
  • KCPtun,使用KCPtun将OpenVPN流量转为UDP流量传输,也可以消除OpenVPN的协议特征。
  • SSH,使用SSH创建隧道转发OpenVPN流量,但SSH会暴露自身协议特征[11],故这种方式已被淘汰。

参考文献 编辑

  1. ^ OpenVPN Change Log - OpenVPN Change Log (页面存档备份,存于互联网档案馆
  2. ^ OpenVPN 2.6.8 released. 2023年11月17日 [2023年11月18日]. 
  3. ^ Downloads. openvpn.net. [2 February 2016]. (原始内容于2018-10-06). 
  4. ^ Private Tunnel VPN - Android Apps on Google Play. [2018-01-26]. (原始内容于2020-11-11). 
  5. ^ Private Tunnel VPN. App Store. 23 October 2014 [2018-01-26]. (原始内容于2019-06-05). 
  6. ^ How to connect to Access Server from a Linux computer. [2018-01-26]. (原始内容于2018-09-26). 
  7. ^ FreeBSD Ports Search. [2018-01-26]. (原始内容于2020-09-29). 
  8. ^ The NetBSD Packages Collection: net/openvpn. [2018-01-26]. (原始内容于2020-09-30). 
  9. ^ OpenVPN wiki. [2021-03-18]. (原始内容于2021-04-15). 
  10. ^ OpenVPN官方網站. [2021-03-18]. (原始内容于2021-06-04). 
  11. ^ . www.solidot.org. [2020-07-07]. (原始内容存档于2020-07-07). 

外部链接 编辑

  • OpenVPN 项目主页 (页面存档备份,存于互联网档案馆
  • Windows的OpenVPN-GUI (页面存档备份,存于互联网档案馆2004-2006年間,由Mathias Sundman開發使用於Windows環境的OpenVPN-GUI程式,於2.3板後已併入OpenVPN專案內
  • Android的OpenVPN-Settings(页面存档备份,存于互联网档案馆

参见 编辑

openvpn, 是一个用于创建虚拟私人網絡加密通道的软件包, 最早由james, yonan编写, 允许建立的vpn使用公开密钥, 電子證書, 或者用户名, 密碼来进行身份验证, 原作者james, yonan開發者, 项目, 首次发布2001年5月13日, 22年前, 2001, 当前版本2, 2023年11月17日, 穩定版本, 源代码库github, 编程语言c语言系統平台windows, xp或以上, 8或以上, android, 0或以上, 6或以上, linux, 类型vpn许可协议gnu通用公共許可. OpenVPN是一个用于创建虚拟私人網絡加密通道的软件包 最早由James Yonan编写 OpenVPN允许建立的VPN使用公开密钥 電子證書 或者用户名 密碼来进行身份验证 OpenVPN原作者James Yonan開發者OpenVPN 项目 OpenVPN Inc 首次发布2001年5月13日 22年前 2001 05 13 1 当前版本2 6 8 2023年11月17日 穩定版本 2 源代码库github wbr com wbr OpenVPN编程语言C语言系統平台Windows XP或以上 3 OS X 10 8或以上 Android 4 0或以上 4 iOS 6或以上 5 Linux 6 BSD 7 8 类型VPN许可协议GNU通用公共許可證网站openvpn wbr net它大量使用了OpenSSL加密库中的SSL TLS协议函数库 目前OpenVPN能在Solaris Linux OpenBSD FreeBSD NetBSD Mac OS X与Microsoft Windows以及Android和iOS上运行 並包含了许多安全性的功能 它不与IPsec兼容 目录 1 原理 1 1 虚拟网卡 1 2 加密 2 功能 2 1 身份验证 2 2 功能与端口 2 3 安全性 3 版本 3 1 社群版本OpenVPN Community 3 2 商業版本OpenVPN Access Server 3 3 OpenVPN Cloud 3 4 Private Tunnel 4 受中国大陆的限制 5 伪装的改进 6 参考文献 7 外部链接 8 参见原理 编辑OpenVPN的技术核心是虚拟网卡 其次是SSL协议实现 虚拟网卡 编辑 主条目 虚拟网卡 在OpenVPN中 如果用户访问一个远程的虚拟地址 属于虚拟网卡配用的地址系列 区别于真实地址 则操作系统会通过路由机制将数据包 TUN模式 或数据帧 TAP模式 发送到虚拟网卡上 服务程序接收该数据并进行相应的处理后 会通过SOCKET从外网上发送出去 这完成了一个单向传输的过程 反之亦然 当远程服务程序通过SOCKET从外网上接收到数据 并进行相应的处理后 又会发送回给虚拟网卡 则该应用软件就可以接收到 加密 编辑 OpenVPN使用OpenSSL库来加密数据与控制信息 这意味着 它能够使用任何OpenSSL支持的算法 它提供了HMAC功能以提高连接的安全性 此外 OpenSSL的硬件加速也能提高它的性能 2 3 0以後版本引入PolarSSL 功能 编辑身份验证 编辑 OpenVPN提供了多种身份验证方式 用以确认连接双方的身份 包括 预共享密钥 数字证书 用户名 密碼组合预共享密钥最为简单 但它只能用于建立点对点的VPN 基于PKI的第三方证书提供了最完善的功能 但是需要额外维护一个PKI证书系统 OpenVPN2 0后引入了用户名 口令组合的身份验证方式 它可以省略客户端证书 但是仍需要一份服务器证书用作加密 功能与端口 编辑 OpenVPN所有的通信都基于一个单一的IP端口 默认且推荐使用UDP协议通讯 同时也支持TCP IANA Internet Assigned Numbers Authority 指定给OpenVPN的官方端口为1194 OpenVPN 2 0以后版本每个进程可以同时管理数个并发的隧道 OpenVPN使用通用网络协议 TCP与UDP 的特点使它成为IPsec等协议的理想替代 尤其是在ISP Internet service provider 过滤某些特定VPN协议的情况下 OpenVPN连接能通过大多数的代理服务器 并且能够在NAT的环境中很好地工作 服务端具有向客户端 推送 某些网络配置信息的功能 这些信息包括 IP地址 路由设置等 OpenVPN提供了两种虚拟网络接口 通用TUN TAP驱动 通过它们 可以建立三层IP隧道 或者虚拟二层以太网 后者可以传送任何类型的二层以太网络数据 传送的数据可通过LZO算法压缩 但傳輸時使用lzo壓縮將遭受VORACLE威脅而暴露傳輸資料 官方預設不使用也不建議開啟此功能 9 安全性 编辑 OpenVPN与生俱来便具备了许多安全特性 它在用户空间运行 无须对内核及网络协议栈作修改 初始完毕后以chroot方式运行 放弃root权限 使用mlockall 页面存档备份 存于互联网档案馆 以防止敏感数据交换到磁盘 OpenVPN通过PKCS 11支持硬件加密标识 如智能卡 版本 编辑社群版本OpenVPN Community 编辑 伺服器端 需使用者自行下載原始碼編譯 安裝 使用者端 使用OpenVPN Connect 支援Windows Linux Android與iOS 商業版本OpenVPN Access Server 编辑 伺服器端使用與社群版本相同的OpenVPN程式碼 但在上層建置易於操作的網頁式介面 商業版本提供無限期2個VPN連線授權可免費試用 商業版提供下列三種安裝方式 10 軟體套件 支援Ubuntu Debian Redhat CentOS 虛擬機映像檔 支援ESXi 5 0與Microsoft Hyper V 雲端服務佈署 支援Amazon AWS Microsoft Azure Google GCP Digital Ocean droplets與ORACLE VPC OpenVPN Cloud 编辑 提供使用者直接租用官方架設的OpenVPN Access Server 適用於不想自行安裝管理主機的企業用戶租用 Private Tunnel 编辑 提供僅需要使用VPN通道服務的個人用戶直接租用 受中国大陆的限制 编辑由于OpenVPN通讯协议特征明显 当从中国大陆向境外OpenVPN服务器传输大量数据或进行频繁连接后 防火长城会封锁OpenVPN服务器所使用的TCP UDP端口或服务器IP地址 使OpenVPN无法连接 而在敏感时期则会针对OpenVPN服务器回送证书完成握手创建有效加密连接时干扰连接 在使用TCP协议模式时握手会被连接重置 而使用UDP协议时含有服务器认证证书的数据包会被故意丢弃 使OpenVPN无法创建有效加密连接而连接失败 而在中国大陆内部的连接不受这种限制 伪装的改进 编辑Stunnel 通过使用Stunnel转发OpenVPN流量以消除OpenVPN的协议特征 达到提供安全保护与流量伪装的目的 通常将Stunnel设置于443端口伪装成Web网站 KCPtun 使用KCPtun将OpenVPN流量转为UDP流量传输 也可以消除OpenVPN的协议特征 SSH 使用SSH创建隧道转发OpenVPN流量 但SSH会暴露自身协议特征 11 故这种方式已被淘汰 参考文献 编辑 OpenVPN Change Log OpenVPN Change Log 页面存档备份 存于互联网档案馆 OpenVPN 2 6 8 released 2023年11月17日 2023年11月18日 Downloads openvpn net 2 February 2016 原始内容存档于2018 10 06 Private Tunnel VPN Android Apps on Google Play 2018 01 26 原始内容存档于2020 11 11 Private Tunnel VPN App Store 23 October 2014 2018 01 26 原始内容存档于2019 06 05 How to connect to Access Server from a Linux computer 2018 01 26 原始内容存档于2018 09 26 FreeBSD Ports Search 2018 01 26 原始内容存档于2020 09 29 The NetBSD Packages Collection net openvpn 2018 01 26 原始内容存档于2020 09 30 OpenVPN wiki 2021 03 18 原始内容存档于2021 04 15 OpenVPN官方網站 2021 03 18 原始内容存档于2021 06 04 Solidot 中国刺探加密连接测试新屏蔽方式 www solidot org 2020 07 07 原始内容存档于2020 07 07 外部链接 编辑OpenVPN 项目主页 页面存档备份 存于互联网档案馆 Windows的OpenVPN GUI 页面存档备份 存于互联网档案馆 2004 2006年間 由Mathias Sundman開發使用於Windows環境的OpenVPN GUI程式 於2 3板後已併入OpenVPN專案內 Tunnelblick Mac OS X的GUI Android的OpenVPN Settings 页面存档备份 存于互联网档案馆 参见 编辑虚拟私人网络 取自 https zh wikipedia org w index php title OpenVPN amp oldid 80442707, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。