OpenVPN是一个用于创建虚拟专用网络加密通道的软件包,最早由James Yonan编写。OpenVPN允许创建的VPN使用公开密钥、电子证书、或者用户名/密码来进行身份验证。
它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函数库。
目前OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Microsoft Windows以及Android和iOS上运行,并包含了许多安全性的功能。它并不是一个基于Web的VPN软件,也不与IPsec及其他VPN软件包兼容。
第一步、为vps安装openvpn及所有所需软件
安装EPEL仓库
|
|
安装openvpn
|
|
安装openvpn最新的easy-rsa,该包用来制作ca证书,服务端证书,客户端证书。最新的为easy-rsa3
|
|
将解压得到的文件夹easy-rsa-master重命名为easy-rsa
|
|
然后将的到的easy-ras文件夹复制到/etc/openvpn/目录下
|
|
第二步、编辑vars文件,根据自己环境配置
A:先进入/etc/openvpn/easy-rsa/easyrsa3目录
|
|
B:复制vars.example 为vars
|
|
C:修改下面字段,命令:vi vars,然后修改,最后wq保存
|
|
第三步、创建服务端证书及key
|
|
创建根证书
|
|
如下:
|
|
注意:在上述部分需要输入PEM密码 PEM pass phrase,输入两次,此密码必须记住,不然以后不能为证书签名。还需要输入common name 通用名,这个你自己随便设置个独一无二的。
|
|
###我输入qingliu
创建服务器端证书
|
|
如下:
|
|
该过程中需要输入common name,随意但是不要跟之前的根证书的一样
签约服务端证书:
|
|
如下:
|
|
该命令中.需要你确认生成,要输入yes,还需要你提供我们当时创建CA时候的密码。如果你忘记了密码,那你就重头开始再来一次吧。
创建Diffie-Hellman,确保key穿越不安全网络的命令:
|
|
如下:
|
|
第四步、创建客户端证书
进入root目录新建client文件夹,文件夹可随意命名,然后拷贝前面解压得到的easy-ras文件夹到client文件夹,进入下列目录
|
|
初始化
|
|
创建客户端key及生成证书(记住生成是自己输入的密码)
|
|
将的到的qingliu.req导入然后签约证书
进入到/etc/openvpn/easy-rsa/easyrsa3/
|
|
导入req
|
|
签约证书
|
|
这步很重要,现在说一下我们上面都生成了什么东西
|
|
客户端:(root/client/easy-rsa文件夹)
|
|
这一步就是拷贝这些文件放入到相应位置。将下列文件放到/etc/openvpn/ 目录执行命令:
|
|
这样就将上述四个文件放入到了/etc/openvpn目录下
b.这一步将下列文件放到/root/client 目录下执行命令:
|
|
这样就将上述三个文件复制到了/root/client目录,包括:ca.crt、qingliu.crt、qingliu.key
第五步、为服务端编写配置文件
当你安装好了openvpn时候,他会提供一个server配置的文件例子,在/usr/share/doc/openvpn-2.3.2/sample/sample-config-files下会有一个server.conf文件,我们将这个文件复制到/etc/openvpn
|
|
然后修改配置vi server.conf如下:
|
|
每个项目都会由一大堆介绍,上述修改,openvpn提供的server.conf已经全部提供,我们只需要去掉前面的注释#,然后修改我们自己的有关配置。
第六步、下载openvpn客户端,并进行配置
用sftp将我们在vps生成的客户端证书和key下载到客户端电脑
|
|
去官网下载openvpn客户端进行安装,然后安装目录找到simple-config
|
|
将下载到的三个文件放入D:\Program Files\OpenVPN\config
编辑配置文件:
|
|
我们只需要以上项目每行一个。
第七步、测试排错
启动vps上的openvpn服务
|
|
Oh,不幸的是出现service start failed!!!
但是当你运行:
|
|
又可以运行,解决办法:
|
|