CentOS版
easy-rsa下载与配置修改
- 下载easy-ras并解压
wget https://github.com/OpenVPN/easy-rsa/archive/v3.0.7.tar.gz
mv v3.0.7.tar.gz easy-rsa-3.0.7.tar.gz
tar xf easy-rsa-3.0.7.tar.gz
- 根据vars.example生成全局配置文件vars
cd easy-rsa-3.0.7/easyrsa3
cp -a vars.example vars
- 修改vars文件
|
|
生成服务端证书和客户端证书
初始化与创建CA根证书
- 初始化,会在当前目录创建PKI目录,用于存储一些中间变量及最终生成的证书:
./easyrsa init-pki
- 生成CA根证书:
./easyrsa build-ca
这部分有如下注意点:
- 需要输入PEM密码,输入两次,此密码必须记住,不然以后不能为证书签名
- 需要输入common name,这个随便设置个独一无二的就好了,比如openvpn
生成服务端证书
- 为服务端生成证书对并在本地签名。nopass参数生成一个无密码的证书,在此过程中会让你确认ca密码
./easyrsa build-server-full server nopass
- 创建Diffie-Hellman,确保key穿越不安全网络的命令,时间会有点长,耐心等待:
./easyrsa gen-dh
生成客户端证书
- 执行如下指令,生成多个客户端证书对,并在本地签名。nopass参数生成一个无密码的证书(我暂时不考虑),在此过程中会让你确认ca密码。
./easyrsa build-client-full client nopass # 无密码,实际应用中不推荐,客户端有密码可提高安全性
./easyrsa build-client-full zhangsan # 让你输入密码,后续VPN连接时会使用
./easyrsa build-client-full lisi # 让你输入密码,后续VPN连接时会使用
./easyrsa build-client-full wangwu # 让你输入密码,后续VPN连接时会使用
为了提高安全性,生成ta.key
- 加强认证方式,防攻击。如果配置文件中启用此项(默认是启用的),就需要执行上述命令,并把ta.key放到/etc/openvpn/server目录。配置文件中服务端第二个参数为0,同时客户端也要有此文件,且client.conf中此指令的第二个参数需要为1。(服务端有该配置,那么客户端也必须要有)
openvpn --genkey --secret ta.key
整理服务端证书
mkdir -p /etc/openvpn/server/
cp -a pki/ca.crt /etc/openvpn/server/
cp -a pki/private/server.key /etc/openvpn/server/
cp -a pki/issued/server.crt /etc/openvpn/server/
cp -a pki/dh.pem /etc/openvpn/server/
cp -a ta.key /etc/openvpn/server/
Ubunto版
整理这个版本,是因为OpenVPN是之前我成功配置的一个版本,我想知道它们的区别
Ubuntu版本相对比较简单,需要密码的地方都没有设置密码,而且版本比较旧,我就不整理了,毕竟我计划放弃Ubuntu。
参考资料
目前的疑惑
- easy-ras下载地址是怎么得到的呢???GitHub的一种特性么,我看作者下载OpenVPN是也是用这种方法。