CentOS OpenVPN证书配置指南
简介

OpenVPN是一款开源的虚拟私人网络(VPN)解决方案,它可以帮助用户安全地通过公共网络进行远程访问,在CentOS系统中配置OpenVPN,需要生成和配置证书,本文将详细介绍如何在CentOS上配置OpenVPN证书。
准备工作
确保系统中已安装OpenVPN。
sudo yum install openvpn
准备一个用于存放证书文件的目录,
/etc/openvpn/keys/。
生成CA证书
创建CA目录。
sudo mkdir -p /etc/openvpn/keys
生成CA私钥。
sudo openssl genpkey -algorithm RSA -out /etc/openvpn/keys/ca.key -pkeyopt rsa_keygen_bits:2048
生成CA证书。

sudo openssl req -x509 -new -nodes -key /etc/openvpn/keys/ca.key -days 3650 -out /etc/openvpn/keys/ca.crt
创建一个CA证书请求文件(CSR),用于生成客户端证书。
sudo openssl req -new -key /etc/openvpn/keys/ca.key -out /etc/openvpn/keys/ca.csr
设置CSR的配置文件,
/etc/openvpn/keys/ca.cnf。[ req ] distinguished_name = CA_default prompt = no default_bits = 2048 default_md = sha256 prompt = no distinguished_name = CA_default
生成服务器证书和私钥
创建服务器私钥。
sudo openssl genpkey -algorithm RSA -out /etc/openvpn/keys/server.key -pkeyopt rsa_keygen_bits:2048
创建服务器证书请求文件(CSR)。
sudo openssl req -new -key /etc/openvpn/keys/server.key -out /etc/openvpn/keys/server.csr
设置服务器CSR的配置文件,
/etc/openvpn/keys/server.cnf。[ req ] distinguished_name = server_default prompt = no default_bits = 2048 default_md = sha256 prompt = no distinguished_name = server_default生成服务器证书。
sudo openssl x509 -req -days 3650 -in /etc/openvpn/keys/server.csr -CA /etc/openvpn/keys/ca.crt -CAkey /etc/openvpn/keys/ca.key -set_serial 01 -out /etc/openvpn/keys/server.crt
生成客户端证书

创建客户端私钥。
sudo openssl genpkey -algorithm RSA -out /etc/openvpn/keys/client.key -pkeyopt rsa_keygen_bits:2048
创建客户端证书请求文件(CSR)。
sudo openssl req -new -key /etc/openvpn/keys/client.key -out /etc/openvpn/keys/client.csr
设置客户端CSR的配置文件,
/etc/openvpn/keys/client.cnf。[ req ] distinguished_name = client_default prompt = no default_bits = 2048 default_md = sha256 prompt = no distinguished_name = client_default生成客户端证书。
sudo openssl x509 -req -days 3650 -in /etc/openvpn/keys/client.csr -CA /etc/openvpn/keys/ca.crt -CAkey /etc/openvpn/keys/ca.key -set_serial 02 -out /etc/openvpn/keys/client.crt
FAQs
问题1:如何查看生成的证书信息? 解答:使用以下命令查看证书信息。
openssl x509 -in /etc/openvpn/keys/ca.crt -text -noout
问题2:如何将证书导入到客户端设备? 解答:根据客户端设备的操作系统和VPN客户端软件,通常需要将证书文件导入到设备的证书存储中,具体操作请参考相应设备的帮助文档。

