为本机 Azure 证书身份验证 P2S 配置创建并安装 VPN 客户端配置文件

VPN 客户端配置文件包含在一个 zip 文件中。 配置文件提供本机 Windows、Mac IKEv2 VPN 或 Linux 客户端通过使用本机 Azure 证书身份验证的点到站点连接,来与 VNet 建立连接所需的设置。 有关点到站点连接的详细信息,请参阅关于点到站点 VPN

Important

从 2018 年 7 月 1 日开始,Azure VPN 网关将不再支持 TLS 1.0 和 1.1。 VPN 网关将仅支持 TLS 1.2。 仅点到站点连接会受到影响;站点到站点连接不受影响。 如果在 Windows 10 客户端上点到站点 VPN 使用的是 TLS,则无需进行任何操作。 如果在 Windows 7 和 Windows 8 客户端上使用 TLS 建立点到站点连接,请参阅 VPN 网关常见问题解答,了解更新说明。

Note

客户端配置文件特定于 VNet 的 VPN 配置。 如果在生成 VPN 客户端配置文件后,点到站点 VPN 配置(例如 VPN 协议类型或身份验证类型)发生变化,请务必为用户设备生成新的 VPN 客户端配置文件。

生成 VPN 客户端配置文件

在开始之前,请确保所有连接方用户的设备上安装了有效的证书。 有关安装客户端证书的详细信息,请参阅安装客户端证书

可使用 PowerShell 或使用 Azure 门户生成客户端配置文件。 两种方法之一都会返回相同的 zip 文件。 解压缩该文件,查看以下文件夹:

  • WindowsAmd64WindowsX86:分别包含 Windows 32 位和 64 位安装程序包。 WindowsAmd64 安装程序包适用于所有受支持的 64 位 Windows 客户端,而不仅仅是 Amd。
  • Generic:包含用于创建自己的 VPN 客户端配置的常规信息。 如果网关上配置了 IKEv2 或 SSTP+IKEv2,会提供 Generic 文件夹。 如果仅配置了 SSTP,则不会提供 Generic 文件夹。

使用 Azure 门户生成文件

  1. 在 Azure 门户中,导航到要连接到的虚拟网络的虚拟网络网关。
  2. 在虚拟网络网关页面上,单击“点到点配置”。
  3. 在“点到站点配置”页的顶部,单击“下载 VPN 客户端”。 需要几分钟才能生成客户端配置包。
  4. 浏览器会指示客户端配置 zip 文件可用。 其名称与网关名称相同。 解压缩该文件,查看文件夹。

使用 PowerShell 生成文件

  1. 生成 VPN 客户端配置文件时,“-AuthenticationMethod”的值为“EapTls”。 使用以下命令生成 VPN 客户端配置文件:

    $profile=New-AzureRmVpnClientConfiguration -ResourceGroupName "TestRG" -Name "VNet1GW" -AuthenticationMethod "EapTls"
    
    $profile.VPNProfileSASUrl
    
  2. 将 URL 复制到浏览器,下载 zip 文件,然后解压缩该文件,查看其中的文件夹。

Windows

只要版本与 Windows 客户端的体系结构匹配,就可以在每台客户端计算机上使用相同的 VPN 客户端配置包。 有关支持的客户端操作系统列表,请参阅 VPN 网关常见问题解答中的“点到站点”部分。

Note

在要从其进行连接的 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 未选作隧道类型。 选择 IKEv2 后,再次生成 zip 文件,检索 Generic 文件夹。
Generic 文件夹包含以下文件:

  • VpnSettings.xml:包含服务器地址和隧道类型等重要设置。
  • VpnServerRoot.cer:包含在 P2S 连接设置过程中验证 Azure VPN 网关所需的根证书。

使用以下步骤在 Mac 中配置用于证书身份验证的本机 VPN 客户端。 必须在将连接到 Azure 的每个 Mac 上完成以下步骤:

  1. VpnServerRoot 根证书导入 Mac。 为此,可将该文件复制到 Mac,并双击它。
    单击“添加”进行导入。

    添加证书

    Note

    双击证书可能不会显示“添加”对话框,但该证书将安装在相应的存储中。 可以在证书类别下的登录密钥链中查找该证书。

  2. 验证已安装由根证书颁发的客户端证书,该根证书在配置 P2S 设置时已上传到 Azure。 这不同于上一步中安装的 VPNServerRoot。 客户端证书可用于身份验证,且是必需的。 有关生成证书的详细信息,请参阅生成证书。 有关如何安装客户端证书的信息,请参阅安装客户端证书

  3. 在“网络首选项”下打开“网络”对话框,单击“+”创建新的 VPN 客户端连接配置文件,以便通过 P2S 连接来与 Azure VNet 建立连接。

    “接口”值为“VPN”,“VPN 类型”值为“IKEv2”。 在“服务名称”字段中为配置文件指定一个名称,单击“创建”创建 VPN 客户端连接配置文件。

    网络

  4. Generic 文件夹中的 VpnSettings.xml 文件复制 VpnServer 标记值。 将该值粘贴到配置文件的“服务器地址”和“远程 ID”字段中。

    服务器信息

  5. 单击“身份验证设置”,选择“证书”。

    身份验证设置

  6. 单击“选择…” 选择要用于身份验证的客户端证书。 这是你在步骤 2 中安装的证书。

    证书

  7. “选择标识”会显示可供选择的证书列表。 选择适当的证书,单击“继续”。

    identity

  8. 在“本地 ID”字段中,指定证书的名称(见步骤 6)。 在本示例中,该名称为“ikev2Client.com”。 然后单击“应用”按钮保存所做的更改。

    apply

  9. 在“网络”对话框中,单击“应用”保存所有更改。 然后单击“连接”,启动与 Azure VNet 的 P2S 连接。

Linux (strongSwan GUI)

提取密钥和证书

对于 strongSwan,需要从客户端证书(.pfx 文件)提取密钥和证书,并将其保存为单独的 .pem 文件。 请遵循以下步骤进行配置:

  1. OpenSSL 下载并安装 OpenSSL。
  2. 打开命令行窗口并切换到 OpenSSL 的安装目录,例如 'c:\OpenSLL-Win64\bin'。
  3. 运行以下命令,从客户端证书提取私钥,并将其保存到名为“privatekey.pem”的新文件:

    C:\ OpenSLL-Win64\bin> openssl pkcs12 -in clientcert.pfx -nocerts -out privatekey.pem -nodes
    
  4. 现在,运行以下命令提取公共证书,并将其保存到新文件:

    C:\ OpenSLL-Win64\bin> openssl pkcs12 -in clientcert.pfx -nokeys -out publiccert.pem -nodes
    

安装和配置

以下说明是通过 Ubuntu 17.0.4 上的 strongSwan 5.5.1 创建的。 Ubuntu 16.0.10 不支持 strongSwan GUI。 如果想要使用 Ubuntu 16.0.10,则必须使用命令行。 以下示例可能与你看到的屏幕不同,具体取决于所用的 Linux 和 strongSwan 版本。

  1. 打开终端并运行示例中的命令,安装 strongSwan 及其网络管理器。 如果收到与 libcharon-extra-plugins 相关的错误,请将此参数替换为“strongswan-plugin-eap-mschapv2”。

    sudo apt-get install strongswan libcharon-extra-plugins moreutils iptables-persistent network-manager-strongswan
    
  2. 选择“网络管理器”图标(向上箭头/向下箭头),然后选择“编辑连接”。

    编辑连接

  3. 单击“添加”按钮创建新连接。

    添加连接

  4. 从下拉菜单中选择“IPsec/IKEv2 (strongswan)”,单击“创建”。 可以在此步骤中重命名连接。

    选择连接类型

  5. 打开下载的客户端配置文件包含的 Generic 文件夹中的 VpnSettings.xml 文件。 找到名为 VpnServer 的标记,并复制以“azuregateway”开头、以“.chinacloudapp.cn”结尾的名称。

    复制名称

  6. 在“网关”部分中,将此名称粘贴到新 VPN 连接的“地址”字段中。 接下来,选择“证书”字段末尾的文件夹图标,浏览到 Generic 文件夹,并选择 VpnServerRoot 文件。
  7. 在连接的“客户端”部分,为“身份验证”选择“证书/私钥”。 对于“证书”和“私钥”,请选择前面创建的证书和私钥。 在“选项”中,选择“请求内部 IP 地址”。 然后,单击“添加”。

    请求内部 IP 地址

  8. 单击“网络管理器”图标(向上/向下箭头),并将鼠标悬停在“VPN 连接”上。 将会看到已创建的 VPN 连接。 单击以启动连接。

Linux (strongSwan CLI)

安装 strongSwan

可以使用以下 CLI 命令或者使用 GUI 中的 strongSwan 步骤来安装 strongSwan。

  1. apt-get install strongswan-ikev2 strongswan-plugin-eap-tls
  2. apt-get install libstrongswan-standard-plugins

安装和配置

  1. 从 Azure 门户下载 VPNClient 程序包。
  2. 解压缩该文件。
  3. Generic 文件夹中,将 VpnServerRoot.cer 复制或移动到 /etc/ipsec.d/cacerts。
  4. Generic 文件夹中,将 cp client.p12 复制或移动到 /etc/ipsec.d/private/。
  5. 打开 VpnSettings.xml 文件并复制 值。 在下一步骤中你将使用此值。
  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 address, prefixed 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 配置

若要对 P2S 连接进行故障排除,请参阅以下文章: