VPN Gateway でSSL-VPN を使用する#1 初期設定編

以前に書いたVPN Gateway でSSL-VPN を使用する#1 初期設定編をInternational サイト契約を前提に書き直しました。構築やテストも再度実施しています。

Alibaba Cloud VPN Gateway ではIPsec のSite to Site のVPNだけではなく、SSL-VPN によるPoint to Site のVPN を利用することが可能です。

今回はVPN Gateway のインスタンスを購入し、クライアントにVPNクライアントをインストールし、接続確認までの手順を紹介します。 テスト環境の構成イメージは以下の通り。  International サイトのVPN Gateway でもSSL-VPN は正常に機能すること、また、日本サイトのVPN Gateway から色々と機能追加や改善が行われていることも確認できました。

1. VPN Gateway の購入

まずはVPN Gateway のインスタンスを購入します。 言語をJapanese で進めます。International サイトでは日本語に対応しないことが多いので通常はEnglishで進めることが多いのですが、VPN Gateway は日本語に対応しているようです。

“VPN Gateway の作成” をクリックします。

と思ったら、次の購入画面では所々英語の表記です。 

混乱しそうなのでやはりEnglish で進めることにします。

今回はSSL-VPNのみのテストとなるためIPsec-VPN は無効化し、SSL-VPN を有効化します。 10Mbps の帯域の場合0.139 USD / 時間の課金となります。 本日時点の為替レートは106.13円 / USD ですので大体 14.8円 / 時間です。 1か月730時間利用すると 10,769 円です。

リージョンは中国本土で7リージョン+Hong Kong、他に Singapore, Sydney, Kuala Lumpur, Virginia, Silicon Valley, Dubai, Frankfurt, Mumabi, Jakarta, London の合計19リージョンで利用可能です。

ネットワークの構成ではまずVPNを指定します。 Assign VSwitch は日本サイト契約のVPN Gateway にはない機能です。 既定では以下の通り、”No”です。

この”Assign VSwtich” がどのような機能となるのかDocument Center から確認します。しかし、マニュアルでは見つからず。 上のスクリーンショットに”If assign the VSwitch to create the VPN gateway, not netcessary” と説明がありますが、今回は”Yes”を指定し、明示的にVSwitch を指定します。

Peak Bandwitdth ですが、こちらも日本サイト契約では10 / 100 Mbps のラインナップが10 / 100 / 200 Mbps と強化されています。

“Function Config” ではIPsec-VPN と SSL-VPN の有効・無効を指定します。 SSl-VP を有効にすると ”SSL-connections”で接続数を指定できるのですが、 5 / 10 / 20 の3つの選択肢となります。

日本サイト契約では以下のように 10 / 20 / 50 / 100 / 500 / 1000 を選択可能した。 日本サイト契約で50以上の接続数を利用している場合はInternational へ移行する場合は注意が必要となりそうです。 しかし、どうして接続数が減ったのか。 おそらく性能なのかなと。 1,000 接続で常時パケットが流れる場合、SSL / TLS の暗号および復号でかなりのCPUリソースを消費しますし。

構成とTermsを確認し、”Activate”をクリックします。

“Order complete” とのことで購入が完了しました。

1~2分後にVPN Gateway インスタンスが起動し、ステータスが”正常”となることを確認します。 Microsoft Azure では VPN Gateway のインスタンス生成に数十分かかるのですがAlibaba Cloud は早いです。

2. SSL Srevres の作成

次はSSL サーバーの構成です。 VPCの管理画面から”SSL Servers”をクリックします。 ”Create SSL Server”をクリックします。

Nameは任意、VPN Gateway には先ほど作成したVPN Gateway インスタンスをリストボックスから指定します。

Local Network にはVPN Gateway の所属するVPC のCIDRに属するネットワークを指定します。  ここで指定したネットワーク以外とは通信出来ません。 逆言うとSSL-VPNで接続する先を限定したい場合はこの設定で絞ることが可能です。

Client SubnetにはSSL-VPN クライアントがトンネル確立後に付与されるIPアドレスのサブネットを指定します。こちらはVPC のCIDR 以外のネットワークアドレスを指定する必要があります。

Advanced Configuration では以下の項目を設定可能です。 ”Two-factor Authentication” は日本サイト契約のVPN Gateway にはなかった機能です。

試しに”Two-factor Authentication” を有効にすると”IDaaS Instance”の指定が必要とわかります。 SSL-VPN での2要素認証は非常に需要が多い話なのでこれはこれで別途試してみることとし、今回は無しで進めます。

3. SSL Clients の設定

次はSSL Clients の設定です。 Alibaba Cloud VPN Gateway のSSL-VPN 機能はクライアント証明書認証を提供します。 ここで証明書を作成します。

”SSL Clients”の設定から、”クライアント証明書の作成”をクリックします。

名前は任意、SSLサーバーには先ほど作成したものをリストボックスから選択します。

次に、クライアントに構成する設定ファイル一式をダウンロードします。

Alibaba Cloud のコンソールのSSL Clients 設定画面から”ダウンロード”をクリックします。

ZIPファイルを展開すると以下の4つのファイルが確認できます。 後の手順で”config.ovpn”ファイルを使用します。 また、ここにある証明書ファイルは厳重に管理しましょう。 悪意ある第三者がこれらのファイルを入手した場合、意意図しないVPCへの接続を許してしまいます。

4. OpenVPN Clients のインストール

OpenVPNのクライアントモジュールをインストールします。

まずは公式サイトからインストールモジュールを入手します。

ダウンロードしたモジュールを実行します。 

インストールウィザードが起動します。”Next”をクリックします。

Terms を確認し、チェックし、”Next”をクリックします。

Driver selection は既定のTAP driver のまま、”Next”をクリックします。

”Install”をクリックします。

インストールが進行します。 数分待ちましょう。

完了後、”Finish”をクリックします。

正常にインストールが完了していると、タスクトレイに”OpenVPN Connect”が起動していることが確認できます。

5. OpenVPN の設定

タスクトレイのOpenVPNをクリックします。 Term を確認し、承諾します。

先に展開したファイル”config.ovpn”をIMPORTします。”FILE”をクリックしてから、中央にファイルをドラッグアンドドロップします。

“Profile successfully imported” と表示されればインポートの準備は成功です。

“Connect after import” をチェックし、”Add” をクリックします。

問題がなければこの段階で接続に成功します。

以上でクライアントの設定は完了になります。

6. 接続テスト

6.1. 接続先のインスタンスの準備

まずは接続テスト先となる ECS インスタンスのプライベートIPアドレスを確認します。 

以下の通り、プライベートIPとして”172.24.203.118″ が接続先となります。

6.2. SSL-VPN 接続の確立

OepnVPN Connect からVPNトンネルを確立します。スライダーをクリックします。

緑色文字で”CONNECTED”と表示されれば接続は成功です。接続完了は2~3秒です。 VPN接続時間が短いというのはエンドユーザから見るととても重要です。短いから嬉しいといよりは長いと非常にストレスがかかるということではありますが。

6.3. Ping による接続テスト

Alibaba Cloud 上の仮想マシンに手元のWindows PC からPing を実行します。

プライベートIPから応答が正常にあることが確認できました。

6.4. クライアントのIPアドレスの確認

また、IPアドレスはSSL-VPNの設定で指定したサブネットから払い出されたことが確認出来ました。

ルート テーブルも確認します。 Alibaba Cloud VPN Gateway のSSL Servers で設定したLocal network はここに反映されます。 

今回は実施しませんが、Alibaba Cloud 側でlocal network に定義しない宛先ネットワークへの通信、クライアント側でStatic route を追加することで実現するか別途テストする予定です。 挙動を見ていると多分いけそうかなと。

6.5. Alibaba Cloud コンソールからの確認

“SSL Servers”の画面から現在の接続数を確認出来ます。 以下の画面では1台のクライアントが接続されていることを確認できます。

ログも確認可能です。 ”View Logs”をクリックします。

接続ログを確認します。 以前に日本サイトのVPN Gateway で記事を書いた時には正常に機能しなかったのですがInternational サイトでは問題ないようです。

7. まとめ

International 契約のVPN Gateway は初めて使ってみたのですが日本サイト契約のものとは色々と変更されていることがわかりました。

  • 購入時に 帯域の選択肢として200 Mbps が追加された
  • 購入時にVSwitch を指定できるようになった
  • 購入時にSSL-VPNの接続数は5 / 10 / 20 の3つに減った(日本サイト契約では50 / 100 / 500 / 1000 を選択できた)
  • 2要素認証に対応
  • ログ機能が正常に動作するようになった

また前回記事のテストではOpenVPN Connect はバージョン2でしたが今回は最新のバージョン3 でも特に問題なく接続できることを確認できました。

前回の日本サイトでの一連のテスト同様、International 契約のVPN Gateway について以下のテストも実施し内容等を紹介します。

  • 異なるOSからの接続(iOS、Android)
  • VPN Server の圧縮機能の効果測定
  • スプリットトンネリング
  • SSL-VPN の業務利用

今回はここまでとします。