演習 - Azure VPN ゲートウェイを作成する

完了

パブリック インターネット経由で暗号化されたトンネルを使用して、環境内のクライアントまたはサイトを Azure に接続できるようにする必要があります。 このユニットでは、ポイント対サイト VPN ゲートウェイを作成し、ご利用のクライアント コンピューターからそのゲートウェイに接続します。 セキュリティを確保するために、ネイティブの Azure 証明書の認証接続を使用します。

次のプロセスを実行します。

  1. RouteBased VPN ゲートウェイを作成します。

  2. 認証の目的でルート証明書の公開キーをアップロードします。

  3. ルート証明書からクライアント認定資格証を生成し、その後、認証の目的で仮想ネットワークに接続する各クライアント コンピューターにクライアント認定資格証をインストールします。

  4. クライアントが仮想ネットワークに接続するために必要な情報を含む、VPN クライアント構成ファイルを作成します。

設定

このモジュールを完了するには、ローカルの Windows 10 コンピューターから Azure PowerShell を使用してください。

  1. Azure PowerShell モジュールがインストールされているローカルの Windows 10 コンピューターで、新しい PowerShell セッションを開きます。

  2. PowerShell コマンドレット Connect-AzAccount を実行して Azure にサインインします。

  3. 仮想ネットワークの作成に使用する変数を設定します。 次の変数をコピーし、PowerShell に貼り付けます。

$VNetName  = "VNetData"
$FESubName = "FrontEnd"
$BESubName = "Backend"
$GWSubName = "GatewaySubnet"
$VNetPrefix1 = "192.168.0.0/16"
$VNetPrefix2 = "10.254.0.0/16"
$FESubPrefix = "192.168.1.0/24"
$BESubPrefix = "10.254.1.0/24"
$GWSubPrefix = "192.168.200.0/26"
$VPNClientAddressPool = "172.16.201.0/24"
$ResourceGroup = "VpnGatewayDemo"
$Location = "East US"
$GWName = "VNetDataGW"
$GWIPName = "VNetDataGWPIP"
$GWIPconfName = "gwipconf"

仮想ネットワークを構成する

  1. 次のコマンドを実行して、リソース グループを作成します。

    New-AzResourceGroup -Name $ResourceGroup -Location $Location
    
  2. 次のコマンドを実行して、仮想ネットワークのサブネット構成を作成します。 これらの構成の名前は FrontEnd、BackEndGatewaySubnet です。 これらすべてのサブネットが仮想ネットワークのプレフィックス内に存在します。

    $fesub = New-AzVirtualNetworkSubnetConfig -Name $FESubName -AddressPrefix $FESubPrefix
    $besub = New-AzVirtualNetworkSubnetConfig -Name $BESubName -AddressPrefix $BESubPrefix
    $gwsub = New-AzVirtualNetworkSubnetConfig -Name $GWSubName -AddressPrefix $GWSubPrefix
    
  3. 次に、次のコマンドを実行して、サブネットの値と静的 DNS サーバーを使用する仮想ネットワークを作成します。

    New-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup -Location $Location -AddressPrefix $VNetPrefix1,$VNetPrefix2 -Subnet $fesub, $besub, $gwsub -DnsServer 10.2.1.3
    
  4. ここで、作成したこのネットワークに対する変数を指定します。

    $vnet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name $GWSubName -VirtualNetwork $vnet
    
  5. 次のコマンドを実行して、動的に割り当てられたパブリック IP アドレスを要求します。

    $pip = New-AzPublicIpAddress -Name $GWIPName -ResourceGroupName $ResourceGroup -Location $Location -AllocationMethod Dynamic
    $ipconf = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName -Subnet $subnet -PublicIpAddress $pip
    

VPN ゲートウェイを作成する

この VPN ゲートウェイを作成する場合:

  • GatewayType は Vpn である必要があります
  • VpnType は RouteBased である必要があります

演習のこの部分は、完了までに最大 45 分かかることがあります。

  1. VPN ゲートウェイを作成するには、次のコマンドを実行し、Enter キーを押します。

    New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $ResourceGroup `
    -Location $Location -IpConfigurations $ipconf -GatewayType Vpn `
    -VpnType RouteBased -EnableBgp $false -GatewaySku VpnGw1 -VpnClientProtocol "IKEv2"
    
  2. コマンド出力が表示されるまで待ちます。

VPN クライアント アドレス プールを追加する

  1. 次のコマンドを実行して、VPN クライアント アドレス プールを追加します。

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $ResourceGroup -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway -VpnClientAddressPool $VPNClientAddressPool
    
  2. コマンド出力が表示されるまで待ちます。

クライアント証明書の生成

Azure でネットワーク インフラストラクチャを作成したので、ローカル コンピューターに自己署名入りのクライアント証明書を作成する必要があります。 この作成はほとんどのオペレーティング システムで同じように行うことができますが、ここでは、Azure PowerShell モジュールを備えた PowerShell と Windows 証明書マネージャー ユーティリティを使用して、Windows 10 でクライアント証明書を生成する方法を説明します。

  1. 最初の手順は、自己署名入りのルート証明書を作成することです。 次のコマンドを実行します。

    $cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
    -Subject "CN=P2SRootCert" -KeyExportPolicy Exportable `
    -HashAlgorithm sha256 -KeyLength 2048 `
    -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign
    
  2. 次に、新しいルート証明書によって署名されたクライアント証明書を生成します。

    New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature `
    -Subject "CN=P2SChildCert" -KeyExportPolicy Exportable `
    -HashAlgorithm sha256 -KeyLength 2048 `
    -CertStoreLocation "Cert:\CurrentUser\My" `
    -Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")
    

証明書の公開キーをエクスポートする

証明書を生成したら、ルート証明書の公開キーをエクスポートする必要があります。

  1. PowerShell から certmgr を実行して証明書マネージャーを開きます。

  2. [個人]>[証明書] の順に移動します。

  3. リスト内の [P2SRootCert] 証明書を右クリックし、[すべてのタスク]>[エクスポート] を選択します。

  4. 証明書のエクスポート ウィザードで、[次へ] を選択します。

  5. [いいえ、秘密キーをエクスポートしません] が選択されていることを確認し、[次へ] を選択します。

  6. [エクスポート ファイルの形式] ページで確実に [Base-64 encoded X.509 (.CER)] を選択して、[次へ] を選択します。

  7. [エクスポートするファイル] ページの [ファイル名] で、覚えやすい場所を参照して、P2SRootCert.cer としてファイルを保存してから、[次へ] を選択します。

  8. [認定資格証のエクスポート ウィザードの完了] ページで、[完了] を選択します。

  9. [認定資格証のエクスポート ウィザード] メッセージ ボックスで、[OK] を選択します。

ルート証明書の公開キー情報をアップロードする

  1. PowerShell ウィンドウで、次のコマンドを実行して証明書名の変数を宣言します。

    $P2SRootCertName = "P2SRootCert.cer"
    
  2. <cert-path> プレースホルダーを自分のルート証明書のエクスポート場所に置き換えて、次のコマンドを実行します。

    $filePathForCert = "<cert-path>\P2SRootCert.cer"
    $cert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2($filePathForCert)
    $CertBase64 = [system.convert]::ToBase64String($cert.RawData)
    $p2srootcert = New-AzVpnClientRootCertificate -Name $P2SRootCertName -PublicCertData $CertBase64
    
  3. グループ名を設定したので、次のコマンドを使用して Azure に証明書をアップロードします。

    Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $P2SRootCertName -VirtualNetworkGatewayname $GWName -ResourceGroupName $ResourceGroup -PublicCertData $CertBase64
    

    Azure で、この認定資格証が仮想ネットワークの信頼されたルート証明書としてが認識されるようになります。

ネイティブ VPN クライアントを構成する

  1. 次のコマンドを実行して、VPN クライアント構成ファイルを .ZIP 形式で作成します。

    $profile = New-AzVpnClientConfiguration -ResourceGroupName $ResourceGroup -Name $GWName -AuthenticationMethod "EapTls"
    $profile.VPNProfileSASUrl
    
  2. このコマンドからの出力で返される URL をコピーして、お使いのブラウザーに貼り付けます。 ブラウザーで .ZIP ファイルのダウンロードが開始されます。 アーカイブの内容を抽出し、それらを適切な場所に配置します。

    ブラウザーの中には、最初に危険なダウンロードとしてこの ZIP ファイルのダウンロードをブロックしようとするものもあります。 お使いのブラウザーでアーカイブの内容を抽出できるように、これをオーバーライドする必要があります。

  3. 抽出したフォルダー内で、WindowsAmd64 フォルダー (64 ビット Windows コンピューターの場合) または WindowsX86 フォルダー (32 ビット コンピューターの場合) に移動します。

    Windows 以外のコンピューターで VPN を構成する場合は、Generic フォルダーから認定資格証と設定ファイルを使用することができます。

  4. VpnClientSetup{architecture}.exe ファイルをダブルクリックします。{architecture} はご自分のアーキテクチャを反映します。

  5. [Windows によって PC が保護されました] 画面で、[詳細情報][実行] の順に選択します。

  6. [ユーザー アカウント制御] ダイアログ ボックスで、[はい] を選択します。

  7. [VNetData] ダイアログ ボックスで、[はい] を選択します。

Azure に接続する

  1. Windows キーを押し、「設定」と入力して、キーボードの >Enter キーを押します。

  2. [設定] ウィンドウで、[ネットワークとインターネット] を選択します。

  3. 左側のウィンドウで、[VPN] を選択します。

  4. 右側のウィンドウで、[VNetData][接続] の順に選択します。

  5. [VNetData] ウィンドウで、[接続] を選択します。

  6. 次の [VNetData] ウィンドウで、[続行] を選択します。

  7. [ユーザー アカウント制御] メッセージ ボックスで、[はい] を選択します。

これらの手順でうまくいかないときは、場合によっては、コンピューターを再起動する必要があります。

接続を確認する

  1. Windows のコマンド プロンプトで IPCONFIG /ALL を実行します。

  2. PPP アダプター VNetData の下の IP アドレスをコピーするか、メモしておきます。

  3. IP アドレスが 172.16.201.0/24 の VPNClientAddressPool 範囲内にあることを確認します。

  4. Azure VPN ゲートウェイへの接続が正常に行われました。

VPN ゲートウェイを設定したので、Azure 内の仮想ネットワークへの暗号化されたクライアント接続を行うことができます。 この方法は、クライアント コンピューターと小規模なサイト間の接続に適しています。