ネイティブ Azure 証明書認証の P2S 構成のための VPN クライアント構成ファイルを作成およびインストールする

VPN クライアント構成ファイルは、ZIP ファイルに含まれています。 構成ファイルでは、Windows、Mac IKEv2 VPN、Linux のネイティブ クライアントが、ネイティブ Azure 証明書認証を使用するポイント対サイト接続を介して仮想ネットワークに接続するために必要な設定を提供します。

クライアント構成ファイルは、仮想ネットワークの VPN 構成に固有です。 VPN プロトコルの種類や認証の種類など、VPN クライアント構成ファイルの生成後にポイント対サイト VPN 構成に対する変更があった場合は、ユーザー デバイス用に新しい VPN クライアント構成ファイルを生成してください。

重要

2018 年 7 月 1 日以降、Azure VPN Gateway では TLS 1.0 および 1.1 のサポートが終了します。 VPN Gateway では、TLS 1.2 のみがサポートされるようになります。 影響を受けるのはポイント対サイト接続のみであり、サイト対サイト接続には影響ありません。 Windows 10 クライアント上でポイント対サイト VPN に対して TLS を使用する場合、特に何も行う必要はありません。 Windows 7 および Windows 8 クライアント上でポイント対サイト接続に対して TLS を使用する場合、更新手順については「VPN Gateway に関する FAQ」を参照してください。

VPN クライアント構成ファイルの生成

開始する前に、接続するすべてのユーザーでは、有効な証明書がユーザーのデバイスにインストールされていることを確認してください。 クライアント証明書のインストールの詳細については、クライアント証明書のインストールに関するページを参照してください。

PowerShell または Azure Portal を使用してクライアント構成ファイルを生成することができます。 どちらの方法でも、同じ zip ファイルが返されます。 そのファイルを解凍して、次のフォルダーを表示します。

  • WindowsAmd64 および WindowsX86。Windows の 32 ビットと 64 ビットのインストーラー パッケージがそれぞれに含まれています。 WindowsAmd64 インストーラー パッケージは、Amd だけでなく、サポートされている 64 ビットの Windows クライアントを対象としています。
  • Generic。これには、独自の VPN クライアント構成の作成に使用される全般的な情報が含まれています。 Generic フォルダーが提供されるのは、IKEv2 または SSTP+IKEv2 がゲートウェイ上で構成された場合です。 構成されているのが SSTP のみの場合、Generic フォルダーは存在しません。

Azure Portal を使用してルールを生成する

  1. Azure Portal で、接続する仮想ネットワークの仮想ネットワーク ゲートウェイに移動します。

  2. 仮想ネットワーク ゲートウェイ ページで、 [ポイント対サイトの構成] を選択します。

    VPN クライアントをダウンロードする

  3. [ポイント対サイトの構成] ページの上部で [VPN クライアントのダウンロード] を選択します。 クライアント構成パッケージが生成されるまでに数分かかります。

  4. お使いのブラウザーは、クライアント構成の zip ファイルが使用可能なことを示します。 ゲートウェイと同じ名前が付いています。 そのファイルを解凍して、フォルダーを表示します。

PowerShell を使用してファイルを生成する

  1. VPN クライアント構成ファイルを生成する際、"-AuthenticationMethod" の値は "EapTls" です。 次のコマンドを使用して、VPN クライアント構成ファイルを生成します。

    $profile=New-AzVpnClientConfiguration -ResourceGroupName "TestRG" -Name "VNet1GW" -AuthenticationMethod "EapTls"
    
    $profile.VPNProfileSASUrl
    
  2. ブラウザーに URL をコピーして、zip ファイルをダウンロードし、ファイルを解凍してフォルダーを表示します。

Windows

バージョンがクライアントのアーキテクチャと一致する限り、各 Windows クライアント コンピューターで同じ VPN クライアント構成パッケージを使用できます。 サポートされているクライアント オペレーティング システムの一覧については、「VPN Gateway に関する FAQ」のポイント対サイトに関するセクションを参照してください。

注意

接続元の Windows クライアント コンピューターの管理者権限が必要です。

証明書認証用にネイティブ Windows VPN クライアントを構成するには、次の手順を実行してください。

  1. Windows コンピューターのアーキテクチャに対応する VPN クライアント構成ファイルを選択します。 64 ビットのプロセッサ アーキテクチャの場合は、"VpnClientSetupAmd64" インストーラー パッケージを選択します。 32 ビットのプロセッサ アーキテクチャの場合は、"VpnClientSetupX86" インストーラー パッケージを選択します。
  2. パッケージをダブルクリックしてインストールします。 SmartScreen ポップアップが表示された場合は、 [詳細][実行] の順にクリックしてください。
  3. クライアント コンピューターで [ネットワークの設定] に移動し、 [VPN] をクリックします。 VPN 接続により、その接続先の仮想ネットワークの名前が表示されます。
  4. 接続を試行する前に、クライアント コンピューターにクライアント証明書をインストール済みであることを確認します。 ネイティブ Azure 証明書の認証タイプを使用する場合、認証にはクライアント証明書が必要です。

Mac (OS X)

Azure に接続するすべての Mac で、ネイティブの IKEv2 VPN クライアントを手動で構成する必要があります。 Azure では、ネイティブの Azure 証明書の認証用の mobileconfig ファイルは提供されません。 Generic には、構成に必要な情報がすべて揃っています。 ダウンロードに、Generic フォルダーが表示されない場合は、IKEv2 がトンネルの種類として選択されていない可能性があります。 VPN Gateway Basic SKU は IKEv2 をサポートしていないことに注意してください。 IKEv2 を選択したら、もう一度 zip ファイルを生成して、Generic フォルダーを取得します。
Generic フォルダーには、次のファイルが含まれています。

  • VpnSettings.xml。サーバー アドレスやトンネルの種類など、重要な設定が含まれています。
  • VpnServerRoot.cer。P2S 接続の設定中に Azure VPN ゲートウェイを検証するために必要なルート証明書が含まれています。

証明書認証用に Mac 上でネイティブ VPN クライアントを構成するには、次の手順を実行してください。 Azure に接続するすべての Mac でこれらの手順を完了する必要があります。

  1. VpnServerRoot ルート証明書を Mac にインポートします。 これを行うには、ファイルを Mac にコピーしてダブルクリックします。 [追加] を選択してインポートします。

    [証明書] ページを示すスクリーンショット

    注意

    証明書をダブルクリックしても、 [追加] ダイアログが表示されない場合がありますが、証明書は正しいストアにインストールされています。 証明書のカテゴリの下にあるログイン キーチェーンで証明書を確認できます。

  2. P2S 設定を構成したときに、Azure にアップロードしたルート証明書によって発行されたクライアント証明書が、インストール済みであることを確認します。 これは、前の手順でインストールした VPNServerRoot とは異なります。 クライアント証明書は認証に使用され、必須です。 証明書の生成の詳細については、「証明書の生成」をご覧ください。 クライアント証明書のインストール方法については、クライアント証明書のインストールに関するページをご覧ください。

  3. [ネットワーク] ダイアログを開き、 [ネットワーク環境設定][+] を選択して、Azure 仮想ネットワークへの P2S 接続用に新しい VPN クライアント接続プロファイルを作成します。

    [インターフェイス] の値は "VPN"、 [VPN タイプ] の値は "IKEv2" です。 [サービス名] フィールドにプロファイルの名前を指定し、 [作成] を選択して VPN クライアント接続プロファイルを作成します。

    スクリーンショットには [ネットワーク] ウィンドウが表示され、インターフェイス、VPN の種類の選択、サービス名の入力オプションが表示されています

  4. Generic フォルダーの VpnSettings.xml ファイルから、VpnServer タグの値をコピーします。 この値をプロファイルの [サーバー アドレス] フィールドと [リモート ID] フィールドに貼り付けます。

    サーバー情報を示すスクリーンショット。

  5. [認証設定] を選択し、 [証明書] を選択します。 Catalina の場合は、 [なし] を選択し、 [証明書] を選択します。

    認証設定を示すスクリーンショット。

    Catalina の場合は、 [None](なし) を選択し、 [Certificate](証明書) を選択します。 正しい証明書を 選択 してください。

    スクリーンショットには [ネットワーク] ウィンドウが表示され、[認証設定] に [なし] が選択され、[証明書] が選択されています。

  6. [選択] をクリックして、 認証に使用するクライアント証明書を選択します。 これは、手順 2 でインストールした証明書です。

    スクリーンショットには [ネットワーク] ウィンドウに [認証設定] が表示され、ここで証明書を選択できます。

  7. [Choose An Identity](ID の選択) では、選択できる証明書の一覧が表示されます。 適切な証明書を選択し、 [続ける] を選択します。

    [Choose An Identity]\(ID の選択\) ダイアログ ボックスのスクリーンショット。適切な証明書を選択できます。

  8. [ローカル ID] フィールドに、(手順 6 の) 証明書の名前を指定します。 この例では ikev2Client.com です。 次に、 [適用] を選択して変更を保存します。

    [適用] を示すスクリーンショット。

  9. [ネットワーク] ダイアログで、 [適用] を選択して、すべての変更を保存します。 次に、 [接続] を選択して、Azure 仮想ネットワークへの P2S 接続を開始します。

Linux (strongSwan GUI)

strongSwan のインストール

以下の手順では、次の構成を使用しました。

  • コンピューター:Ubuntu Server 18.04
  • 依存関係: strongSwan

次のコマンドを使用して、必要な strongSwan 構成をインストールします。

sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins

次のコマンドを使用して、Azure コマンド ライン インターフェイスをインストールします。

curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

Azure CLI のインストール方法の詳細

証明書の生成

まだ証明書を生成していない場合は、次の手順を使用します。

キーと証明書を生成します。

ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem

CA 証明書 を base64 形式で印刷します。 これは Azure でサポートされている形式です。 この証明書は、P2S 構成手順の一部として Azure にアップロードします。

openssl x509 -in caCert.pem -outform der | base64 -w0 ; echo

ユーザー証明書を生成します。

export PASSWORD="password"
export USERNAME="client"

ipsec pki --gen --outform pem > "${USERNAME}Key.pem"
ipsec pki --pub --in "${USERNAME}Key.pem" | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "CN=${USERNAME}" --san "${USERNAME}" --flag clientAuth --outform pem > "${USERNAME}Cert.pem"

ユーザー証明書を収納している p12 バンドルを生成します。 このバンドルは、クライアント構成ファイルと連携する場合に、次の手順で使用されます。

openssl pkcs12 -in "${USERNAME}Cert.pem" -inkey "${USERNAME}Key.pem" -certfile caCert.pem -export -out "${USERNAME}.p12" -password "pass:${PASSWORD}"

インストールと構成

次の手順は、Ubuntu 18.0.4 上で作成されました。 Ubuntu 16.0.10 は、strongSwan GUI をサポートしていません。 Ubuntu 16.0.10 を使う場合は、コマンド ラインを使う必要があります。 Linux および strongSwan のバージョンによっては、次に示す例が実際に表示される画面と一致しない可能性があります。

  1. [ターミナル] を起動し、例のコマンドを実行して strongSwan とその Network Manager をインストールします。

    sudo apt install network-manager-strongswan
    
  2. [Settings](設定)[Network](ネットワーク) の順に選択します。 + ボタンを選択して、新しい接続を作成します。

    [ネットワーク接続] ページを示すスクリーンショット。

  3. メニューから [IPsec/IKEv2 (strongswan)] を選び、ダブルクリックします。

    [VPN の追加] ページを示すスクリーンショット。

  4. [VPN の追加] ページで、VPN 接続の名前を追加します。

    接続の種類の選択を示すスクリーンショット。

  5. ダウンロード クライアント構成ファイルに含まれる Generic フォルダーから VpnSettings.xml ファイルを開きます。 VpnServer というタグを検索して、"azuregateway" で始まり ".cloudapp.net" で終わる名前をコピーします。

    データのコピーを示すスクリーンショット。

  6. この名前を、 [ゲートウェイ] セクションの、新しい VPN 接続の [アドレス] フィールドに貼り付けます。 次に、 [証明書] フィールドの最後のフォルダー アイコンを選択して、Generic フォルダーに移動し、VpnServerRoot ファイルを選択します。

  7. 接続の [クライアント] セクションの [認証] で、 [Certificate/private key](証明書/秘密キー) を選びます。 [証明書][秘密キー] で、前に作成した証明書および秘密キーを選びます。 [オプション] で、 [Request an inner IP address](内部 IP アドレスを要求する) をオンにします。 その後、 [追加] を選択します。

    [内部 IP アドレスを要求する] を示すスクリーンショット。

  8. 接続を [On](オン) にします。

    コピーを示すスクリーンショット。

Linux (strongSwan CLI)

strongSwan のインストール

以下の手順では、次の構成を使用しました。

  • コンピューター:Ubuntu Server 18.04
  • 依存関係: strongSwan

次のコマンドを使用して、必要な strongSwan 構成をインストールします。

sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins

次のコマンドを使用して、Azure コマンド ライン インターフェイスをインストールします。

curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

Azure CLI のインストール方法の詳細

証明書の生成

まだ証明書を生成していない場合は、次の手順を使用します。

キーと証明書を生成します。

ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem

CA 証明書 を base64 形式で印刷します。 これは Azure でサポートされている形式です。 この証明書は、P2S 構成手順の一部として Azure にアップロードします。

openssl x509 -in caCert.pem -outform der | base64 -w0 ; echo

ユーザー証明書を生成します。

export PASSWORD="password"
export USERNAME="client"

ipsec pki --gen --outform pem > "${USERNAME}Key.pem"
ipsec pki --pub --in "${USERNAME}Key.pem" | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "CN=${USERNAME}" --san "${USERNAME}" --flag clientAuth --outform pem > "${USERNAME}Cert.pem"

ユーザー証明書を収納している p12 バンドルを生成します。 このバンドルは、クライアント構成ファイルと連携する場合に、次の手順で使用されます。

openssl pkcs12 -in "${USERNAME}Cert.pem" -inkey "${USERNAME}Key.pem" -certfile caCert.pem -export -out "${USERNAME}.p12" -password "pass:${PASSWORD}"

インストールと構成

  1. Azure portal から VPNClient パッケージをダウンロードします。

  2. ファイルを展開します。

  3. VpnServerRoot.cerGeneric フォルダーから /etc/ipsec.d/cacerts にコピーするか移動します。

  4. cp client.p12/etc/ipsec.d/private/ にコピーするか移動します。 このファイルは、VPN ゲートウェイのクライアント証明書です。

  5. VpnSettings.xml ファイルを開き、<VpnServer> の値をコピーします。 次の手順でこの値を使用します。

  6. 下のサンプルの値を調整し、 /etc/ipsec.conf 構成にこのサンプルを追加します。

    conn azure
          keyexchange=ikev2
          type=tunnel
          leftfirewall=yes
          left=%any
          leftauth=eap-tls
          leftid=%client # use the DNS alternative name prefixed with the %
          right= Enter the VPN Server value here# Azure VPN gateway address
          rightid=% # Enter the VPN Server value here# Azure VPN gateway FQDN with %
          rightsubnet=0.0.0.0/0
          leftsourceip=%config
          auto=add
    
  7. 次の値を /etc/ipsec.secrets に追加します。

    : P12 client.p12 'password' # key filename inside /etc/ipsec.d/private directory
    
  8. 次のコマンドを実行します。

    # ipsec restart
    # ipsec up azure
    

次のステップ

作業元の記事に戻り、P2S の構成を完了します。