发布时间:2010-09-01 10:37 来源:未知
OpenVPN是一个用于创建虚拟专用网络加密通道的软件包,允许创建的VPN使用公开密钥、数字证书、或者用户名/密码来进行身份验证。OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Windows 2000/XP/Vista/7以及Android和iOS上运行,并包含了许多安全性的功能。
配置OpenVPN 2.0的第一步是建立一个PKI(public key infrastructure 公钥基础设施)。PKI包括:
服务端和每个客户端都有一个证书(也称做公钥)和私钥
首先,我们必须安装OpenVPN软件。在Ubuntu 15.04和其它带有‘apt’包管理器的Unix系统中,可以通过如下命令安装:
复制代码代码如下:
注意: 所有接下来的命令要以超级用户权限执行,如在使用sudo -i命令后执行,或者你可以使用sudo -E作为接下来所有命令的前缀。
开始之前,我们需要拷贝“easy-rsa”到openvpn文件夹。
然后进入到该目录
复制代码代码如下:
第三,我们需要加载环境变量,这些变量已经在前面一步中编辑好了。
生成密钥的最后一步准备工作是清空旧的证书和密钥,以及生成新密钥的序列号和索引文件。可以通过以下命令完成。
复制代码代码如下:
在对话中,我们可以看到默认的变量,这些变量是我们先前在“vars”中指定的。我们可以检查一下,如有必要进行编辑,然后按回车几次。对话如下
Generating a 2048 bit RSA private key
复制代码代码如下:
该命令的对话如下:
Generating a 2048 bit RSA private key
复制代码代码如下:
该命令的输出样例如下
Generating DH parameters, 2048 bit long safe prime, generator 2
复制代码代码如下:
现在,生成完毕,我们可以移动所有生成的文件到最后的位置中。
最后,我们来创建OpenVPN配置文件。让我们从样例中拷贝过来吧:
然后编辑
我们需要指定密钥的自定义路径
一切就绪。在重启OpenVPN后,服务器端配置就完成了。
Unix的客户端配置
复制代码代码如下:
加载环境变量
然后创建客户端密钥
我们将看到一个与先前关于服务器密钥生成部分的章节描述一样的对话,填入客户端的实际信息。
假如需要密码保护密钥,你需要运行另外一个命令,命令如下
在此种情况下,在建立VPN连接时,会提示你输入密码。
现在,我们需要将以下文件从服务器拷贝到客户端/etc/openvpn/keys/文件夹。
服务器文件列表:
ca.crt,
复制代码代码如下:
在此之后,我们需要重启OpenVPN以接受新配置。
好了,客户端配置完成。
安卓客户端配置
复制代码代码如下:
所有这些文件我们必须移动我们设备的SD卡上。
然后,我们需要安装一个OpenVPN Connect 应用。
接下来,配置过程很是简单:
打开 OpenVPN 并选择“Import”选项
虽然OpenVPN初始配置花费不少时间,但是简易的客户端配置为我们弥补了时间上的损失,也提供了从任何设备连接的能力。此外,OpenVPN提供了一个很高的安全等级,以及从不同地方连接的能力,包括位于NAT后面的客户端。因此,OpenVPN可以同时在家和企业中使用。