今回の目標
まずはシンプルに、2台のPC(Windows)をVPNでつないでみましょう。
ポイント
- 認証方式は静的鍵(Static Key)を使用します。
- この方式で構築できるのは、ごく小規模のVPNです。今回はサーバーとクライアント1台の2台構成を想定しています。
- OpenVPNが使用するポートは、UDPのポート1194(デフォルト)です。
- それぞれのVPNアドレスは、サーバーが10.8.0.1、クライアントが10.8.0.2とします。
手順
サーバー編
- サーバーとクライアントの両方が持つ鍵となるファイル(静的鍵、Static Key)を生成します。サーバーとクライアントの両方が同じファイルを提示することで、認証をクリアし、接続されることになります。パスワードの代わりになるようなものと考えてください。静的鍵を作るには、サーバー側PC上で、コマンドプロンプトから以下のコマンドを実行します。
openvpn --genkey --secret static.key
こうすると、現在のディレクトリに
static.key
というテキストファイルが作成されます。このファイルをサーバーとクライアントの両方のPCにコピーしておきましょう。 - サーバー用のOpenVPN設定ファイルを作成します。以下の内容のテキストファイルを作成し、ファイル名を
statickey_server.ovpn
として保存してください。proto udp dev tun port 1194 ifconfig 10.8.0.1 10.8.0.2 secret static.key comp-lzo keepalive 10 60 ping-timer-rem persist-tun persist-key
これでサーバー側の準備は完了です。
クライアント編
- クライアント用のOpenVPN設定ファイルを作成します。以下の内容のテキストファイルを作成し、ファイル名を
statickey_client.ovpn
として保存してください。remote <サーバーの実IPアドレス> proto udp dev tun port 1194 ifconfig 10.8.0.2 10.8.0.1 secret static.key comp-lzo keepalive 10 60 ping-timer-rem persist-tun persist-key
同じディレクトリに、先ほどサーバーPCで生成した静的鍵ファイル(
static.key
)を入れておいてください。
これで準備ができました。
いよいよ接続!
- まず、サーバー側でOpenVPNを起動します。
サーバー用OpenVPN設定ファイルstatickey_server.ovpn
を右クリックし、コンテキストメニューから「Start OpenVPN on this config file」を選択します。
自動的にコマンドプロンプトが起動し、statickey_server.ovpn
の設定内容に基づいて OpenVPN が起動します。 - 続いて、クライアント側でOpenVPNを起動します。
サーバー側と同様、OpenVPN設定ファイルstatickey_client.ovpn
を右クリックし、コンテキストメニューから「Start OpenVPN on this config file」を選択します。自動的にコマンドプロンプトが起動し、statickey_client.ovpn
の設定内容に基づいて OpenVPN が起動します。
サーバー、クライアント両方の画面上で「Initialization Sequence Completed」と表示されたら、VPNの接続に成功しています。おめでとうございます!
相手先のVPNアドレス(サーバーは 10.8.0.1、クライアントは 10.8.0.2)にPINGを実行してみてください。応答があればVPN接続が確立しています。
OpenVPNを終了するときは、OpenVPNのコマンドプロンプトで[F4]キーを押してください。その後、もう一度何かキーを押すとコマンドプロンプトが終了します。
VPNは接続できているはずなのにPINGが飛ばないときは…
このケースは多くの場合、Windowsのファイアウォールで止められてしまっていることが原因です。サーバー、クライアントの両方でいったんファイアウォールやセキュリティソフトウェアを停止したりして、再度通信を確認してみてください。ファイアウォールなどを停止していれば問題なくつながる、ということであれば、OpenVPNの通信が問題なく通るようにファイアウォールの設定を変更してください。