开发者社区> Linux技术干货> 正文

Centos7.7 配置OpenVPN (一)

简介:
+关注继续查看

OpenVPN是一个开源的应用程序,它允许您通过公共互联网创建一个安全的专用网络。OpenVPN实现一个虚拟专用网(VPN)来创建一个安全连接。
OpenVPN是一个开源的应用程序,它允许您通过公共互联网创建一个安全的专用网络。OpenVPN实现一个虚拟专用网(VPN)来创建一个安全连接。OpenVPN使用OpenSSL库提供加密,它提供了几种身份验证机制,如基于证书的、预共享密钥和用户名/密码身份验证。

在本教程中,我们将向您展示如何在CentOS 7.7服务器上逐步安装和配置OpenVPN。实现基于证书的OpenVPN认证。

准备工作
Centos7.7 作为服务端
Windows 10 作为客户端
Easy-RSA 3.0.6
服务端openvpn版本 2.4.8
客户端openvpn版本2.4.8 :下载地址: https://swupdate.openvpn.org/community/releases/openvpn-2.4.8.tar.gz
关闭selinux
[root@localhost ~]# sed -i '/^SELINUX/s/enforcing/disabled/g' /etc/selinux/config
[root@localhost ~]# setenforce 0
安装epel仓库和openvpn, Easy-RSA
[root@localhost ~]# yum -y install epel-release && yum -y install openvpn easy-rsa
配置EASY-RSA 3.0
在/etc/openvpn文件夹下面创建easy-rsa文件夹,并把相关文件复制进去

[root@localhost ~]# cp -r /usr/share/easy-rsa/3/* /etc/openvpn/easy-rsa/
[root@localhost ~]# cp -p /usr/share/doc/easy-rsa-3.0.6/vars.example /etc/openvpn/easy-rsa/vars
创建OpenVPN相关的密钥
我们将创建CA密钥,server端、client端密钥,DH和CRL PEM, TLS认证钥匙ta.key。

[root@localhost easy-rsa]# cd /etc/openvpn/easy-rsa/
初始化并建立CA证书
创建服务端和客户端密钥之前,需要初始化PKI目录

[root@localhost easy-rsa]# ./easyrsa init-pki
Centos7.7 配置OpenVPN (一)Centos7.7 配置OpenVPN (一)

[root@localhost easy-rsa]# ./easyrsa build-ca nopass
Centos7.7 配置OpenVPN (一)Centos7.7 配置OpenVPN (一)

创建服务器密钥
创建服务器密钥名称为 server1.key

[root@localhost easy-rsa]# ./easyrsa gen-req server1 nopass
添加nopass 选项,是指不需要为密钥添加密码。
Centos7.7 配置OpenVPN (一)Centos7.7 配置OpenVPN (一)

用CA证书签署server1密钥

[root@localhost easy-rsa]# ./easyrsa sign-req server server1
Centos7.7 配置OpenVPN (一)Centos7.7 配置OpenVPN (一)

创建客户端密钥
创建客户端密钥名称为 client1.key

[root@localhost easy-rsa]# ./easyrsa gen-req client1 nopass
Centos7.7 配置OpenVPN (一)Centos7.7 配置OpenVPN (一)

用CA证书签署client1密钥

[root@localhost easy-rsa]# ./easyrsa sign-req client client1
Centos7.7 配置OpenVPN (一)Centos7.7 配置OpenVPN (一)

创建DH密钥
根据在顶部创建的vars配置文件生成2048位的密钥

[root@localhost easy-rsa]# ./easyrsa gen-dh
Centos7.7 配置OpenVPN (一)Centos7.7 配置OpenVPN (一)

创建TLS认证密钥
[root@localhost easy-rsa]# openvpn --genkey --secret /etc/openvpn/easy-rsa/ta.key
生成 证书撤销列表(CRL)密钥
CRL(证书撤销列表)密钥用于撤销客户端密钥。如果服务器上有多个客户端证书,希望删除某个密钥,那么只需使用./easyrsa revoke NAME这个命令撤销即可。

生成CRL密钥:

[root@localhost easy-rsa]# ./easyrsa gen-crl
Centos7.7 配置OpenVPN (一)Centos7.7 配置OpenVPN (一)

复制证书文件
复制ca证书,ta.key和server端证书及密钥到/etc/openvpn/server文件夹里

[root@localhost easy-rsa]# cp -p pki/ca.crt /etc/openvpn/server/
[root@localhost easy-rsa]# cp -p pki/issued/server1.crt /etc/openvpn/server/
[root@localhost easy-rsa]# cp -p pki/private/server1.key /etc/openvpn/server/
[root@localhost easy-rsa]# cp -p ta.key /etc/openvpn/server/
复制ca证书,ta.key和client端证书及密钥到/etc/openvpn/client文件夹里

[root@localhost easy-rsa]# cp -p pki/ca.crt /etc/openvpn/client/
[root@localhost easy-rsa]# cp -p pki/issued/client1.crt /etc/openvpn/client/
[root@localhost easy-rsa]# cp -p pki/private/client1.key /etc/openvpn/client/
[root@localhost easy-rsa]# cp -p ta.key /etc/openvpn/client/
复制dh.pem , crl.pem到/etc/openvpn/client文件夹里

[root@localhost easy-rsa]# cp pki/dh.pem /etc/openvpn/server/
[root@localhost easy-rsa]# cp pki/crl.pem /etc/openvpn/server/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
在 CentOS 系统的 ECS 实例中配置 OpenVPN
本文主要为大家介绍在CentOS系统的ECS实例中如何配置OpenVPN。
2849 0
Centos7连接OPENVPN出错
最近搞openvpn 在阿里云windows server 2008上面搭建的openvpn服务器(本来想在linux上做的没办法领导要求)。 我用本地虚拟机测试连接openvpn没有任何问题 Centos 6.5 和windows 7 都可以连接Openvpn。
6123 0
centos安装mysql
centos安装mysql
29 0
Centos基础环境搭建--安装docker
Centos基础环境搭建--安装docker
60 0
Centos基础环境--docker安装mysql8.0
Centos基础环境--docker安装mysql8.0
25 0
Centos基础环境--docker安装Redis
Centos基础环境--docker安装Redis
19 0
运维 --- Nginx介绍和在CentOS/Redhat下安装
运维 --- Nginx介绍和在CentOS/Redhat下安装
66 0
Docker---Docker 在CentOS上安装
Docker---Docker 在CentOS上安装
41 0
+关注
Linux技术干货
《Linux就该这么学》是一本注重于实用性的Linux系统技术自学书籍,自基础篇公布后网站每天日常阅读量已经超过10000多人,25万多名忠实粉丝读者,是目前国内人气增速最快的IT书籍。您可以在本网站内免费在线阅读书籍的全部章节及最新内容,今后的进阶篇也将会一如既往免费、完整的提供给亲爱的读者们在线
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
CentOS Nginx PHP JAVA 多语言镜像使用手
立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载
低代码开发师(初级)实战教程
立即下载