VPN Gateway でSSL-VPN を使用する#5 iOS から接続

以前に書いた“VPN Gateway でSSL-VPN を使用する#5 iOS から接続”をInternational サイトを前提に書き直しました。テストも再度実施しています。

Alibaba Cloud VPN Gateawy のSSL-VPNですが、WIndows 以外のOSに対応しています。

https://www.alibabacloud.com/help/doc-detail/65069.htm

日本サイト契約のAlibaba Cloud のドキュメントでは Android や iOS の対応の記載があったのですが International サイト契約ではその記載が無くなっています。

VPN Gateway の SSL-VPN は OpenVPN ベースだと推測します。iOS から接続できるか確認します。

1. iOS へのVPN クライアントのインストール

VPN クライアントにはOpenVPN Connect を使用します。

1.1. OpenVPN Connect のインストール

別用途で既にインストール済みだったのでインストールの手順は省略します。 App Store から”OpenVPN Connect”で検索とインストール出来ます。

1.2. config.ovpn の準備

Alibaba Cloud VPN Gateway のSSL-VPN は証明書認証にのみ対応しています。今回、iOS へのconfig.ovpn のインポートにあたり、証明書情報をconfig.ovpn に統合します。

具体的にはconfig.ovpn ファイルにCA証明書、証明書、秘密鍵をマージします。以下が記載方法のポイントです。

  • 元々のconfig.ovpn のCA証明書、証明書、秘密鍵のファイル指定部分を”;”でコメントアウト
  • CA証明書は<ca> ~ </ca> で囲む
  • 証明書は<cert> ~ </cert> で囲む
  • 秘密鍵は<key> ~ </key> で囲む

以下、太字の部分がポイントです。

client
dev tun
proto udp
remote 47.74.33.225 1194
resolv-retry infinite
nobind
persist-key
persist-tun
;ca ca.crt
;cert vsc-6weqhike0ndo359tspqv4.crt
;key vsc-6weqhike0ndo359tspqv4.key

cipher AES-128-CBC
;comp-lzo
verb 4


<ca>
—–BEGIN CERTIFICATE—–
MIIDjDCCAnSgAwIBAgIRAM4I4uSPwjVzW/QDUYlFdAsw
(省略)
bFV79idaShGJDC/j5iThMdTdp6
—–END CERTIFICATE—–
</ca>

</key>
—–BEGIN CERTIFICATE—–
MIIDRTCCAi2gAwIBAgIQHixVlTHSS2OTXU3LZJNbszANBgk
(省略)
vESXKpPBAKEAwyJ0SzhB90snaGVePeE9uQ==
—–END CERTIFICATE—–
</key>


<key>
—–BEGIN RSA PRIVATE KEY—–
MIIEogIBAAKCAQEAkDCsgTxhuTVnfrsB4Ny34dbHs2w4DIt
(省略)
F6fAnvNenWFjHitvFxX7w=
—–END RSA PRIVATE KEY—–
</key>

1.3. OpenVPN Connect への設定インポート

1.2. の手順で作成した”config.ovpn” をiOS にコピーします。 そして、”OpenVPNにコピー”を実行します。

OpenVPN Connect でのImport が実行されます。 途中での確認・承諾事項も確認した上で進めます。

“ADD” をクリックします。

再度”ADD” をクリックします。

“許可” をクリックします。

以下の画面で設定は完了です。

2. 接続テスト

2.1. VPN 接続

プロファイルの左横のスライドボタンをクリックします。

正常に接続出来ると緑色文字で”CONNECTED”となります。 YOUR PRIVATE IP の 192.168.1.6 がiOS が割り当てられたプライベートIPアドレスとなります。

2.2. Alibaba Cloud のECS への接続テスト

iOS にインストールされた Chrome から ECS インスタンスの プライベートIPアドレス “172.24.203.118” に接続します。 

プライベートIPアドレスで接続出来ることが確認出来ました。

ECS インスタンス側で Apache のアクセスログも確認します。 Android に割り当てられたプライベートIP “192.168.1.6” で検索します。以下の通りVPN Gateway 経由でアクセスされたことを確認出来ました。

3. まとめ

iOS からAlibaba Cloud VPN Gateway のSSL-VPN 機能を問題なく利用できることが確認出来ました。

iOS のファイルシステムの都合(なのか、私自身のiOSの知識不足かも)で、config.ovpn にCA証明書、証明書、秘密鍵をマージする点がAndroidやWindows と手順が異なる点でした。 結果として、複数OSに対応するconfig.ovpn を準備する場合は、マージした1つのconfig.ovpn ファイルを準備し、利用者に配布する運用がよいことがわかりました。

以上です。