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
建立伺服器密鑰
建立伺服器密鑰名稱為 server1.key
[root@localhost easy-rsa]# ./easyrsa gen-req server1 nopass
添加nopass 選項,是指不需要為密鑰添加密碼。
用CA憑證簽署server1密鑰
[root@localhost easy-rsa]# ./easyrsa sign-req server server1
建立用戶端密鑰
建立用戶端密鑰名稱為 client1.key
[root@localhost easy-rsa]# ./easyrsa gen-req client1 nopass
用CA憑證簽署client1密鑰
[root@localhost easy-rsa]# ./easyrsa sign-req client client1
建立DH密鑰
根據在頂部建立的vars配置檔案生成2048位的密鑰
[root@localhost easy-rsa]# ./easyrsa gen-dh
建立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
複制證書檔案
複制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/