准备条件
server端为本地的一台虚拟机搭建的centos系统;
client端为本地Windows系统
服务端部署
1.准备源下载软件包
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum clean all
yum makecache
# 安装依赖软件包
yum install -y lzo lzo-devel openssl openssl-devel pam pam-devel
yum install -y pkcs11-helper pkcs11-helper-devel rpm-build
# 安装OpenVPN
yum install openvpn -y
2.下载并配置EasyRSA
#下载EasyRSA 3.0.7
cd /opt/
wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.7/EasyRSA-3.0.7.tgz
tar xf EasyRSA-3.0.7.tgz
mv EasyRSA-3.0.7 easyRSA-3.0.7
cp -r easyRSA-3.0.7/ /etc/openvpn/easy-rsa3
cp /etc/openvpn/easy-rsa3/vars.example /etc/openvpn/easy-rsa3/vars
3.创建相关证书和密钥
cd /etc/openvpn/easy-rsa3/
#初始化目录
./easyrsa init-pki
#创建根证书
#nopass 参数表示不加密;也可以不加此参数,那就需要输入密码短语
./easyrsa build-ca nopass
#创建服务端秘钥
./easyrsa gen-req server nopass
#给服务端证书签名,这里要输入yes才能完成
./easyrsa sign-req server server
##创建客户端秘钥
./easyrsa gen-req client nopass
#给客户端证书签名,这里要输入yes才能完成
./easyrsa sign-req client client
#创建Diffie-Hellman
./easyrsa gen-dh
#创建TLS认证密钥
openvpn --genkey --secret /etc/openvpn/ta.key