OpenVPNサーバ編では、FreeBSDマシンにOpenVPNをインストールし、VPNサーバの設定を行ないました。本記事では、三つ目のパートとして、WindowsマシンへのOpenVPNのインストールとVPNクライアントの設定を行ないます。その後、VPNクライアントとVPNサーバとの間で最低限の通信ができることを確認します。

クライアント証明書の発行

OpenVPNをインストールする前に、まずクライアント証明書を発行しておきましょう。手順は「証明書を発行」で述べたとおりです。コモンネーム(Common Name, CN)には、ネットワーク設計編で決定しておいたドメイン名vpnclient.example.orgを指定します。

後ほど、以下のファイルをWindowsマシンにコピーしますので覚えておいてください。

クライアントの秘密鍵について、パスフレーズなしのものを用いるのでもかまいませんが、安全のため、クライアントの秘密鍵はパスフレーズで保護されているものを使うことを推奨します。(VPN接続を開始するたびにパスフレーズの入力を求められますが、安全重視でお願いします。)

OpenVPNのインストール

次に、OpenVPNをインストールします。

OpenVPNのCommunity DownloadsからWindows用のインストーラをダウンロードします。ダウンロードが終わったら、インストーラをダブルクリックしてインストールを開始してください。途中いくつか確認を要する画面が現れますが、どれもデフォルト設定のままでOKです。

デフォルトではC:\Program Files\OpenVPN以下に一連のファイルがインストールされます。ディレクトリ構成は以下のようになります。

C:\Program Files\OpenVPN
├ bin            - 実行ファイル、DLL
├ config         - 設定ファイル
├ doc            - ドキュメント
├ log            - ログ
└ sample-config  - サンプル設定ファイル

サンプル設定ファイルのディレクトリにclient.ovpnというファイルがあります。今回はクライアントの設定をしますので、このファイルをひな型として使用します。本ファイルを設定ファイルのディレクトリにコピーしましょう。ファイル名は、接続先を示すものに変更しておくとわかりやすいです。本記事ではvpnserver.example.comに接続しに行きますので、vpnserver.ovpnという名前に変更します。

また、クライアント証明書の発行であげた3つのファイルを設定ファイルのディレクトリにコピーします。さらに、OpenVPNサーバ編で生成しておいた、HMAC用の共有秘密鍵(/usr/local/etc/openvpn/ta.key)も設定ファイルのディレクトリにコピーします。

結果として、設定ファイルディレクトリ(C:\Program Files\OpenVPN\config)には以下の6つのファイルがあるはずです。

README.txt          - もともとあったREADME.txt
root-ca.crt         - Root CAの証明書
ta.key              - HMAC用の共有秘密鍵
vpnclient.crt.full  - クライアントのフルチェーン証明書
vpnclient.key       - クライアントの秘密鍵(パスフレーズあり)
vpnserver.ovpn      - クライアント設定ファイル

OpenVPNの設定

では、次にOpenVPNクライアントの設定ファイルvpnserver.ovpnの内容について、主要な部分を見ていきます。完全な設定ファイルは以下のGitHubリポジトリに置いてありますので、必要に応じでご参照ください。

上記のように応答が返ってくればOKです。これで、OpenVPNサーバとの間に安全な通信路(トンネル)が確立しました。クライアントからの通信はすべてトンネルを経由するよう、サーバ側で設定してありますので、暗号化されていない公衆無線LANでも安全な通信が可能です。

めでたし、といいたいところなのですが、実はいままでの設定だけではVPNサーバとだけしか通信できません。そうではなくて、VPNサーバを経由してインターネット上のいろいろなサービスを安全に利用すること、がやりたいことですよね?

次回は、VPNサーバを介してVPNクライアントがインターネットと通信できるよう、VPNサーバをNATルータとして動作させるための設定を説明します。

参考文献

  1. OpenVPN, https://openvpn.net/

イメージクレジット

本記事において、Windowsのデスクトップ壁紙として使用している画像は、ロシア・キーロフスク在住のFox Grom氏によるものです。氏のアルバムは以下のURLで閲覧できます。