この記事は「yamata::memo – チュートリアル:iPhoneでOpenVPNを使ってみよう!」から転載し、加筆したものです。

iOS向け公式OpenVPNクライアントであるOpenVPN Connect for iOSがリリースされましたので、OpenVPNサーバーにiPhoneから接続する手順をまとめてみましょう。

iOSから接続できるためのOpenVPNサーバーの条件

iOSから接続できるOpenVPNサーバーは仮想NICドライバとしてTUNデバイスを使用している必要があります。この条件さえ満たしていれば、クライアントは各OSが混在(もちろんAndroidも)していてももちろん問題ありません。

ID/パスワード認証については、OpenVPN Connect 1.0.1 以降で利用可能になりました。TAPデバイスについてはiOSが対応していないため、今のところは対応の予定はないとのことです。

OpenVPN設定ファイルの準備

iOSデバイスでのOpenVPNの設定は、PCでも使用するOpenVPN設定ファイル(テキスト形式)をインポートすることによって行います。iOSで使用できるディレクティブについては、OpenVPN Connect for iOSのFAQ(こちらで日本語訳を公開しています)を参照してください。

なお、CA証明書、クライアントの秘密鍵/証明書は別ファイルにするのではなく、設定ファイルに埋め込んでしまうのが簡単でお勧めです。この方法についてはこちらの記事でも取り上げましたが、現在は [INLINE] を使わずに直接書き込んでしまうことができます。たとえばこんな感じです。

<ca>  -----BEGIN CERTIFICATE-----  MIID0TCCAzqgAwIBAgIJAPqGBlghO9ltMA0GCSqGSIb3DQEBBQUAMIGiMQswCQYD  HYhsg2k288s7s6TTSgkSGGKSuaAGlajsbPOisulASuhsla382lLASI8sSSyqMBMG  ...(省略)...  VQQDEwhjaGFuZ2VtZTERMA8GAREwDwYDVQQLEwhjaGFuZ2VtZTERMA8GA1UEAxMI  YkkWu76TYGhSGhOg7ATRSGMVwlHO  -----END CERTIFICATE-----  </ca>  <cert>  -----BEGIN CERTIFICATE-----  MIIEMjCCA5ugAwIBAgIBBDANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UEBhMCSlAx  ETAPBgNVBAgTCEthbmFnYXdhMREwDwYDVQQHEwhLYXdhc2FraTEaMBgGA1UEChMR  ...(省略)...  2MUHlnZv9MosDWNoU7rDnQAIC7lGG9fwzG6qYchJpjzEFk8x3lmvQyVeAI7HK9GZ  STWHPtw7RrG7HmevMNdbRcQAPjvfjw==  -----END CERTIFICATE-----  </cert>  <key>  -----BEGIN RSA PRIVATE KEY-----  MIICXgIBAAKBgQC/hJVwJ/E1Uze70vTIG5z3oeDRpf3zD49VZJkNndd1l/n1r6KN  KW/yF7HLSjnIrnTFs9/WzQ8Jq2mPYrdCLMDZ66SMmo+ruBEWiPzmmHb7kWUfLdt5  ...(省略)...  vkw6z3xcYuOqym5Rfe4RnQJAJnCI8BPztVDWFYNYHYYGi+bQRBxGeZB63xxZ3LuX  XGQRRcMyX3RpBy94JlPU9qo+KfGDDLVWXHdRcoObZSzvFA==  -----END RSA PRIVATE KEY-----  </key>

OpenVPN設定ファイルはPC上で作成します。この設定ファイルの拡張子は「.ovpn」としておいてください。一度この設定ファイルでOpenVPNサーバーにきちんと接続できることを確認しておくといいでしょう。さて、設定ファイルが準備できたら、いよいよデバイスにインポートしましょう。

OpenVPN設定ファイルのインポート

OpenVPN設定ファイルをiPhoneにインポートするにはいくつかの方法がありますが、iTunes経由で行うのが手軽だと思います。その手順を解説しましょう。

まず、 OpenVPN Connect for iOSをインストールしておいてください。

次に、iTunesを起動し、同期するためにデバイスと接続してください。接続したら、左のツリーからデバイスを選択し、ウィンドウ右側のペインで「App」を選択します。

itunes_1

ウィンドウ右側のペインを下にスクロールすると、「ファイル共有」があります。この「App」欄にあるOpenVPNを選択します。右側にある「OpenVPN個の文書」(この訳は??)の欄に、OpenVPN設定ファイルをドラッグします。

itunes_3

これでiTunesでの作業は終了です。あとはiPhone本体での操作になります。

iPhone本体でのインポート

iPhoneでOpenVPN Connectを起動します。インポートするプロファイルがない場合は、起動画面はこのようになります。プロファイルをインポートするための方法が説明されています。

IMG_0042

インポートするプロファイルが存在する場合(前述の手順を行なっている場合)は、インポートするための画面が表示されます。

IMG_0043

インポートできるプロファイルが表示されます。今回はテストサーバー(192.168.0.8)に接続するプロファイルを作ってインポートしたので、そのプロファイルが表示されています。

ここで「+」マークをタップすると、プロファイルをインポートできます。インポートはこれだけです。意外に簡単!

いよいよ接続!

インポートが完了すると、OpenVPN Connectの起動画面はこのようになります。

IMG_0046

「Disconnected」の下にあるスイッチをタップすると、接続が開始されます。

IMG_0052
IMG_0053

「Connected」と表示されれば、無事に接続完了! iPhoneの通知領域にも「VPN」アイコンが表示されています。接続完了後にスイッチをもう一度タップすれば、接続が切断されます。

なお、「Connecting」「Connected」と表示されている右側の「>」をタップすると、OpenVPNログが表示されます。これはトラブルシュートにも便利ですね。

IMG_0048

いかがでしょうか? 設定ファイルさえ作れれば、あとは意外に簡単ですよね? もちろん、iPadでも同様に使えます。これでOpenVPNの活用の幅が広がりますね!