[运维]centos7安装openvpn2.3.14

时间:2017-04-09 13:16:39

前言

其实我搭了5遍才成功,所以我其实用了很多种方法来搭建,下面的文章里面,只写最后一种成功的,所以,这种方法可能看起来比较傻,或者麻烦了一点,不过可以保证安装成功,当然你也可以安装其他版本的,安装和配置过程是一样的,最好保证服务端和客户端版本同意。下面进入正题
ps:这个是我使用的服务端和客户端版本,还有rpm文件
http://download.csdn.net/detail/u013036688/9807120
另外我搭建openvpn主要参考这篇博客,原文传送:
http://www.jianshu.com/p/4bbf946222d5
所以你会发现步骤基本一样。

安装openvpn

两种方法:

yum安装

A:安装EPEL仓库

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm

rpm -Uvh epel-release-7-9.noarch.rpm

B:安装openvpn

yum install openvpn

不过这种方法下载的一般不是最新版本的,自选吧。

rpm安装

首先,去官网下载2.3.14版本的openvpn,链接如下:
或者你也可以去github上下载,毕竟是开源的,传送门:https://github.com/OpenVPN/openvpn/releases/tag/v2.3.14
下载好之后,放到服务器上,linux用的是.tar.gz版本的,放好之后,在当前目录执行下面的语句
rpmbuild -tb openvpn-[version].tar.gz
执行这句可能会出一些错误,一般是因为所需的依赖包没有安装,遇到问题自己解决安装一下就可以,这句执行完成后,我们就获得了rpm包。找到rpm 包,然后安装
rpm -ivh openvpn-[details].rpm
然后openvpn就安装完成了。

安装open-rsa

openvpn安装好之后,万里长征才走了第一步,接下来安装open-rsa,这是一个rsa是公钥加密算法,所以这是个给我们生成证书的软件。

C:安装openvpn最新的easy-rsa,该包用来制作ca证书,服务端证书,客户端证书。最新的为easy-rsa3

wget https://github.com/OpenVPN/easy-rsa/archive/master.zip

unzip master.zip

没有zip命令的用
yum install zip unzip
D:将解压得到的文件夹easy-rsa-master重命名为easy-rsa

mv easy-rsa-mater/ easy-rsa/

然后将的到的easy-ras文件夹复制到/etc/openvpn/目录下

cp -R easy-rsa/ /etc/openvpn/

开始配置

编辑vars文件

A:先进入/etc/openvpn/easy-rsa/easyrsa3目录

cd /etc/openvpn/easy-rsa/easyrsa3/

B:复制vars.example 为vars

cp vars.example vars

C:修改下面字段,命令:vi vars,然后修改,最后wq保存

set_var EASYRSA_REQ_COUNTRY “CN” //根据自己情况更改

set_var EASYRSA_REQ_PROVINCE “SH”  //省份

set_var EASYRSA_REQ_CITY “Shanghai” //城市

set_var EASYRSA_REQ_ORG “DMSD Certificate”  //自己起个名字

set_var EASYRSA_REQ_EMAIL “glntgb@163.com”

set_var EASYRSA_REQ_OU “Dynamic Times”

创建证书

服务端证书和key

A:进入/etc/openvpn/easy-rsa/easyrsa3/目录初始化:

./easyrsa init-pki

这里写图片描述
B:创建根证书

./easyrsa build-ca

如下:
注意这一步需要输入PEM密码 PEM pass phrase,输入两次。这个密码是自己创建的,一定要记住!
然后还需要起个名字,common name 通用名,自己起个不重名的就可以。
这里写图片描述

C:创建服务器端证书

./easyrsa gen-req server nopass

这一步需要输入server的common name,也是自己起一个不重名的就可以,如下:
这里写图片描述

D:签约服务端证书:

./easyrsa sign server server

注意这一步需要输入之前让你记住的密码,如下:
这里写图片描述

E:创建Diffie-Hellman,确保key穿越不安全网络的命令:

./easyrsa gen-dh

这一步就是等的时间稍微长一点,其他没啥特别的,如下:
这里写图片描述

创建客户端证书及key

A:进入root目录新建client文件夹,文件夹可随意命名,然后拷贝前面解压得到的easy-ras文件夹到client文件夹,进入下列目录

cd /root/                   //进入root

mkdir client                 //新建一个client文件夹

cp -R easy-rsa/ client/          //把easy-rsa 拷贝到 client下

cd client/easy-rsa/easyrsa3/          //进入这个文件夹

B:初始化

./easyrsa init-pki

这里写图片描述
C:创建客户端key及生成证书(这里也要输入密码,这个密码是之后客户端要用的,所以不要和之前的重复了。)
./easyrsa gen-req clientone //自己起个名字
D:将的到的clientone.req导入然后签约证书

a.进入到/etc/openvpn/easy-rsa/easyrsa3/

cd /etc/openvpn/easy-rsa/easyrsa3/

b.导入req

./easyrsa import-req /root/client/easy-rsa/easyrsa3/pki/reqs/clientone.req clientone

这里写图片描述
c.签约证书

./easyrsa sign client clientone

这里生成client所以必须为client,clientone要与之前导入名字一致,导入的时候会要求输入密码,这个密码是第一次设置的根证书的密码,不要输错。
这里写图片描述

拷贝文件到各自位置

a.这一步就是拷贝这些文件放入到相应位置。将下列文件放到/etc/openvpn/ 目录执行命令:

cp /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt /etc/openvpn

cp /etc/openvpn/easy-rsa/easyrsa3/pki/private/server.key /etc/openvpn

cp /etc/openvpn/easy-rsa/easyrsa3/pki/issued/server.crt /etc/openvpn

cp /etc/openvpn/easy-rsa/easyrsa3/pki/dh.pem /etc/openvpn

这样就将上述四个文件放入到了/etc/openvpn目录下

b.这一步将下列文件放到/root/client 目录下执行命令:

cp /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt /root/client

cp /etc/openvpn/easy-rsa/easyrsa3/pki/issued/clientone.crt /root/client

cp /root/client/easy-rsa/easyrsa3/pki/private/clientone.key /root/client

这样就将上述三个文件复制到了/root/client目录,包括:ca.crt、clientone.crt、clientone.key

第五步、为服务端编写配置文件

当你安装好了openvpn时候,他会提供一个server配置的文件例子,在

/usr/share/doc/openvpn-2.3.14/sample/sample-config-files

下会有一个server.conf文件,我们将这个文件复制到/etc/openvpn

cp /usr/share/doc/openvpn-2.3.14/sample/sample-config-files/server.conf /etc/openvpn

然后修改配置vi server.conf如下:

local 192.168.22.226       //与本机ip相同

port 1194                     //端口

proto udp                      //udp或者tcp

dev tun

ca /etc/openvpn/ca.crt       //读取相应证书

cert /etc/openvpn/server.crt

key /etc/openvpn/server.key # This file should be kept secret

dh /etc/openvpn/dh.pem

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

push “redirect-gateway def1 bypass-dhcp” //这两句我没加,也没影响。

push “dhcp-option DNS 8.8.8.8″

keepalive 10 120

comp-lzo

max-clients 100

persist-key

persist-tun

status openvpn-status.log

verb 3

每个项目都会由一大堆介绍,上述修改,openvpn提供的server.conf已经全部提供,我们只需要去掉前面的注释#,然后修改我们自己的有关配置,其实大部分的内容是不用修改的,注意一下就好。

第六步、下载openvpn客户端,并进行配置
客户端用的是windows,下载安装openvpn-2.3.14版本并安装,然后找到安装目录
C:\Program Files\OpenVPN
这里写图片描述
到sample-config目录下找到client.ovpn,拷贝这个文件到config文件夹下。
然后将服务器端生成的客户端证书及key下载下来,也放到config文件夹下,如下:
这里写图片描述
windows客户端
这里写图片描述

编辑配置文件client.ovpn:

client

dev tun

proto udp

remote 192.168.22.226 1194 //主要这里修改成自己server端 ip

resolv-retry infinite

nobind

persist-key

persist-tun

ca ca.crt //这里需要证书

cert clientone.crt

key clientone.key

comp-lzo

verb 3

测试

启动server端

openvpn /etc/openvpn/server.conf

如果报错了,会有详细的说明,自己解决一下就可以,举个栗子:
这里写图片描述
这个是我把dh.pem写错了。

启动客户端

打开openvpn gui启动,注意在启动后需要输入创建clientone.key时候的密码!然后进入如下界面
这里写图片描述
然后右下角的图标也可以看状态
这里写图片描述

作者:u013036688 发表于2017/4/9 15:16:39 原文链接
阅读:37 评论:0 查看评论