当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > OpenVPN 服务器搭建

OpenVPN 服务器搭建 时间:2018-09-28      来源:未知

OpenVPN 服务器搭建:

系统:Ubuntu 14.04 

安装openvpn,easy-rsa

sudo apt-get -y install openvpn libssl-dev openssl

sudo apt-get -y install easy-rsa

制作相关证书

openvpn的证书分为三部分:CA证书、Server端证书、Client端证书

 

2.1制作CA证书:

openvpn与easy-rsa安装完毕后,我们需要在/etc/openvpn/目录下创建easy-rsa文件夹,如下:

sudo mkdir /etc/openvpn/easy-rsa/

 

然后把/usr/share/easy-rsa/目录下的所有文件全部复制到/etc/openvpn/easy-rsa/下,如下:

sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/

 

在开始制作CA证书之前,我们还需要编辑vars文件,修改如下相关选项内容即可。如下:

sudo vi /etc/openvpn/easy-rsa/vars

 

export KEY_COUNTRY=" "

export KEY_PROVINCE=" "

export KEY_CITY=" "

export KEY_ORG=" "

export KEY_EMAIL=" "

export KEY_OU=" "

export KEY_NAME=" "

“”“”内可自己加

vars文件主要用于设置证书的相关组织信息,红色部分的内容可以根据自己的实际情况自行修改。

其中export KEY_NAME=" VPNServer "这个要记住下,我们下面在制作Server端证书时,会使用到。

进入root权限

然后使用source vars命令使其生效,如下:

root@iZ284zmibbzZ:/etc/openvpn/easy-rsa# source vars

root@iZ284zmibbzZ:/etc/openvpn/easy-rsa# ./clean-all

注意:执行clean-all命令会删除,当前目录下的keys文件夹。

 

现在开始正式制作CA证书,使用如下命令:

root@iZ284zmibbzZ:/etc/openvpn/easy-rsa# ./build-ca

一路按回车键即可。

现在把该CA证书的ca.crt文件复制到openvpn的启动目录/etc/openvpn下,如下:

cp keys/ca.crt /etc/openvpn/

 

 

2.2 制作Server端证书

CA证书制作完成后,我们现在开始制作Server端证书。如下:

root@iZ284zmibbzZ:/etc/openvpn/easy-rsa# ./build-key-server 文件名

 

注意:上述命令中 文件名,就是我们前面vars文件中设置的KEY_NAME,碰到[y/n]:  输入y。

 

现在再为服务器生成加密交换时的Diffie-Hellman文件,如下:

root@iZ284zmibbzZ:/etc/openvpn/easy-rsa# ./build-dh

 

以上操作完毕后,把VPNServer.crt、VPNServer.key、dh2048.pem复制到/etc/openvpn/目录下。Server端证书就制作完毕。

 

2.3 制作client端证书

Server端证书制作完成后,我们现在开始制作Client端证书,如下:

root@iZ284zmibbzZ:/etc/openvpn/easy-rsa# ./build-key 文件名

 

注意:上述命令中的client,是客户端的名称。这个是可以进行自定义的。碰到[y/n]:  输入y。

root@iZ284zmibbzZ:/etc/openvpn/easy-rsa# ll keys/

其中client.crt 和client.key 两个文件是我们需要的。到此client端证书制作完毕。

root@iZ284zmibbzZ:/etc/openvpn/easy-rsa# ./build-key client1

以此类推,生成多个client端证书。

 

三:配置Server端

所有证书制作完毕后,我们现在开始配置Server端。Server端的配置文件,我们可以从openvpn自带的模版中进行复制。如下:

root@iZ284zmibbzZ:/etc/openvpn/easy-rsa# 

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

cd /etc/openvpn/

解压server.conf.gz 文件,使用如下命令

gzip -d server.conf.gz

现在我们来修改server.conf文件,如下:

port 1194

proto tcp

cert 服务器文件名

key 服务器文件名

dh dh2048.pem

#comp-lzo

client-to-client

配置文件修改完毕后,我们现在来启动openvpn,使用如下命令:

/etc/init.d/openvpn start

 

通过上图,我们可以很明显的看出openvpn已经在此启动,而且也确实使用的TCP协议的1194端口。

 

 

四:配置client 端

先把这几个文件复制到/home/ vpn_client_conf /目录下,然后再把openvpn客户端的配置文件模版也复制到/home/ vpn_client_conf /目录下。如下:

把client.conf文件重命名为client.ovpn,然后进行编辑,如下:

proto tcp

remote **** 1194 

ca ca.crt

cert.crt

key.key

#comp-lzo

Client配置文件client.ovpn,修改了几个地方:

第一、使用的协议,由原来的UDP修改为TCP,这个一定要和Server端保持一致。否则Client无法连接。

第二、remote地址,这个地址要修改为Server端的地址。

第三、Client证书名称,这个要和我们现在使用的Client证书名称保持一直。

以上修改完毕后,我们要把这个几个文件放在同一个文件夹中(client.ovpn, ca.crt, client.crt, client.key),并且一定要保持client.ovpn这个文件名称是唯一的。否则在openvpn客户端连接时,会报错。

注意:建议客户端版本号要与服务器端openvpn的版本一直,否则可能会出现无法连接服务器的现象。

 

4.1 Windows客户端

把vpn_client_conf这个文件夹复制到openvpn客户端安装的config文件夹。

 

4.2 Linux OS

 

在Windows OS上测试完毕后,我们现在在切换到linux系统。在此我们以ubuntu14.04为例。

要在ubuntu上连接openvpnServer端,我们需要先安装openvpn软件,如下:

sudo apt-get -y install openvpn

注意:将服务器端的vpn_client_conf文件夹拷贝到本地Linux系统上。

不同的客户端使用不同的client.crt 、client.key、 client.ovpn。在连接Server端之前,一定要切换到root用户下。因为在连接Server端时,openvpn会在本机创建一个虚拟网卡,如果使用普通用户的话,是没有权限创建虚拟网卡的。

robin@Ubuntu:~/OpenVPN/vpn_ubuntu_client1_conf$ openvpn --config client1.ovpn

上一篇:LINUX 启动logo 总结

下一篇:SylixOS热插拔概述

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部