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」を選択します。
ウィンドウ右側のペインを下にスクロールすると、「ファイル共有」があります。この「App」欄にあるOpenVPNを選択します。右側にある「OpenVPN個の文書」(この訳は??)の欄に、OpenVPN設定ファイルをドラッグします。
これでiTunesでの作業は終了です。あとはiPhone本体での操作になります。
iPhone本体でのインポート
iPhoneでOpenVPN Connectを起動します。インポートするプロファイルがない場合は、起動画面はこのようになります。プロファイルをインポートするための方法が説明されています。
インポートするプロファイルが存在する場合(前述の手順を行なっている場合)は、インポートするための画面が表示されます。
インポートできるプロファイルが表示されます。今回はテストサーバー(192.168.0.8)に接続するプロファイルを作ってインポートしたので、そのプロファイルが表示されています。
ここで「+」マークをタップすると、プロファイルをインポートできます。インポートはこれだけです。意外に簡単!
いよいよ接続!
インポートが完了すると、OpenVPN Connectの起動画面はこのようになります。
「Disconnected」の下にあるスイッチをタップすると、接続が開始されます。
「Connected」と表示されれば、無事に接続完了! iPhoneの通知領域にも「VPN」アイコンが表示されています。接続完了後にスイッチをもう一度タップすれば、接続が切断されます。
なお、「Connecting」「Connected」と表示されている右側の「>」をタップすると、OpenVPNログが表示されます。これはトラブルシュートにも便利ですね。
いかがでしょうか? 設定ファイルさえ作れれば、あとは意外に簡単ですよね? もちろん、iPadでも同様に使えます。これでOpenVPNの活用の幅が広がりますね!