OpenVPN安装配置教程
1、什么是 VPN ?
VPN (Virtual Private Network) 即虚拟专用网络,是一种常用于连接中、大型企业或团体与团体间的私人网络的通讯方法。虚拟私人网络的讯息透过公用的网络架构(例如:互联网)来传送内联网的网络讯息。它利用已加密的通道协议(Tunneling Protocol)来达到保密、发送端认证、消息准确性等私人消息安全效果。这种技术可以用不安全的网络(例如:互联网)来发送可靠、安全的消息。需要注意的是,加密消息与否是可以控制的。没有加密的虚拟专用网消息依然有被窃取的危险。【摘自维基百科】
2、安全性
安全的虚拟私人网络使用加密穿隧协议,通过阻止截听与嗅探来提供机密性,还允许发送者身份验证,以阻止身份伪造,同时通过防止信息被修改提供消息完整性。
某些虚拟私人网络不使用加密保护数据。虽然虚拟私人网络通常都会提供安全性,但未加密的虚拟私人网络严格来说是不“安全”或“可信”的。例如,一条通过GRE协议在两台主机间创建的隧道属于虚拟私人网络,但既不安全也不可信。 除以上的GRE协议例子外,本地的明文穿隧协议包括L2TP(不带IPsec时)和PPTP(不使用微软点对点加密(MPPE)时)。
3、协议
常用的虚拟专用网协议有:
4、特殊使用
由于中国大陆境内对于海外网络的限制及封锁,所以中国大陆兴盛起以采用免费或付费的虚拟专用网(VPN)进行海外网络连接服务的方法进行翻墙, 或许多外商公司欲连接回海外网站也多自行架设VPN或采用付费的VPN服务。2015年1月起,中国开始加强对外国VPN服务的封锁。VPN 供应商 Astrill 通知用户,因防火长城升级,使用 IPSec、L2TP/IPSec 和 PPTP 协议的设备无法访问它的服务,受影响的主要是iOS设备。中国工信部曾规定,在中国提供VPN服务的公司必须登记注册,否则将“不受中国法律的保护”。
5、OpenVPN 的特点
简介
OpenVPN 允许参与创建 VPN 的单点使用公开密钥、电子证书、或者用户名/密码来进行身份验证。 它大量使用了 OpenSSL 加密库中的 SSLv3/TLSv1 协议函数库。目前 OpenVPN 能在 Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X 和 Windows 上运行,并包含了许多安全性的功能。它并不是一个基于 Web 的 VPN 软件,也不与 IPsec 及其他 VPN 软件兼容。
加密
OpenVPN 使用 OpenSSL 库加密数据与控制信息:它使用了 OpenSSL 的加密以及验证功能,意味着,它能够使用任何 OpenSSL 支持的算法。它提供了可选的数据包 HMAC 功能以提高连接的安全性。此外,OpenSSL 的硬件加速也能提高它的性能。
验证
OpenVPN 提供了多种身份验证方式,用以确认参与连接双方的身份,包括:预享私钥,第三方证书以及用户名/密码组 合。预享密钥最为简单,但同时它只能用于创建点对点的 VPN;基于 PKI 的第三方证书提供了最完善的功能,但是需要额外的精力去维护一个 PKI 证书体系。OpenVPN 2.0 后引入了用户名/口令组合的身份验证方式,它可以省略客户端证书,但是仍有一份服务器证书需要被用作加密。
网络
OpenVPN 所有的通信都基于一个单一的 IP 端口,默认且推荐使用 UDP 协议通讯,同时 TCP 也被支持。OpenVPN 连接能通过大多数的代理服务器,并且能够在 NAT 的环境中很好地工作。服务端具有向客户端“推送”某些网络配置信息的功能,这些信息包括:IP地址、路由设置等。OpenVPN 提供了两种虚拟网络接口:通用 Tun/Tap 驱动,通过它们,可以创建三层 IP 隧道,或者虚拟二层以太网,后者可以传送任何类型的二层以太网络数据。传送的数据可通过 LZO 算法压缩。IANA(Internet Assigned Numbers Authority)指定给 OpenVPN 的官方端口为 1194。OpenVPN 2.0 以后版本每个进程可以同时管理数个并发的隧道。 OpenVPN 使用通用网络协议(TCP与UDP)的特点使它成为IPsec 等协议的理想替代,尤其是在 ISP(Internet service provider)过滤某些特定VPN协议的情况下,如无视GFW。
安全
OpenVPN 与生俱来便具备了许多安全特性:它在用户空间运行,无须对内核及网络协议栈作修改;初始完毕后以chroot方式运行,放弃root权限;使用 mlockall 以防止敏感数据交换到磁盘。
OpenVPN 通过 PKCS#11支持硬件加密标识,如智能卡。
对比
PPTP
|
L2TP/IPSEC
|
OpenVPN
|
|
简介 | 微软推出的第一个VPN协议。占用资源少,应用最为广泛。 | 更高级的VPN协议,支持各种平台。安全性更高,但是不太灵活,容易被封锁。 | 开源的 vpn 协议,加密性和适应性都比较好,也比较灵活,不容易被封锁。通过 udp 端口可以获得较好的速度。 |
加密 | 支持40位、56位和128位加密 | 256位加密 | 可自定义160位-256位 |
平台支持 |
|
|
|
连接速度 | 很快 | 快 | 快 |
端口 | 1723 TCP | 500 UDP 1701 UDP 5500 UDP |
可根据需要自定义 和 更换,即 UDP/TCP的任何端口 |
防封锁 | 通过协议和端口很容易被封锁 | 通过协议和端口很容易被封锁 | 比较难封锁(基于标准的TCP/IP协议),其 UDP 模式是官方推荐的,速度很快,效率很高。 |