VPN ゲートウェイの構築手順
クラウドに構築した仮想マシン(Windows)へ接続する場合、パブリック IP アドレスを指定しリモートデスクトップ接続(以下、RDP と呼びます)を使って接続するか、VPN 接続後に RDP を使って接続する方法があります。
企業などでは ExpressRoute(ER)や VPN 接続(以下、S2S と呼びます)でクローズドネットワークを構築するためプライベート IP アドレスを指定し仮想マシンへ接続します。
では、自宅などネットワーク機器が無く S2S が設定できない場合は?
その場合、ポイント対サイト(以下、P2S と呼びます)を設定することで、オンプレミスのクライアントと仮想ネットワークゲートウェイ(以下、VPN ゲートウェイと呼びます)を VPN 接続することが可能です。
個人的な検証であれば、ネットワークセキュリティグループ(NSG)の設定変更だけでもよいのですが、より安全に接続したい場合などは P2S を使用します。
そこで、今回は P2S VPN を設定しオンプレミスのクライアントから仮想マシンへ RDP を使って接続する手順を解説いたします。
<この記事で学べる事>
·P2S VPN の設定と VPN 接続後の Windows 仮想マシンへの RDP を使った接続
なお、検証費は「0円」とする予定でしたが、結果的に「0円」にはなりませんでした。
※検証費 = クラウドベンダーに支払う費用。
VPN とは?
VPN(仮想プライベートネットワーク)とは、仮想の専用ネットワークのことです。
公衆のインターネット網の中に仮想の専用ネットワークを作り、入口と出口以外からは侵入できないようにするイメージです。
ほかの人が専用通路の途中から入ることが防げますので、比較的に安全な通信が実現できます。
ただし、比較的に安全というだけで、公衆のインターネット網の中に仮想の専用ネットワークを作っているだけなので、完璧にセキュアが保たれるわけではありません。
VPN ゲートウェイってなに?
P2S VPN を設定するために VPN ゲートウェイを使います。
Microsoft の公式サイトで説明されているように、Azure が提供するサービスのひとつで、Azure に構築した仮想ネットワーク(以下、VNet と呼びます)と VPN 接続するためのゲートウェイです。
Azure に構築した仮想マシン等のクラウドデバイスとの通信は、この VPN ゲートウェイを介することでセキュアな通信となります。
また、Microsoft の公式サイトで説明されているように「VpnGw1 ゲートウェイ タイプ 750 時間」は無料なので、SKU には「VpnGw1」を指定したいと思います。
ネットワーク構成図
簡単なネットワーク構成図を紹介したいと思います。
1つの VNet に複数サブネットを構成し、それぞれのサブネット内の仮想マシンとオンプレミスのクライアントを VPN で接続するイメージです。
自己証明書の作成(事前準備)
事前準備として、VPN ゲートウェイ作成時に必要な証明書を準備します。
なお、検証用証明書のため、自己証明書を作成し VPN ゲートウェイに設定したいと思います。また、自己証明書は Powershell の New-SelfSignedCertificate を使って作成することもできますが、今回は、Microsoft の公式サイトで説明されている通り MakeCert を使ってルート証明書とクライアント証明書を作成いたします。
コマンドプロンプトを起動し、ルート証明書を作成するため、以下のコマンドを実行します。
makecert -sky exchange -r -n "CN=tamao-RootCert" -pe -a sha256 -len 2048 -ss My
「tamao-RootCert」という名前のルート証明書を作成します。
次に、クライアント証明書を作成するため、以下のコマンドを実行します。
makecert -n "CN=tmvpn01" -pe -sky exchange -m 96 -ss My -in "tamao-RootCert" -is my -a sha256
「tmvpn01」という名前のクライアント証明書を作成します。
証明書を確認します。
ルート証明書とクライアント証明書が作成されました。
次に、ルート証明書が VPN ゲートウェイ作成時に必要なため、ルート証明書をエクスポートします。
ルート証明書を選択し、メニューから [すべてのタスク] → [エクスポート] を選択します。
次に、「証明書のエクスポート ウィザード」ウィンドウの [証明書のエクスポート ウィザードの開始] が表示されます。
[次へ] をクリックします。
次に、「証明書のエクスポート ウィザード」ウィンドウの [秘密キーのエクスポート] が表示されます。
[いいえ、秘密キーをエクスポートしません] を選択し [次へ]をクリックします。
次に、「証明書のエクスポート ウィザード」ウィンドウの [エクスポート ファイルの形式] が表示されます。
[Base 64 encoded X509(.CER)] を選択し [次へ] をクリックします。
次に、「証明書のエクスポート ウィザード」ウィンドウの [エクスポートするファイル] が表示されます。
[ファイル名] にエクスポートするファイル名を指定し [次へ] をクリックします。
次に、「証明書のエクスポート ウィザード」ウィンドウの [証明書のエクスポート ウィザードの完了] が表示されます。
[完了] をクリックします。
メモ帳などでエクスポートしたルート証明書ファイルを開きます。
VPN ゲートウェイ設定時、選択した部分を使用します。
仮想マシンの作成
本稿の目的は、VPN の設定手順となります。Windows 仮想マシンの作成はスコープ外ですので、Windows 仮想マシンの作成は簡易的な作成手順のみといたします。
Azure ポータルサイトにログインします。
[すべてのサービス] → [無料サービス] をクリックします。
また [無料サービス] から [Windows 仮想マシン] の [作成] をクリックします。
次に、「仮想マシンの作成」画面が表示されます。
[プロジェクトの詳細] にて [サブスクリプション] および [リソース グループ] を設定します。
また [インスタンスの詳細] にて [仮想マシン名]、[地域]、[イメージ]、[サイズ] を設定し [管理者アカウント] にて [ユーザー名]、[パスワード] を設定します。
次に、「仮想マシンの作成」画面を下にスクロールします。
ライセンスのチェックボックスをチェックし [確認および作成] をクリックします。
以下は、本稿執筆時の [地域] です。
無料サービスから仮想マシン作成する場合、「東日本」や「西日本」は選択できませんでした。
次に、「仮想マシンの作成」(確認および作成)画面まで進めます。
設定内容を確認し誤りがなければ [作成] をクリックします。
仮想マシンが作成されました。
VPN ゲートウェイの作成
VPN ゲートウェイの作成手順を解説いたします。
まず、ゲートウェイサブネットを追加するため、アドレス空間を変更します。
仮想マシン作成時に作成された VNet を選択します。
また [設定] → [アドレス空間] をクリックします。
以下は、アドレス空間の変更例です。
[アドレス空間] を [10.1.1.0/24] から[10.1.0.0/23] に拡大しています。
次に、ゲートウェイサブネットを追加します。
[設定] → [サブネット] を選択します。
また [ゲートウェイ サブネット] をクリックします。
次に、[サブネットの追加] にて [サブネット アドレス範囲] を設定し [OK]をクリックします。
本稿の例では [サブネット アドレス範囲] に [10.1.1.0/28] を設定しています。
次に、[設定] → [サブネット] を確認します。
[GatewaySubnet] という名前のサブネットが作成されています。
次に、VPN ゲートウェイの作成時に必要なパブリック IP アドレスを作成します。
[すべてのサービス] → [パブリック IP アドレス]を選択し [追加] をクリックします。
次に、「パブリック IP アドレスの作成」画面が表示されます。
[IP バージョン]、[SKU]、[名前]、[IP アドレスの割り当て]、[サブスクリプション]、[リソース グループ]、[場所] を設定し [作成] をクリックします。
なお [IP アドレスの割り当て] 割り当ては [動的] を設定します。
次に、[設定] → [パブリック IP アドレス] を確認します。
[tmvsr01-pip] という名前のパブリック IP アドレスが作成されています。
次に、VPN ゲートウェイを作成します。
[すべてのサービス] → [仮想ネットワーク ゲートウェイ] を選択し [追加] をクリックします。
次に、「仮想ネットワークゲートウェイの作成」画面が表示されます。
[サブスクリプション]、[名前]、[地域]、[ゲートウェイの種類]、[SKU]、[世代]、[仮想ネットワーク]、 [パブリック IP アドレス] を設定し [確認および作成] をクリックします。
なお [パブリック IP アドレス] は、作成したパブリック IP アドレスを設定します。
次に、「仮想ネットワークゲートウェイの作成」(確認および作成)画面まで進めます。
設定内容を確認し誤りがなければ [作成] をクリックします。
VPN ゲートウェイの作成には30~40分程度の時間を要します。
VPN ゲートウェイの作成後、P2S を設定します。
作成した VPN ゲートウェイを選択します。
また [設定] → [ポイント対サイトの構成] を選択し [今すぐ構成] をクリックします。
次に、「ポイント対サイトの構成」画面が表示されます。
[アドレス プール]、[トンネルの種類]、[認証の種類]、[ルート証明書] を設定し [保存] をクリックします。
また、設定保存後 [VPN クライアントのダウンロード] をクリックし VPN クライアントのインストーラーをダウンロードします。
パブリック IP の削除
仮想マシンへは VPN 経由で接続することになります。したがって、仮想マシン作成時に作成されたパブリック IP アドレスが不要になるため、そのパブリック IP アドレスを削除いたします。
なお、VPN ゲートウェイ作成時に作成したパブリック IP アドレスとは異なるため注意してください。
仮想マシン作成時に作成されたネットワークインターフェースを選択します。
[設定] → [IP 構成] を選択し、該当する IP 構成をクリックします。
本稿の例では、[ipconfig1] が該当する IP 構成にあたります。
次に、「IP 構成」画面が表示されます。
[パブリック IP アドレス] を [関連付け解除] に変更し [保存] をクリックします。
仮想マシン作成時に指定したリソースグループを選択します。
仮想マシン作成時に作成されたパブリック IP アドレスを削除します。
誤って、VPN ゲートウェイ作成時に作成したパブリック IP アドレスを削除しないように注意します。
以上で、Azure での設定が完了です。
VPN クライアントのインストールと仮想マシンへの接続
Azure での設定が完了したら、続いては、オンプレミスのクライアント側の設定を解説いたします。
「仮想ゲートウェイの作成」でダウンロードした VPN クライアントをインストールします。
VPN クライアントのインストーラーは zip 形式で圧縮されています。
VPN クライアントのインストーラーを解凍すると、複数のインストーラがあります。
そのため、クライアント環境と一致したインストーラーを実行します。
本稿の例では「VpnClientSetupAmd64.exe」を実行します。
次に、VPN クライアントのインストール後「設定」画面を開きます。
[ネットワークとインターネット] → [VPN] を選択します。
インストールされた VPN 接続が表示されるため、VPN 接続を選択し [接続] をクリックします。
次に、「Windows Azure Virtual Network」画面が表示されます。
[接続] をクリックします。
次に、確認ダイアログが表示される場合があります。
確認ダイアログが表示された場合 [続行] をクリックします。
VPN 接続が完了しました。
次に、コマンドプロンプトを表示し IP アドレスを確認します。
Azure の仮想ネットワークに接続できたことが確認できます。
次に、仮想マシン へ RDP を使って接続します。
「仮想マシンの作成」で設定したユーザー名とパスワードを入力し [OK] をクリックします。
仮想マシンへ RDP を使って接続することができました。
まとめ
以上が、P2S VPN の設定と VPN 接続後の Windows 仮想マシンへの RDP を使った接続手順となります。
いかがでしたでしょうか?
ゲートウェイサブネット作成ルールなど、ポイントをおさえておけば簡単に P2S VPN を設定することが可能です。
個人的な検証ではどれほど使い道があるかは不明ですが、個人で回線を契約し ER を設定したり、ネットワーク機器を導入して S2S VPN を設定したりすることは、なかなか難しいと思います。
しかし、P2S VPN であれば手軽に設定できますので、一度、試してみてはいかがでしょうか。
なお、次回は、VPN 接続後に Linux 仮想マシンへ SSH で接続する手順を解説いたします。
最後までお読みいただきありがとうございます。
では。
追伸(料金について)
追伸・・・
無料だとばかり思い込んで、約1日、VPN ゲートウェイを放置していました。
費用が発生していました。
月末の請求書にも・・・
ガッデム!