UbuntuにOpenVPNを構築しWindowsとAndroidから接続

Server

参考
Qiita

$  cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"

install

openvpn install

$ sudo apt  install openvpn

easy-rsaのclone

$ git clone https://github.com/OpenVPN/easy-rsa.git

サーバー用秘密鍵の作成は上記参考
鍵の有効期限を伸ばしておく

./easy-rsa/easyrsa3/easyrsa
#set_var EASYRSA_CRL_DAYS           180
set_var EASYRSA_CRL_DAYS           3650

config

$ cat /etc/openvpn/server.conf
port   1194
proto  udp
dev    tun

ca          ca.crt
cert        server.crt
key         server.key
dh          dh.pem
crl-verify  crl.pem

ifconfig-pool-persist ipp.txt

server 10.8.0.0 255.255.255.0

push "redirect-gateway def1 bypass-dhcp"
push "route 10.8.0.0 255.255.255.0"
push "dhcp-option DNS 8.8.8.8"

client-to-client
keepalive 10 120
comp-lzo

user  nobody
group nogroup

persist-key
persist-tun

status      /var/log/openvpn-status.log
log         /var/log/openvpn.log
log-append  /var/log/openvpn.log

verb 3
$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
1194/udp                   ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
1194/udp (v6)              ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)

client

クライアント用秘密鍵の作成は上記参考

クライアントで必要なのは以下3ファイル
CA証明書 :ca.crt
pki証明書:[ユーザー名].crt
pki秘密鍵:[ユーザー名].key

Windows

クライアントソフト
vpnux

Android

qiita
クライアントソフト
OpenVPN for Android
注意点

  • 基本設定:[種別]は[証明書]を選択してください。(初期状態は[Androidの証明書管理]となっています)
  • IPとDNS:[設定情報を取得する]をON
  • 認証/暗号化:[証明書のホスト名を確認する]をOFF