OpenVPN Client 端設定

參考網頁:
CentOS 7 install OpenVPN @ 回憶……! :: 痞客邦 PIXNET ::
How To Set Up an OpenVPN Server on Ubuntu 16.04 | DigitalOcean 

複製 OpenVPN Server 以下的這四個檔案至 OpenVPN Client Devices 上。
/etc/openvpn/easy-rsa/keys/ca.crt
/etc/openvpn/easy-rsa/keys/client.crt
/etc/openvpn/easy-rsa/keys/client.key
/etc/openvpn/easy-rsa/keys/ta.key

因為檔案比較多,為了使用者設定的方便,所以整合成一個 .ovpn 檔[@more@]建立存放檔案的目錄
# mkdir ~/openvpn_client_files
切換目錄
# cd /etc/openvpn/easy-rsa/keys/
複製 Client 端所需檔案
# cp ca.crt client.crt client.key ta.key ~/openvpn_client_files

建立 Client 端基本設定檔
# vim ~/openvpn_client_files/base.conf
client
dev tun
proto tcp
remote server_IP_address 1194
user nobody
group nogroup
persist-key
persist-tun
remote-cert-tls server
comp-lzo
verb 3
cipher AES-128-CBC
auth SHA256
key-direction 1

參考 How To Set Up an OpenVPN Server on Ubuntu 16.04 | DigitalOcean 建立 .ovpn 的 Script 檔
# vim ~/openvpn_client_files/make_config.sh
#!/bin/bash

# First argument: Client identifier

KEY_DIR=~/openvpn_client_files
OUTPUT_DIR=~/openvpn_client_files
BASE_CONFIG=~/openvpn_client_files/base.conf

cat ${BASE_CONFIG}
    <(echo -e ‘<ca>’)
    ${KEY_DIR}/ca.crt
    <(echo -e ‘</ca>n<cert>’)
    ${KEY_DIR}/${1}.crt
    <(echo -e ‘</cert>n<key>’)
    ${KEY_DIR}/${1}.key
    <(echo -e ‘</key>n<tls-auth>’)
    ${KEY_DIR}/ta.key
    <(echo -e ‘</tls-auth>’)
    > ${OUTPUT_DIR}/${1}.ovpn

更改檔案權限
# chmod 700 ~/openvpn_client_files/make_config.sh

切換目錄
# cd ~/openvpn_client_files

進行製作
# ./make_config.sh client

檢查是否有產生整合的設定檔
# ls -l ~/openvpn_client_files/*.ovpn
-rw-r–r– 1 root root 9860 12月 23 22:15 client.ovpn