OpenVPNサーバーを構築する その3

OpenVPN OpenVPN

今日はクライアントの設定を行います!

クライアント用秘密鍵を作る

では、早速参りましょう。

sandambara@srv001:~$ cd easy-rsa/easyrsa3
sandambara@srv001:~/easy-rsa/easyrsa3$ ./easyrsa build-client-full sandambara
Using SSL: openssl OpenSSL 1.1.1d  10 Sep 2019
Generating a RSA private key
..................................................................................................+++++
....................................................+++++
writing new private key to '/home/sandambara/easy-rsa/easyrsa3/pki/easy-rsa-8816.8fBzne/tmp.YYfV1S'
Enter PEM pass phrase:
パスフレーズ
Verifying - Enter PEM pass phrase:パスフレーズ(確認)
-----
Using configuration from /home/sandambara/easy-rsa/easyrsa3/pki/easy-rsa-8816.8fBzne/tmp.WTEZ4V
Enter pass phrase for /home/sandambara/easy-rsa/easyrsa3/pki/private/ca.key:CA証明書のパスフレーズ
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'sandambara'
Certificate is to be certified until Jan  8 11:50:11 2023 GMT (825 days)

Write out database with 1 new entries
Data Base Updated

最初にクライアント証明書のパスフレーズを聞かれますので任意の文字列を入力します。確認で同じパスフレーズを再度入力したら、1回目の記事で作成したCA証明書のパスフレーズを聞かれますので入力しましょう。

クライアントに転送するファイル一式を分かりやすいよう任意のディレクトリにコピーしてアクセス権を設定しておきます。chown sandambara:sandambaraの箇所はコンソールで作業中のユーザー名:グループにしてください。

sandambara@srv001:~/easy-rsa/easyrsa3$ sudo cp /etc/openvpn/ca.crt ~
sandambara@srv001:~/easy-rsa/easyrsa3$ cp pki/issued/sandambara.crt ~
sandambara@srv001:~/easy-rsa/easyrsa3$ cp pki/private/sandambara.key ~
sandambara@srv001:~/easy-rsa/easyrsa3$ sudo chown sandambara:sandambara ~/ca.crt
sandambara@srv001:~/easy-rsa/easyrsa3$ sudo chown sandambara:sandambara ~/sandambara.crt
sandambara@srv001:~/easy-rsa/easyrsa3$ sudo chown sandambara:sandambara ~/sandambara.key

設定ファイルを作成する

クライアントで利用する設定ファイルを作成しましょう。原則的にserver.confに書いた内容に合わせればOKですので、以下を参考に皆さんの環境にあわせてカスタマイズしてください。なお、設定ファイルの拡張子は「.ovpn」です。

sandambara.ovpn

client
dev tun

remote サーバー設置場所のグローバルIPアドレス server.confで指定したポート番号 プロトコル
#ex
#remote 123.45.67.890 1194 udp

persist-tun

link-mtu 1500

comp-lzo
nobind
preresolve

auth-nocache
auth SHA256
cipher AES-256-GCM
verb 3


<ca>
CA証明書の中身を貼り付けます
</ca>
<key>
ユーザー名.keyの中身を貼り付けます
</key>
<cert>
ユーザー名.certの中身を貼り付けます
</cert>

設定ファイルをクライアントへ保存する

メールに添付するのはセキュリティ的におススメできませんので、scpコマンドやUSBメモリなどを使って先ほどのファイルをクライアントへ保存しましょう。iOSだったらiCloud Drive経由が簡単かも・・・インターネットを経由させたくない場合はiTunesやMac経由でクライアントアプリケーションへ読み込ませることも可能です。

クライアントアプリケーションをインストールし設定ファイルを保存する

Windowsの場合はこちらをどうぞ。

OpenVPN GUI for Windows | OpenVPN.JP

iOSはこちらです。

‎OpenVPN Connect
‎OpenVPN Connect is the official full-featured iPhone/iPad VPN client for the OpenVPN Access Server, OpenVPN Cloud and OpenVPN Community, developed by OpenVPN T...

Windowsは設定ファイルをインストール時に表示されるディレクトリへ保存すればOKです。iOSは設定ファイルを選択→共有→OpenVPNを選択でクライアントアプリケーションに取り込まれます。

つないでみよう!

さあ、いかがでしょう。うまくつながったでしょうか?残念ながらうまくいかないときはサーバーとクライアント、両方のログを見ればヒントがつかめると思います。ポートやプロトコルは勿論ですが、暗号の形式や圧縮の設定はサーバーとクライアントで一致していなければなりません。mtuも設定に問題があるとわんさかログが残りますので注意深く確認しましょう。

インターネットを安全に利用するには

VPNを利用することで安全度・安心感が格段に高まったことと思います。しかし、これは例えばVPNサーバーが自宅にある場合、自宅からインターネットを利用していることと同義であり目的のサーバーに対してVPNで接続しているのではないことを忘れてはいけません。httpsではなくhttpのURLは参照しない、もしくは参照してもIDやパスワードは絶対に入力しないといったことには日頃から留意しておきましょう!

コメント