Azure ポイント対サイト(P2S)VPN作成とクライアント接続
構成
全体の流れ
Step1:仮想ネットワーク(Vnet)の作成
Step3:ルート証明書の発行
Step4:クライアント証明書の発行
Step5:公開証明書データ登録
Step6:クライアントに証明書の配置
Step7:クライアント接続
仮想ネットワーク(Vnet)の作成
Azureポータルトップページより「仮想ネットワーク」で検索、「作成」を押す
①プロジェクトの詳細で [サブスクリプション]、[リソースグループ] を選択する
②インスタンスの詳細で「名前」を入力し、「地域」を選択する
③[次:IPアドレス>]を押す
[次:セキュリティ>]を押す
既定値では、IPv4アドレス空間は[10.0.0.0/16]となり、必要に応じて指定も可能
[確認および作成]を押す。
※既定では[]、[DDoS Protection Standard]、[ファイアウォール]無効化である。必要に応じて有効化設定も可能
※必要に応じてタグを作成する。本手順では割愛する。
[検証に成功しました] マークが表示されると、[作成]を押す
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