Azure ポイント対サイト(P2S)VPN作成とクライアント接続

構成

全体の流れ

Step1:仮想ネットワーク(Vnet)の作成

Step2:VPN Gatewayの作成

Step3:ルート証明書の発行

Step4:クライアント証明書の発行

Step5:公開証明書データ登録

Step6:クライアントに証明書の配置

Step7:クライアント接続

仮想ネットワーク(Vnet)の作成

Azureポータルトップページより「仮想ネットワーク」で検索、「作成」を押す

 

①プロジェクトの詳細で [サブスクリプション]、[リソースグループ] を選択する

インスタンスの詳細で「名前」を入力し、「地域」を選択する

③[次:IPアドレス>]を押す

 

[次:セキュリティ>]を押す

既定値では、IPv4アドレス空間は[10.0.0.0/16]となり、必要に応じて指定も可能

 

[確認および作成]を押す。

※既定では[]、[DDoS Protection Standard]、[ファイアウォール]無効化である。必要に応じて有効化設定も可能

※必要に応じてタグを作成する。本手順では割愛する。

 

[検証に成功しました] マークが表示されると、[作成]を押す

 

VPN Gatewayの作成

Azureポータルトップページより「仮想ネットワーク ゲートウェイ」で検索、「作成」を押す

 

①プロジェクトの詳細で [サブスクリプション]、[リソースグループ] を選択する

 インスタンスの詳細で [名前] を入力し、[地域] を選択する

 ゲートウェイの種類を [VPN]、VPNの種類を [ルートベース] 選択する

 SKUを [Basic]、世帯を[Generation1]選択する

 ※各料金プラン:VPN Gateway の価格 | Microsoft Azure

 仮想ネットワークで、Step1で新規作成の仮想ネットワーク(Vnet)を選択する

 ゲートウェイサブネットのアドレス範囲を指定する

②パブリックアドレスを[新規作成]選択し、パブリックアドレス名を指定する

 最後にアクティブモードとBGPの構成を既定値の[無効]にする

③[確認および作成]を押して、設定を完了する


[作成]ボタンを押して、仮想ネットワークゲートウェイの作成を完了する

※デプロイが完了まで数十分が必要

 

対象リソースグループから、新規作成のVPN Gatewayを開き、左側の[設定] - [ポイント対サイトの構成]を選択し、[いますぐ構成]を押す

 

アドレスプールを指定し、[保存]を押す

※この時点ではポイント対サイト(P2S)の構成は未完了、後続のルート証明書の発行手順が完了次第、このP2S構成画面より、公開証明書データの登録も必要となる


ルート証明書の発行

作業用端末にて、「makecert.exe」をダウンロードし、解凍する

 

[管理者として実行]でコマンドプロンプトを起動し、以下のコマンドを実行する:

makecert.exe -sky exchange -r -n “CN=<CertName>-RootCert” -pe -a sha256 -len 2048 -ss My

 

証明書発行結果の確認

Windows [スタート]メニューを右クリック、 [ファイル名を指定して実行]を選択、[certmgr.msc]を入力し、OKを押す。

 

証明書管理画面を開き、[証明書 - 現在のユーザー] - [個人] - [証明書]を開き、配下に上記のコマンドで発行された<CertName>-RootCert名前のルート証明書が格納されていることを確認する

 

ルート証明書のエクスポート

ルート証明書の情報を”P2Sゲートウェイ”に公開証明書データ登録とクライアントに配置するため、エクスポートが必要。

証明書管理画面を開き、[証明書 - 現在のユーザー] - [個人] - [証明書]を開き、発行されたルート証明書を右クリック - [すべてのタスク] - [エクスポート]を選択する。

 

[次へ]を押す

 

[いいえ、秘密キーをエクスポートしません]を選択し、[次へ]を押す

 

[Base 64 encoded X.509(.CER)]を選択し、[次へ]を押す

 

[参照]でエクスポートされた証明書の保存先を選択し、[次へ]を押す

 

[完了]を押す

 

[OK]を押す

 

保存先フォルダを開き、エクスポートされたルート証明書が格納されることを確認する

ルート証明書を右クリックし、メモ帳で開く

 

ルート証明書データをコピーし、後続の [公開証明書データ登録] 手順で使用する

 

クライアント証明書の発行

作業用端末にて、「makecert.exe」をダウンロードし、解凍する

 

[管理者として実行]でコマンドプロンプトを起動し、以下のコマンドを実行する:
makecert.exe -n “CN=<ClientName>” -pe -sky exchange -m 96 -ss My -in “<CertName>-RootCert” -is my -a sha256

※<CertName>はルート証明書の名前を指定する

 

証明書発行結果の確認

ルート証明書発行結果の確認手順を参照

 

クライアント証明書のエクスポート

※クライアントに配置するため、エクスポートが必要

 

証明書一覧を表示する
Get-ChildItem -path Cert:\CurrentUser\My

 

証明書のエクスポート
certutil -exportPFX -p "password>" -user my "<Thumbprint>" "c:\Client.pfx"

※後続インポート時にパスワードを聞かれると、エクスポート時のパスワードを入力

例:)

Cドライブの直下に[Client.pfx] 証明書がエクスポートされているのを確認する

 

公開証明書データ登録

Step2で作成されたVPN Gatewayを開き、左側の[設定] - [ポイント対サイトの構成]を選択し、[ルート証明書]の名前と公開証明書データを貼り付けて、[保存]を押す

※名前は発行されたルート証明書の名前

 公開証明書データはStep3ルート証明書発行の最後にコピーした証明書データを貼付

 

 

 

クライアントに証明書の配置

AzureVPNを利用する各ユーザー端末に、Step3と4で発行されたクライアント&ルート証明書の配置が必要。

①クライアント証明書の配置(インポート)

ポイント対サイトのクライアント証明書のインストール - Azure VPN Gateway | Microsoft Docs

※証明書ストアは、現在のユーザーの「個人」 ストアを選択する

 

ルート証明書の配置

上記同じ手順でルート証明書を配置する

ルート証明書の配置場所も現在のユーザーの「個人」 ストアとなる

 

クライアント接続

Step2で作成されたVPN Gatewayを開き、左側の[設定] - [ポイント対サイトの構成]を選択し、[VPNクライアントのダウンロード]を押す

 

ダウンロードされたZIPファイルを解凍し、クライアント端末のビット数に合わせたインストーラを選択し、インストールを行う。例として、64ビット端末で実施する

インストールが終わったら、Windows スタートメニューから、[設定]を押す

 

[ネットワークとインターネット]を選択する

 

[VPN]を選択する

 

対象VPNを選択し、[接続]を押す

 

[接続]を押す

 

[続行]を押す

 

[OK]を押す

 

VPN接続済みのステータスを確認する

クライアント端末にて、コマンドプロンプトを開き、ipconfig /all コマンドを実行

Vnetから振られているIPアドレスを確認する

 

Step2で作成されたVPN Gatewayを開き、左側の[設定] - [ポイント対サイトの構成]を選択し、[割り当て済みIPアドレス] は、上記クライアント端末から確認されたIPと一致することを確認することも可能

 

まとめ

同じ拠点に属しないクライアント端末をVnetで繋がり、

異なる拠点や地域に所属するクライアント間のリモートデスクトップ操作にも可能。

ルータやアクセスポイントなどネットワーク機器にポートを開く(ポート フォワーディングと呼ばれる)方法にも対応可能だが、セキュリティリスクが高まるため、一般的にお薦めしない。そこで、今回ご紹介のAzure ポイント対サイト(P2S)VPNで安全性を保ちつつ、異なる地域に所属するクライアント端末間のリモートデスクトップ操作を実現する。

 

<参考>

P2S VPN と証明書認証を使用して VNet に接続する: ポータル - Azure VPN Gateway | Microsoft Docs

P2S 用の証明書を生成してエクスポートする: PowerShell - Azure VPN Gateway | Microsoft Docs

ポイント対サイトのクライアント証明書のインストール - Azure VPN Gateway | Microsoft Docs

 

トラブルシューティング

Azure ポイント対サイト接続の問題のトラブルシューティング - Azure VPN Gateway | Microsoft Docs