P2S 証明書認証接続用の OpenVPN Connect 3.x クライアントを構成する - Windows
ポイント対サイト (P2S) VPN ゲートウェイが OpenVPN と証明書認証を使うように構成されている場合は、OpenVPN クライアントを使って仮想ネットワークに接続できます。 この記事では、OpenVPN Connect クライアント 3.x を構成し、仮想ネットワークに接続する手順について説明します。 OpenVPN 2.x クライアントと OpenVPN Connect 3.x クライアントには、いくつかの構成の違いがあります。 この記事では、OpenVPN Connect 3.x クライアントに焦点を当てます。
開始する前に
クライアント構成の手順を開始する前に、VPN クライアント構成に関する記事を参照していることを確認します。 次の表は、VPN Gateway ポイント対サイト 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 クライアント |
Note
OpenVPN クライアントは独立して管理されており、Microsoft の管理下にはありません。 これは、Microsoft はそのコード、ビルド、ロードマップ、法的側面を監視しないことを意味します。 利用者は、OpenVPN クライアントでバグや問題に直面した場合、OpenVPN Inc. のサポートに直接問い合わせる必要があります。 この記事のガイドラインは "保証なしで" 提供されているものであり、OpenVPN Inc. による検証を受けたものではありません。これらは、クライアントに既に慣れており、ポイント対サイト VPN のセットアップで Azure VPN Gateway に接続するためにクライアントを使用したいと考えている利用者を支援するためのものです。
前提条件
この記事では、次の前提条件が既に実行されていることを前提としています。
- ポイント対サイト証明書認証と OpenVPN トンネルの種類用に VPN ゲートウェイを作成して構成しました。 手順については、「P2S VPN Gateway 接続用にサーバー設定を構成する - 証明書認証」を参照してください。
- VPN クライアント構成ファイルを生成し、ダウンロードした。 手順については、「VPN クライアント プロファイル構成ファイルを生成する」を参照してください。
- クライアント証明書を生成できる、または認証に必要な適切なクライアント証明書を取得できる。
接続の要件
証明書認証を使用する OpenVPN Connect 3.x クライアントを使用して Azure に接続するには、各接続クライアント コンピューターで以下のことが必要となります。
- 各クライアント コンピューターに OpenVPN Connect クライアント ソフトウェアをインストールして構成する必要があります。
- クライアント コンピューターには、ローカルにインストールされているクライアント証明書が必要です。
- 証明書チェーンに中間証明書が含まれている場合は、まず「中間証明書」セクションを参照して、この証明書チェーンをサポートするように P2S VPN ゲートウェイ構成が設定されていることを確認してください。 3.x クライアントの証明書認証の動作は、クライアント プロファイル内で中間証明書を指定できた以前のバージョンとは異なります。
ワークフロー
この記事のワークフローは次のとおりです。
- まだ行っていない場合は、クライアント証明書を生成し、インストールします。
- 生成した VPN クライアント プロファイル構成パッケージに含まれる VPN クライアント プロファイル構成ファイルを表示します。
- OpenVPN Connect クライアントを構成します。
- Azure に接続します。
クライアント証明書を生成してインストールする
証明書認証の場合は、1 つのクライアント証明書を各クライアント コンピューターにインストールする必要があります。 使用するクライアント証明書は秘密キーを含めてエクスポートし、証明書パスにすべての証明書が含まれている必要があります。 さらに、一部の構成では、ルート証明書情報もインストールする必要があります。
多くの場合、クライアント証明書をダブルクリックして、クライアント コンピューターに直接インストールできます。 ただし、一部の OpenVPN クライアント構成では、構成を完了するためにクライアント証明書から情報を抽出することが必要な場合があります。
- 証明書の操作の詳細については、ポイント対サイトの証明書生成に関するページを参照してください。
- インストールされたクライアント証明書を表示するには、[ユーザー証明書の管理] を開きます。 クライアント証明書は、現在のユーザー\Personal\Certificates にインストールされます。
クライアント証明書のインストール
各コンピューターには、認証のためにクライアント証明書が必要です。 クライアント証明書がまだローカル コンピューターにインストールされていない場合は、次の手順を使用してインストールできます。
- クライアント証明書を見つけます。 クライアント証明書の詳細については、「クライアント証明書のインストール」を参照してください。
- クライアント証明書をインストールします。 通常は、証明書ファイルをダブルクリックし、(必要に応じて) パスワードを指定すると、これを行うことができます。
構成ファイルを表示する
VPN クライアント プロファイル構成パッケージには、特定のフォルダーが含まれています。 フォルダー内のファイルには、クライアント コンピューターで VPN クライアント プロファイルを構成するために必要な設定が含まれています。 このファイルとそれに含まれる設定は、VPN ゲートウェイと、VPN ゲートウェイで使用するように設定されている認証とトンネルの種類に固有のものです。
生成した VPN クライアント プロファイル構成パッケージを見つけて解凍します。 証明書認証と OpenVPN については、OpenVPN フォルダーを確認する必要があります。 フォルダーが表示されない場合は、次の項目を確認します。
- OpenVPN トンネルの種類を使用するように VPN ゲートウェイが構成されていることを確認します。
- Microsoft Entra ID 認証を使用している場合は、OpenVPN フォルダーがない場合があります。 代わりに、 Microsoft Entra ID の構成に関する記事を参照してください。
クライアントの構成
公式の OpenVPN Web サイトから OpenVPN クライアント バージョン 3.x をダウンロードしてインストールします。
ユーザーが生成してコンピューターにダウンロードした VPN クライアント プロファイル構成パッケージを見つけます。 パッケージを抽出します。 OpenVPN フォルダーに移動し、メモ帳を使用して vpnconfig.ovpn 構成ファイルを開きます。
次に、作成した子証明書を見つけます。 証明書がない場合は、次のいずれかのリンクを使用して証明書をエクスポートする手順を実行します。 この証明書情報は、次の手順で必要になります。
- VPN Gateway の手順
- Virtual WAN の手順
子証明書から、秘密キーと base64 のサムプリントを .pfx から抽出します。 これを行うには複数の方法があります。 1 つの方法として、コンピューター上で OpenSSL を使用します。 profileinfo.txt ファイルには、CA およびクライアント証明書の秘密キーとサムプリントが含まれています。 必ず、クライアント証明書のサムプリントを使用してください。
openssl pkcs12 -in "filename.pfx" -nodes -out "profileinfo.txt"
メモ帳で開かれている vpnconfig.ovpn ファイルに切り替えます。 次の例に示すように、
$CLIENT_CERTIFICATE
、$ROOT_CERTIFICATE
の値を取得して、<cert>
と</cert>
の間のセクションに入力します。# P2S client certificate # please fill this field with a PEM formatted cert <cert> $CLIENT_CERTIFICATE $ROOT_CERTIFICATE </cert>
- 前の手順の profileinfo.txt をメモ帳で開きます。 それぞれの証明書は、
subject=
行を見て識別できます。 たとえば、子の証明書が P2SChildCert という名称である場合、subject=CN = P2SChildCert
属性の後にあるのがクライアント証明書です。 - チェーンの証明書ごとに、"-----BEGIN CERTIFICATE-----" から "-----END CERTIFICATE-----" までのテキスト (これらの文字列を含む) をコピーします。
- 前の手順の profileinfo.txt をメモ帳で開きます。 それぞれの証明書は、
メモ帳で profileinfo.txt を開きます。 秘密キーを取得するには、"-----BEGIN PRIVATE KEY-----" および "-----END PRIVATE KEY-----" (とその間の) テキストを選択してコピーします。
メモ帳の vpnconfig.ovpn ファイルに戻って、このセクションを見つけます。 秘密キーを貼り付けて、
<key>
と</key>
の間をすべて置き換えます。# P2S client root certificate private key # please fill this field with a PEM formatted key <key> $PRIVATEKEY </key>
"log openvpn.log" 行をコメント アウトします。 これがコメント アウトされていない場合、OpenVPN クライアントは、ログがサポートされていないオプションであることを報告します。 ログ行をコメント アウトする方法の例については、「ユーザー プロファイルの例」を参照してください。 ログ行をコメント アウトしても、ログには OpenVPN クライアント インターフェイス経由でアクセスできます。 アクセスするには、クライアント UI の右上隅にあるログ アイコンをクリックします。 ログは OpenVPN クライアントによって制御されるため、Microsoft は、利用者が OpenVPN 接続のドキュメントでログ ファイルの場所を確認することを推奨しています。
その他のフィールドは変更しないでください。 クライアント入力に入力された構成を使用して VPN に接続します。
OpenVPN クライアントに vpnconfig.ovpn ファイルをインポートします。
システム トレイの OpenVPN アイコンを右クリックし、[接続] をクリックします。
ユーザー プロファイルの例
次の例は、3.x OpenVPN Connect クライアントのユーザー プロファイル構成ファイルを示しています。 この例では、コメント アウトされたログ ファイルと、クライアントにトラフィックが送信されていないことが原因の定期的な再接続を防ぐために追加された "ping-restart 0" オプションを示しています。
client
remote <vpnGatewayname>.ln.vpn.azure.com 443
verify-x509-name <IdGateway>.ln.vpn.azure.com name
remote-cert-tls server
dev tun
proto tcp
resolv-retry infinite
nobind
auth SHA256
cipher AES-256-GCM
persist-key
persist-tun
tls-timeout 30
tls-version-min 1.2
key-direction 1
#log openvpn.log
#inactive 0
ping-restart 0
verb 3
# P2S CA root certificate
<ca>
-----BEGIN CERTIFICATE-----
……
……..
……..
……..
-----END CERTIFICATE-----
</ca>
# Pre Shared Key
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
……..
……..
……..
-----END OpenVPN Static key V1-----
</tls-auth>
# P2S client certificate
# Please fill this field with a PEM formatted client certificate
# Alternatively, configure 'cert PATH_TO_CLIENT_CERT' to use input from a PEM certificate file.
<cert>
-----BEGIN CERTIFICATE-----
……..
……..
……..
-----END CERTIFICATE-----
</cert>
# P2S client certificate private key
# Please fill this field with a PEM formatted private key of the client certificate.
# Alternatively, configure 'key PATH_TO_CLIENT_KEY' to use input from a PEM key file.
<key>
-----BEGIN PRIVATE KEY-----
……..
……..
……..
-----END PRIVATE KEY-----
</key>
中間証明書
証明書チェーンに中間証明書が含まれている場合は、中間証明書を Azure VPN Gateway にアップロードする必要があります。 これは、選択した接続用の VPN クライアントに関係なく、使用することが推奨される方法です。 以前のバージョンでは、ユーザー プロファイル内で中間証明書を指定できました。 これは、OpenVPN Connect クライアント バージョン 3.x ではサポートされなくなりました。
中間証明書を使用する場合は、ルート証明書の後に中間証明書をアップロードする必要があります。
再接続
クライアントにトラフィックが送信されていないことが原因の定期的な再接続が発生する場合は、"ping-restart 0" オプションをプロファイルに追加することで、切断によって再接続が発生することを防ぐことができます。 これは OpenVPN Connect のドキュメントでは次のように説明されています。" --ping-restart n は --ping-exit と類似していますが、ping やその他のパケットをリモートから受信せずに n 秒経過した後に SIGUSR1 の再起動をトリガーします。"
このオプションを追加する方法の例については、「ユーザー プロファイルの例」を参照してください。
次のステップ
引き続き、追加のサーバーや接続の設定を行います。 「ポイント対サイトの構成の手順」を参照してください。