如何產生客戶端用的 ovpn 檔

注意事項

  1. 已有 OpenVPN server、ca.key
  2. 用戶端在使用此憑證時無需輸入密碼
  3. 固定 IP ,已經定好的檔名,後續不可修改

 

先在 server 生成憑證、密鑰和配置

$ ssh {your_server}

$ sudo docker run \
    -v /volume1/docker/tun/etc:/etc/openvpn \
    --rm -it kylemanna/openvpn \
    easyrsa build-client-full {your_file_name} nopass
    
# 原 /etc/openvpn/ 的檔已存在 /volume1/docker/tun/etc 裡了,所以這裡要輸入ca.key的密碼
Enter pass phrase for /etc/openvpn/pki/private/ca.key:

 

成功應該要出現這些訊息:

Enter pass phrase for /etc/openvpn/pki/private/ca.key:
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'{your_file_name}'
Certificate is to be certified until Mar  9 01:15:10 2026 GMT (825 days)

Write out database with 1 new entries
Data Base Updated
_________________

以上會生成三個檔, pki/issued/{your_file_name}.crt、pki/private/{your_file_name}.key、pki/reqs/{your_file_name}.req 

 

設該 ovpn 設定檔的固定 IP

$ sudo docker exec -it {your_container_name} /bin/bash
$ cd /etc/openvpn/ccd
$ pwd

# 查是否有該 ip 的設定,eg. 
$ grep -Rnw . -e '10.8.0.121'
# OR
$ grep -rnw . -e '10.8.0.121'

$ ls -alt
$ vi {your_file_name}  # 給固定 IP
# 內容: "ifconfig-push 10.8.0.121 255.255.255.0"
$ cat {your_file_name}
$ exit

 

取得 ovpn 檔,放到 ~ 下,後續可以備份

sudo docker run \
    -v /volume1/docker/tun/etc:/etc/openvpn \
    --rm kylemanna/openvpn \
    ovpn_getclient {your_file_name} > ~/{your_file_name}.ovpn

留言

這個網誌中的熱門文章

電話線四芯或二芯(4C或2C)的差別

開機自動執行 Google Chrome App on Mac OS X

RPi 作業系統的 ntp service 相關