Linux OpenVPN 服务端设置客户端证书
生成客户端证书:
证书生成工具
yum -y install easy-rsa
配置OpenVpn:
mkdir /etc/openvpn/etc -p
cp -R /usr/share/easy-rsa/ /etc/openvpn/ 源码目录:
cp sample/sample-config-files/server.conf /etc/openvpn/server.conf
生成证书
cd /etc/openvpn/easy-rsa/2.0 . vars ./clean-all ./build-ca
创建vpn server的key ./build-key-server server
创建用户秘钥
./build-key geekwolf
创建Diffie Hellman,用于增强安全性 ./build-dh
默认情况所创建的文件会生成在/etc/openvpn/easy-rsa/2.0/keys目录下
吊销客户端证书:
进入 OpenVPN 安装目录的 easy-rsa 子目录。例如我的为 /openvpn-2.0.5/easy-rsa/: cd /openvpn-2.0.5/easy-rsa 执行 vars 命令 . vars
使用 revoke-full 命令,吊销客户端证书。命令格式为: revoke-full
是VPN 客户端证书的用户名称。例如: ./revoke-full client1
这条命令执行完成之后, 会在 keys 目录下面, 生成一个 crl.pem 文件,这个文件中包含了吊销证书的名单。
成功注销某个证书之后,可以打开 keys/index.txt 文件,可以看到被注销的证书前面,已标记为R.
确保服务端配置文件打开了 crl-verify 选项
在服务端的配置文件 server.conf 中,加入这样一行: crl-verify crl.pem
如果 server.conf 文件和 crl.pem 没有在同一目录下面,则 crl.pem 应该写绝对路径,例如: crl-verify /openvpn-2.0.5/easy-rsa/keys/crl.pem 重启 OpenVPN 服务。