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 クライアント |
前提条件
この記事では、次の前提条件が既に実行されていることを前提としています。
- VPN ゲートウェイが、ポイント対サイト証明書認証とトンネルの種類 OpenVPN 用に構成されています。 手順については、「P2S VPN Gateway 接続用にサーバー設定を構成する - 証明書認証」を参照してください。
- VPN クライアント プロファイル構成ファイルが生成されており、使用できます。 手順については、「VPN クライアント プロファイル構成ファイルを生成する」を参照してください。
接続の要件
Azure VPN クライアントと証明書認証を使用して Azure に接続するには、接続する各クライアントに次の項目が必要です。
- Azure VPN クライアント ソフトウェアを各クライアントにインストールして構成する必要があります。
- クライアントには、適切な証明書がローカルにインストールされている必要があります。
ワークフロー
基本的なワークフローは次のとおりです。
- クライアント証明書を生成してインストールします。
- 「P2S VPN Gateway 接続用にサーバー設定を構成する - 証明書認証」の記事で生成した VPN クライアント プロファイル構成パッケージを見つけます。
- Linux 用 Azure VPN クライアントをダウンロードして構成します。
- 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 クライアント プロファイルを構成する
Azure VPN クライアントを開きます。
Linux VPN クライアントのページの左下にある [インポート] を選びます。
ウィンドウで azurevpnconfig.xml または azurevpnconfig_cert.xml ファイルを見つけ、それを選んでから [開く] を選びます。
クライアント証明書のパブリック データを追加するには、ファイル ピッカーを使用して、関連する .pem ファイルを見つけます。
クライアント証明書の秘密キーを追加するには、ピッカーを使用し、秘密キーのテキスト ボックスでファイル拡張子が .pem の証明書ファイルのパスを選びます。
インポートが検証 (エラーなしでインポート) されたら、[保存] を選択します。
左ペインで、作成した VPN 接続プロファイルを見つけます。 [接続] を選択します。
クライアントが正常に接続されると、"接続済み" の状態と緑色のアイコンが表示されます。
接続ログの概要は、VPN クライアントのメイン画面の [状態ログ] で確認できます。
Azure VPN クライアントをアンインストールする
Azure VPN クライアントをアンインストールする場合は、ターミナルで次のコマンドを使用します。
sudo apt remove microsoft-azurevpnclient
次のステップ
その他の手順については、P2S Azure portal に関する記事に戻ります。