Azure VPN クライアントを構成する - 証明書認証 OpenVPN - Linux (プレビュー)

この記事では、VPN Gateway ポイント対サイト (P2S) 証明書認証を使用して、Linux 用 Azure VPN クライアントから Azure 仮想ネットワーク (VNet) に接続する方法について説明します。 Linux 用 Azure VPN クライアントには、OpenVPN トンネルの種類が必要です。

Linux 用 Azure VPN クライアントは他の Linux ディストリビューションやリリースで動作する可能性もありますが、Linux 用 Azure VPN クライアントは次のリリースでのみサポートされています。

  • Ubuntu 20.04
  • Ubuntu 22.04

開始する前に

正しい記事が表示されていることを確認します。 次の表は、Azure VPN Gateway P2S VPN クライアントで使用できる構成記事を示しています。 手順は、認証の種類、トンネルの種類、クライアント OS によって異なります。

認証 トンネルの種類 クライアントの OS VPN client
証明書
IKEv2、SSTP Windows ネイティブ VPN クライアント
IKEv2 macOS ネイティブ VPN クライアント
IKEv2 Linux strongSwan
OpenVPN Windows Azure VPN クライアント
OpenVPN クライアント バージョン 2.x
OpenVPN クライアント バージョン 3.x
OpenVPN macOS OpenVPN クライアント
OpenVPN iOS OpenVPN クライアント
OpenVPN Linux Azure VPN クライアント
OpenVPN クライアント
Microsoft Entra ID
OpenVPN Windows Azure VPN クライアント
OpenVPN macOS Azure VPN クライアント
OpenVPN Linux Azure VPN クライアント

前提条件

この記事では、次の前提条件が既に実行されていることを前提としています。

接続の要件

Azure VPN クライアントと証明書認証を使用して Azure に接続するには、接続する各クライアントに次の項目が必要です。

  • Azure VPN クライアント ソフトウェアを各クライアントにインストールして構成する必要があります。
  • クライアントには、適切な証明書がローカルにインストールされている必要があります。

ワークフロー

基本的なワークフローは次のとおりです。

  1. クライアント証明書を生成してインストールします。
  2. P2S VPN Gateway 接続用にサーバー設定を構成する - 証明書認証」の記事で生成した VPN クライアント プロファイル構成パッケージを見つけます。
  3. Linux 用 Azure VPN クライアントをダウンロードして構成します。
  4. Azure に接続します。

証明書の生成

証明書認証の場合は、1 つのクライアント証明書を各クライアント コンピューターにインストールする必要があります。 使用するクライアント証明書は秘密キーを含めてエクスポートし、証明書パスにすべての証明書が含まれている必要があります。 さらに、一部の構成では、ルート証明書情報もインストールする必要があります。

次のコマンドを使用して、クライアントの公開証明書データと秘密キーを .pem 形式で生成します。 コマンドを実行するには、公開ルート証明書 caCert.pem とルート証明書の秘密キー caKey.pem が必要です。 詳細については、「証明書の生成とエクスポート - Linux - OpenSSL」を参照してください。

export PASSWORD="password"
export USERNAME=$(hostnamectl --static)
 
# Generate a private key
openssl genrsa -out "${USERNAME}Key.pem" 2048 
 
# Generate a CSR
openssl req -new -key "${USERNAME}Key.pem" -out "${USERNAME}Req.pem" -subj "/CN=${USERNAME}" 
 
# Sign the CSR using the CA certificate and key
openssl x509 -req -days 365 -in "${USERNAME}Req.pem" -CA caCert.pem -CAkey caKey.pem -CAcreateserial -out "${USERNAME}Cert.pem" -extfile <(echo -e "subjectAltName=DNS:${USERNAME}\nextendedKeyUsage=clientAuth")

VPN クライアント プロファイル構成ファイルを表示する

VPN クライアント プロファイル構成パッケージを生成してダウンロードすると、VPN クライアントに必要なすべての構成設定が、VPN クライアント プロファイル構成 ZIP ファイルに含まれています。 VPN クライアント プロファイル構成ファイルは、仮想ネットワークの P2S VPN ゲートウェイ構成に特化しています。 ファイルを生成した後に、P2S VPN 構成に変更があった場合は (VPN プロトコルの種類や認証の種類の変更など)、新しい VPN クライアント プロファイル構成ファイルを生成し、接続するすべての VPN クライアントに新しい構成を適用する必要があります。

生成してダウンロードした VPN クライアント プロファイル構成パッケージを見つけて解凍します (前提条件にリストされています)。 AzureVPN フォルダーを開きます。 P2S の構成に複数の認証の種類が含まれるかどうかに応じて、このフォルダーには azurevpnconfig_cert.xml ファイルまたは azurevpnconfig.xml ファイルがあります。 .xml ファイルには、VPN クライアント プロファイルの構成に使用する設定が含まれています。

どちらのファイルも表示されない場合、または AzureVPN フォルダーがない場合は、VPN ゲートウェイが OpenVPN トンネルの種類を使用するように構成されており、証明書認証が選択されていることを確認します。

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

次のコマンドを使用して、Microsoft リポジトリ一覧を追加し、Linux 用 Azure VPN クライアントをインストールします。

# install curl utility
sudo apt-get install curl

# Install Microsoft's public key
curl -sSl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc

# Install the production repo list for focal
# For Ubuntu 20.04
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft-ubuntu-focal-prod.list

# Install the production repo list for jammy
# For Ubuntu 22.04
curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft-ubuntu-jammy-prod.list

sudo apt-get update

sudo apt-get install microsoft-azurevpnclient

リポジトリの詳細については、「Microsoft 製品の Linux ソフトウェア リポジトリ」を参照してください。

Azure VPN クライアント プロファイルを構成する

  1. Azure VPN クライアントを開きます。

  2. Linux VPN クライアントのページの左下にある [インポート] を選びます。

    [インポート] がある Linux 用 Azure VPN クライアントのスクリーンショット。

  3. ウィンドウで azurevpnconfig.xml または azurevpnconfig_cert.xml ファイルを見つけ、それを選んでから [開く] を選びます。

  4. クライアント証明書のパブリック データを追加するには、ファイル ピッカーを使用して、関連する .pem ファイルを見つけます。

    クライアント証明書データが選択されている Linux 用 Azure VPN クライアントのスクリーンショット。

  5. クライアント証明書の秘密キーを追加するには、ピッカーを使用し、秘密キーのテキスト ボックスでファイル拡張子が .pem の証明書ファイルのパスを選びます。

  6. インポートが検証 (エラーなしでインポート) されたら、[保存] を選択します。

  7. 左ペインで、作成した VPN 接続プロファイルを見つけます。 [接続] を選択します。

    Linux 用 Azure VPN クライアントの [接続] のスクリーンショット。

  8. クライアントが正常に接続されると、"接続済み" の状態と緑色のアイコンが表示されます。

    クライアントが

  9. 接続ログの概要は、VPN クライアントのメイン画面の [状態ログ] で確認できます。

    クライアントの状態ログが表示されている Linux 用 Azure VPN クライアントのスクリーンショット。

Azure VPN クライアントをアンインストールする

Azure VPN クライアントをアンインストールする場合は、ターミナルで次のコマンドを使用します。

sudo apt remove microsoft-azurevpnclient

次のステップ

その他の手順については、P2S Azure portal に関する記事に戻ります。