配置一个VPN客户端用于点对点:RADIUS认证

若要通过点到站点 (P2S) 连接到虚拟网络,需要配置将从中进行连接的客户端设备。 可以通过 Windows、macOS 和 Linux 客户端设备创建 P2S VPN 连接。 本文将帮助你创建并安装 RADIUS 认证的 VPN 客户端配置。 选择你的RADIUS服务器配置使用的认证方式。

注释

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

注释

Microsoft 建议使用 Windows 11 配合点对点 VPN 连接。 Windows 10 于2025年10月终止支持。 欲了解更多信息,请参见支持Azure VPN客户端的Windows版本。

Workflow

P2S RADIUS 身份验证的配置工作流如下:

  1. 设置适用于 P2S 连接的 Azure VPN 网关。
  2. 设置适用于身份验证的 RADIUS 服务器。
  3. 获取适用于所选身份验证选项的 VPN 客户端配置,用其设置 VPN 客户端(本文)。
  4. 完成 P2S 配置和连接。

Important

如果你在生成VPN客户端配置文件后对点对点VPN配置做了任何更改,比如VPN协议类型或认证类型,你必须在用户设备上生成并安装新的VPN客户端配置。

证书身份验证

可以创建适用于 RADIUS 证书身份验证的 VPN 客户端配置文件,该身份验证使用 EAP-TLS 协议。 通常,企业颁发的证书用于验证用户的 VPN。 确保所有连接用户的设备都安装了证书,并且你的RADIUS服务器能够验证该证书。

在命令中,将 -AuthenticationMethod 设置为 EapTls。 在证书身份验证过程中,客户端通过验证 RADIUS 服务器的证书完成该服务器的验证。 将-RadiusRootCert设置为包含用于验证 RADIUS 服务器的根证书的.cer文件。

需在每个 VPN 客户端设备上安装客户端证书。 有时候,一个 Windows 设备有多个客户端证书。 在认证过程中,这种状态可能会弹出一个对话框,列出所有证书。 用户必须选择要使用的证书。 你可以通过指定客户端证书应链接到的根证书来筛选出正确的证书。

将 -ClientRootCert 设置为包含根证书的 .cer 文件。 它是一个可选参数。 如果你想连接的设备只有一个客户端证书,就不需要指定这个参数。

生成 VPN 客户端配置文件

你可以通过Azure门户或Azure PowerShell生成VPN客户端配置文件。

Azure 门户

  1. 转到虚拟网络网关。

  2. 选择 点对点配置。

  3. 选择 “下载 VPN 客户端”。

  4. 选择客户并填写所需信息。 根据配置,你可能需要上传RADIUS根证书到门户。 导出所需的 Base-64 编码的 X.509(. CER)格式证书,并用文本编辑器(如记事本)打开。 蓝色高光部分包含了复制并上传到Azure的信息。

    屏幕截图显示在记事本中打开的 CER 文件,其中突出显示了证书数据。

    如果你的文件看起来与以下示例不相似,可能你没有通过使用 Base-64 编码的 X.509(.CER)格式导出。 一些文本编辑器可能会引入无意的后台格式,这在你上传证书文本到Azure时可能会引发问题。

  5. 选择 下载 以生成 .zip 文件。

  6. .zip文件通常会下载到你的“下载”文件夹。

Azure PowerShell

生成 VPN 客户端配置文件来用于证书身份验证。 请使用以下命令生成 VPN 客户端配置文件:

New-AzVpnClientConfiguration -ResourceGroupName "TestRG" -Name "VNet1GW" -AuthenticationMethod "EapTls" -RadiusRootCert "<full path name of .cer file containing the RADIUS root>" -ClientRootCert "<full path name of .cer file containing the client root>" | fl

运行该命令将返回一个链接。 将链接复制粘贴到网页浏览器下载 VpnClientConfiguration.zip。 解压缩该文件,查看以下文件夹:

  • WindowsAmd64 和 WindowsX86:这些文件夹分别包含 Windows 64 位和 32 位安装程序包。
  • GenericDevice:这个文件夹包含你用来创建自己VPN客户端配置的通用信息。

如果已创建了客户端配置文件,可以使用 Get-AzVpnClientConfiguration 检索这些文件。 如果你对P2S VPN配置做了任何更改,比如VPN协议类型或认证类型,配置就不会自动更新。 必须运行 New-AzVpnClientConfiguration cmdlet 才能创建新的配置下载。

若要检索以前生成的客户端配置文件,请使用以下命令:

Get-AzVpnClientConfiguration -ResourceGroupName "TestRG" -Name "VNet1GW" | fl

Windows 原生 VPN 客户端

如果你配置了IKEv2或SSTP,建议使用原生VPN客户端。

  1. 选择一个配置包,将其安装在客户端设备上。 对于 64 位处理器体系结构,请选择 VpnClientSetupAmd64 安装程序包。 对于 32 位处理器体系结构,请选择 VpnClientSetupX86 安装程序包。 如果看到 SmartScreen 弹窗,请选择 “更多信息”“仍要运行”。 也可将要安装的包保存在其他客户端计算机上。

  2. 每个客户端都需要使用客户端证书来进行身份验证。 安装客户端证书。 有关客户端证书的信息,请参阅用于点到站点连接的客户端证书。 要安装生成的证书,请参见“在 Windows 客户端上安装证书”。

  3. 在客户端计算机上,浏览到“网络设置” ,并选择“VPN” 。 VPN 连接显示所连接到的虚拟网络的名称。

Mac(macOS)原生 VPN 客户端

你必须为每台连接到Azure虚拟网络的Mac设备创建一个独立的配置文件,因为每个设备都需要用户证书才能在其配置文件中进行认证。 只有在配置中包含IKEv2隧道类型时,才能使用macOS原生VPN客户端。 通用文件夹包含创建配置文件所需的所有信息:

  • VpnSettings.xml 包含服务器地址和隧道类型等重要设置。
  • VpnServerRoot.cer 包含验证VPN网关所需的根证书,用于在P2S连接设置中验证。
  • RadiusServerRoot.cer 包含验证RADIUS服务器认证所需的根证书。

使用以下步骤在 Mac 中配置用于证书身份验证的本机 VPN 客户端:

  1. 将 VpnServerRoot 和 RadiusServerRoot 根证书导入到 Mac 中。 将每个文件复制到你的 Mac,双击它,然后选择“添加”。

  2. 每个客户端都需要使用客户端证书来进行身份验证。 在客户端设备上安装客户端证书。

  3. 在“网络首选项”下打开“网络”对话框。 选择 + 来为到 Azure 虚拟网络的 P2S 连接创建新的 VPN 客户端连接配置文件。

    “接口”值为“VPN”,“VPN 类型”值为“IKEv2”。 在“服务名称”框中为配置文件指定一个名称,然后选择“创建”以创建 VPN 客户端连接配置文件。

  4. 从 Generic 文件夹中的 VpnSettings.xml 文件复制 VpnServer 标记值。 将该值粘贴到配置文件的“服务器地址”和“远程 ID”框中。 将“本地 ID”框保留为空。

  5. 选择“身份验证设置” ,然后选择“证书” 。

  6. 选择你想用来认证的证书。

  7. 选择身份会显示一个可供您选择的证书列表。 选择适当的证书,然后选择“继续” 。

  8. 在“本地 ID” 框中,指定证书的名称(见步骤 6)。 在本例中,该名称为 ikev2Client.com。 然后,选择“应用”按钮以保存更改。

  9. 在“网络” 对话框中,选择“应用” 以保存所有更改。 然后,选择“连接”以启动到 Azure 虚拟网络的 P2S 连接。

密码验证

注释

Azure 建议使用最安全的可用身份验证流。 此过程中所述的身份验证流要求对应用程序具有很高的信任度,并且具有其他流中不存在的风险。 只有在其他更安全的流程(如托管身份)不可行时才使用这个流程。

你可以配置用户名/密码认证,要么使用Active Directory,要么不使用Active Directory。 无论哪种情况,确保所有连接用户都有 RADIUS 可以认证的用户名/密码凭证。

配置用户名/密码身份验证时,只能针对 EAP-MSCHAPv2 用户名/密码身份验证协议创建配置。 在命令中,-AuthenticationMethod 是 EapMSChapv2。

生成 VPN 客户端配置文件

你可以通过Azure门户或Azure PowerShell生成VPN客户端配置文件。

Azure 门户

  1. 转到虚拟网络网关。
  2. 选择 点对点配置。
  3. 选择 “下载 VPN 客户端”。
  4. 选择客户并填写所需信息。
  5. 选择 下载 以生成 .zip 文件。
  6. .zip文件通常会下载到你的“下载”文件夹。

Azure PowerShell

生成 VPN 客户端配置文件来用于用户名/密码身份验证。 请使用以下命令生成 VPN 客户端配置文件:

New-AzVpnClientConfiguration -ResourceGroupName "TestRG" -Name "VNet1GW" -AuthenticationMethod "EapMSChapv2"

运行该命令将返回一个链接。 请将该链接复制并粘贴到 Web 浏览器,下载 VpnClientConfiguration.zip。 解压缩该文件,查看以下文件夹:

  • WindowsAmd64 和 WindowsX86:这些文件夹分别包含 Windows 64 位和 32 位安装程序包。
  • Generic:此文件夹包含你可以用来创建自己的 VPN 客户端配置的常规信息。 对于用户名/密码身份验证配置,不需要此文件夹。
  • Mac:如果在创建虚拟网络网关时已配置了 IKEv2,则会看到名为 Mac 的文件夹,其中包含 mobileconfig 文件。 可以使用该文件配置 Mac 客户端。

如果已创建了客户端配置文件,可以使用 Get-AzVpnClientConfiguration 检索这些文件。 但是,如果对 P2S VPN 配置(如 VPN 协议类型或身份验证类型)进行任何更改,则不会自动更新配置。 必须运行 New-AzVpnClientConfiguration cmdlet 才能创建新的配置下载。

若要检索以前生成的客户端配置文件,请使用以下命令:

Get-AzVpnClientConfiguration -ResourceGroupName "TestRG" -Name "VNet1GW"

Windows VPN 客户端

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

请按照以下步骤配置本地 Windows VPN 客户端进行密码认证:

  1. 根据 Windows 计算机的体系结构选择 VPN 客户端配置文件。 对于 64 位处理器体系结构,请选择 VpnClientSetupAmd64 安装程序包。 对于 32 位处理器体系结构,请选择 VpnClientSetupX86 安装程序包。

  2. 若要安装该包,请双击它。 如果看到 SmartScreen 弹窗,请选择 “更多信息”“仍要运行”。

  3. 在客户端计算机上,浏览到“网络设置” ,并选择“VPN” 。 VPN 连接显示所连接到的虚拟网络的名称。

Mac (macOS) VPN 客户端

  1. 选择 VpnClientSetup.mobileconfig 文件并发送给每个用户。 可以使用电子邮件或其他方法。

  2. 在Mac上找到 .mobileconfig 文件。

  3. 可选:要指定自定义DNS,请在 .mobileconfig 文件中添加以下几行:

     <key>DNS</key>
     <dict>
       <key>ServerAddresses</key>
         <array>
             <string>10.0.0.132</string>
         </array>
       <key>SupplementalMatchDomains</key>
         <array>
             <string>TestDomain.com</string>
         </array>
     </dict>
    
  4. 双击该配置文件以进行安装,然后选择“继续”。 配置文件名称与虚拟机的名称相同。

  5. 选择“继续”来信任配置文件的发送者并继续进行安装。

  6. 在配置文件安装的过程中,可以指定用于 VPN 身份验证的用户名和密码。 此信息不是必须输入的。 如果进行指定,此信息在指定后会进行保存,在启动连接时自动使用。 选择“安装”以继续。

  7. 输入用户名和密码,以便获取在计算机上安装该配置文件所需的权限。 选择“确定”。

  8. 安装配置文件后,可在“配置文件”对话框中看到它。 以后还可以从“系统首选项”打开该对话框。

  9. 若要访问 VPN 连接,请从“系统首选项”打开“网络”对话框。

  10. VPN 连接显示为“IkeV2-VPN”。 你可以通过更新 .mobileconfig 文件来更改名称。

  11. 选择“身份验证设置”。 在列表中选择“用户名”,并输入凭据。 如果此前已输入凭据,系统会在列表中自动选择“用户名”,并预填充用户名和密码。 选择“确定”以保存设置。

  12. 返回到“网络”对话框,选择“应用”以保存更改。 若要启动连接,请选择“连接”。

Linux VPN 客户端 - strongSwan

以下说明在Ubuntu 17.0.4上使用strongSwan 5.5.1。

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

  2. 选择“网络管理器”图标(向上/向下箭头),然后选择“编辑连接”。

  3. 选择“添加”按钮以创建新连接。

  4. 从下拉菜单中选择“IPsec/IKEv2 (strongswan)”,然后选择“创建”。 在此步骤中重新命名你的连接。

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

  6. 在“网关”部分中,将此名称粘贴到新 VPN 连接的“地址”字段中。 接下来,选择“证书”字段末尾的文件夹图标,浏览到 Generic 文件夹,并选择 VpnServerRoot 文件。

  7. 在连接的“客户端”部分中,选择“EAP”作为“身份验证”方式,并输入用户名和密码。 可能需要选择右侧的锁形图标才能保存此信息。 然后选择“ 保存”。

  8. 选择“网络管理器”图标(向上/向下箭头),并将鼠标指针悬停在“VPN 连接”上。 将会看到已创建的 VPN 连接。 若要启动该连接,请选择它。

针对 Azure 虚拟机的其他步骤

如果你是在运行Linux的Azure虚拟机上运行该过程,请执行以下步骤。

  1. 编辑 /etc/netplan/50-cloud-init.yaml 文件,加入以下接口参数。

    renderer: NetworkManager
    
  2. 编辑文件后,执行以下两个命令加载新配置。

    sudo netplan generate
    
    sudo netplan apply
    
  3. 停止并启动虚拟机,或者重新部署虚拟机。

其他方法与协议

若要使用其他身份验证类型(例如 OTP),或者要使用其他身份验证协议(例如,使用 PEAP-MSCHAPv2 而不是 EAP-MSCHAPv2),则必须创建自己的 VPN 客户端配置文件。 如果你配置点对点VPN,同时使用RADIUS和OpenVPN,目前网关与RADIUS服务器之间唯一支持的认证方式是PAP。 创建配置文件需要虚拟网关 IP 地址、隧道类型、拆分隧道路由等信息。 可以通过使用以下步骤来获取此信息。

生成 VPN 客户端配置文件

你可以通过Azure门户或Azure PowerShell生成VPN客户端配置文件。

Azure 门户

  1. 转到虚拟网络网关。
  2. 选择 点对点配置。
  3. 选择 “下载 VPN 客户端”。
  4. 选择客户并填写所需信息。
  5. 选择 下载 以生成 .zip 文件。
  6. .zip文件通常会下载到你的“下载”文件夹。

Azure PowerShell

使用 Get-AzVpnClientConfiguration cmdlet 来生成适用于 EapMSChapv2 的 VPN 客户端配置。

查看这些文件并配置 VPN 客户端

解压缩 VpnClientConfiguration.zip 文件,查找 GenericDevice 文件夹。 忽略包含适用于 64 位和 32 位体系结构的 Windows 安装程序的文件夹。

GenericDevice 文件夹包含名为 VpnSettings 的 XML 文件。 此文件包含所有必需的信息:

  • VpnServer:Azure VPN 网关的 FQDN。 这是客户端连接到的地址。
  • VpnType:用来进行连接的隧道类型。
  • 路由:为了仅通过 P2S 隧道发送为 Azure 虚拟机绑定的流量而需要在配置文件中配置的路由。

GenericDevice 文件夹中还包含一个.cer名为 VpnServerRoot 的文件。 该文件包含在设置 P2S 连接期间验证 Azure VPN 网关所需的根证书。 在所有连接到 Azure 虚拟网络的设备上安装该证书。

使用这些文件中的设置来配置 VPN 客户端。

后续步骤

返回到 P2S 配置文章来验证连接。

有关 P2S 故障排除信息,请参阅排查 Azure 点到站点连接问题。