下載配置
下載:yum install easy-rsa -y
將easy-eas拷貝到工作目錄(自定義):cp -r /usr/share/easy-rsa/3.0.3/* /etc/openvpn/easy-rsa/
拷貝vars文件(easy-esa 3.*后的版本沒有默認vars文件,好像改成了vars.example):cp -p /usr/share/doc/easy-rsa-3.0.3/vars.example /etc/openvpn/easy-rsa/vars
在vars里添加如下配置(直接添加就好了):
set_var EASYRSA_REQ_COUNTRY "xxx" #國家 set_var EASYRSA_REQ_PROVINCE "xxx" #地區 set_var EASYRSA_REQ_CITY "xxx" #城市 set_var EASYRSA_REQ_ORG "xxx" #組織 set_var EASYRSA_REQ_EMAIL "xxx" #郵箱 set_var EASYRSA_REQ_OU "xxx" 擁有者
如果openvpn client的配置文件中使用了ns-cert-type
server則要打開此選項,制作server證書時會將一些信息寫入證書,如不打開此選項,則openvpn client會提示server certificate verify fail set_var EASYRSA_NS_SUPPORT “yes”
創建兩個工作目錄(任意),分別代表server端和client端,本示例兩工作目錄分別為:server、client。以下順序也是制作證書的流程,在工作目錄下按以下順序操作或使用命令:
server端
進入server目錄,初始化easy-rsa環境(拷貝 easy-rsa/3.0.3/* 和vars.example 到本目錄)
#1./easyrsa init-pki
初始化,會在當前目錄創建PKI目錄,用於存儲一些中間變量及最終生成的證書
2 ./easyrsa build-ca
創建根證書,首先會提示設置密碼,用於ca對之后生成的server和client證書簽名時使用,然后會提示設置Country Name,State or Province Name,Locality Name,Organization Name,Organizational Unit Name,Common Name,Email Address,可以鍵入回車使用默認的,也可以手動更改
3 ./easyrsa gen-req server nopass
創建server端證書和private key,nopass表示不加密private key,然后會提示設置Country Name,State or Province Name,Locality Name,Organization Name,Organizational Unit Name,Common Name,Email Address,可以鍵入回車使用默認的,也可以手動更改
4 ./easyrsa sign server server
給server端證書做簽名,首先是對一些信息的確認,可以輸入yes,然后輸入build-ca時設置的那個密碼
5 ./easyrsa gen-dh
創建Diffie-Hellman,時間會有點長,耐心等待
client端
進入client目錄,初始化easy-rsa環境(拷貝 easy-rsa/3.0.3/* 和vars.example 到本目錄)
** ./easyrsa gen-req clientname nopass**
創建client端證書和private key,clientname為自定義字符串,nopass表示不加密private key,然后會提示設置Country Name,State or Province Name,Locality Name,Organization Name,Organizational Unit Name,Common Name,Email Address,可以鍵入回車使用默認的,也可以手動更改
客戶簽約
1 ./easyrsa import-req client.req所在路徑 clientname
回到server目錄,准備簽名。client.req路徑為上步生成的client.req的絕對路徑,clientname為上步的clientname
2 ./easyrsa sign client clientname
給client端證書做簽名,首先是對一些信息的確認,輸入yes然后輸入build-ca時設置的那個密碼便成功
注意:
ca、server和client的Common Name最好不要設置為一樣,否則openvpn連接時可能會有問題
至此,server和client端證書已制作完畢
openvpn server端:
server/pki/ca.crt <制作server證書的文件夾>
server/pki/private/server.key <制作server證書的文件夾>
server/pki/issued/server.crt <制作server證書的文件夾>
server/pki/dh.pem
openvpn client端:
client/pki/ca.crt <制作server證書的文件夾>
client/pki/issued/client.crt <制作server證書的文件夾>
client/pki/private/client.key <制作client證書的文件夾>