你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为 P2S 证书身份验证连接配置 OpenVPN 客户端 - Windows

如果将点到站点 (P2S) VPN 网关配置为使用 OpenVPN 和证书身份验证,则可以使用 OpenVPN 客户端连接到虚拟网络。 本文将指导你完成配置本机 OpenVPN 客户端并连接到虚拟网络的步骤

开始之前

本文假定你已执行以下先决条件:

在开始客户端配置步骤之前,请验证是否正在阅读正确的 VPN 客户端配置文章。 下表提供了 VPN 网关点到站点 VPN 客户端可用的配置文章。 步骤因身份验证类型、隧道类型和客户端 OS 而有所不同。

身份验证 隧道类型 生成配置文件 配置 VPN 客户端
Azure 证书 IKEv2、SSTP Windows 本机 VPN 客户端
Azure 证书 OpenVPN Windows - OpenVPN 客户端
- Azure VPN 客户端
Azure 证书 IKEv2、OpenVPN macOS-iOS macOS-iOS
Azure 证书 IKEv2、OpenVPN Linux Linux
Microsoft Entra ID OpenVPN (SSL) Windows Windows
Microsoft Entra ID OpenVPN (SSL) macOS macOS
RADIUS - 证书 - 文章 文章
RADIUS - 密码 - 文章 文章
RADIUS - 其他方法 - 文章 文章

连接要求

要连接到 Azure,每个连接的客户端计算机需要以下项:

  • 必须在每台客户端计算机上安装和配置 OpenVPN 客户端软件。
  • 客户端计算机必须有本地安装的客户端证书。

查看配置文件

VPN 客户端配置文件配置包包含特定文件夹。 文件夹中的文件包含在客户端计算机上配置 VPN 客户端配置文件所需的设置。 它们包含的文件和设置特定于 VPN 网关,以及你的 VPN 网关配置为使用的身份验证和隧道的类型。

找到并解压缩生成的 VPN 客户端配置文件配置包。 对于证书身份验证和 OpenVPN,应会看到 OpenVPN 文件夹。 如果未看到该文件夹,请验证以下项:

  • 验证 VPN 网关是否已配置为使用 OpenVPN 隧道类型。
  • 如果使用 Microsoft Entra 身份验证,则可能没有 OpenVPN 文件夹。 请参阅 Microsoft Entra ID 配置文章。

配置客户端

注意

尚不支持 OpenVPN 客户端版本 2.6。

  1. 从官方 OpenVPN 网站下载并安装 OpenVPN 客户端(版本 2.4 或更高版本)。 尚不支持版本 2.6。

  2. 找到生成并下载到计算机的 VPN 客户端配置文件配置包。 解压缩该包。 转到 OpenVPN 文件夹,使用记事本打开 vpnconfig.ovpn 配置文件。

  3. 接下来,找到创建的子证书。 如果没有该证书,请使用以下链接之一来执行导出证书的步骤。 在下一部分需要用到该证书信息。

  4. 在子证书中,从 .pfx 中提取私钥和 base64 指纹。 有多种方法可实现此操作。 其中一种方法是在计算机上使用 OpenSSL。 profileinfo.txt 文件包含 CA 和客户端证书的私钥与指纹。 请务必使用客户端证书的指纹。

    openssl pkcs12 -in "filename.pfx" -nodes -out "profileinfo.txt"
    
  5. 切换到在记事本中打开的 vpnconfig.ovpn 文件。 填充 <cert></cert> 之间的部分,获取 $CLIENT_CERTIFICATE$INTERMEDIATE_CERTIFICATE$ROOT_CERTIFICATE 的值,如下所示。

       # P2S client certificate
       # please fill this field with a PEM formatted cert
       <cert>
       $CLIENT_CERTIFICATE
       $INTERMEDIATE_CERTIFICATE (optional)
       $ROOT_CERTIFICATE
       </cert>
    
    • 在记事本中打开上一步骤的 profileinfo.txt。 可通过查看 subject= 行来识别每个证书。 例如,如果子证书称为 P2SChildCert,则客户端证书将位于 subject=CN = P2SChildCert 属性之后。
    • 对于链中的每个证书,复制文本“-----BEGIN CERTIFICATE-----”与“-----END CERTIFICATE-----”之间的文本(包括这两行)。
    • 只有在 profileinfo.txt 文件中具有中间证书时,才包括 $INTERMEDIATE_CERTIFICATE 值。
  6. 在记事本中打开 profileinfo.txt。 若要获取私钥,请选择并复制“-----BEGIN PRIVATE KEY-----”与“-----END PRIVATE KEY-----”之间的文本(包括这两行)。

  7. 返回到记事本中的 vpnconfig.ovpn 文件,并找到此节。 粘贴私钥,替换 <key></key> 之间的所有内容。

    # P2S client root certificate private key
    # please fill this field with a PEM formatted key
    <key>
    $PRIVATEKEY
    </key>
    
  8. 请勿更改任何其他字段。 使用客户端输入中的已填充的配置连接到 VPN。

  9. 将 vpnconfig.ovpn 文件复制到 C:\Program Files\OpenVPN\config 文件夹。

  10. 右键单击系统托盘中的 OpenVPN 图标,然后单击“连接”。

后续步骤

点到站点配置步骤点到站点 VPN 客户端:证书身份验证 - Windows