若要通过点到站点 (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 身份验证的配置工作流如下:
- 设置适用于 P2S 连接的 Azure VPN 网关。
- 设置适用于身份验证的 RADIUS 服务器。
- 获取适用于所选身份验证选项的 VPN 客户端配置,用其设置 VPN 客户端(本文)。
- 完成 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 门户
转到虚拟网络网关。
选择 点对点配置。
选择 “下载 VPN 客户端”。
选择客户并填写所需信息。 根据配置,你可能需要上传RADIUS根证书到门户。 导出所需的 Base-64 编码的 X.509(. CER)格式证书,并用文本编辑器(如记事本)打开。 蓝色高光部分包含了复制并上传到Azure的信息。
如果你的文件看起来与以下示例不相似,可能你没有通过使用 Base-64 编码的 X.509(.CER)格式导出。 一些文本编辑器可能会引入无意的后台格式,这在你上传证书文本到Azure时可能会引发问题。
选择 下载 以生成 .zip 文件。
.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客户端。
选择一个配置包,将其安装在客户端设备上。 对于 64 位处理器体系结构,请选择 VpnClientSetupAmd64 安装程序包。 对于 32 位处理器体系结构,请选择 VpnClientSetupX86 安装程序包。 如果看到 SmartScreen 弹窗,请选择 “更多信息”“仍要运行”。 也可将要安装的包保存在其他客户端计算机上。
每个客户端都需要使用客户端证书来进行身份验证。 安装客户端证书。 有关客户端证书的信息,请参阅用于点到站点连接的客户端证书。 要安装生成的证书,请参见“在 Windows 客户端上安装证书”。
在客户端计算机上,浏览到“网络设置” ,并选择“VPN” 。 VPN 连接显示所连接到的虚拟网络的名称。
Mac(macOS)原生 VPN 客户端
你必须为每台连接到Azure虚拟网络的Mac设备创建一个独立的配置文件,因为每个设备都需要用户证书才能在其配置文件中进行认证。 只有在配置中包含IKEv2隧道类型时,才能使用macOS原生VPN客户端。 通用文件夹包含创建配置文件所需的所有信息:
- VpnSettings.xml 包含服务器地址和隧道类型等重要设置。
- VpnServerRoot.cer 包含验证VPN网关所需的根证书,用于在P2S连接设置中验证。
- RadiusServerRoot.cer 包含验证RADIUS服务器认证所需的根证书。
使用以下步骤在 Mac 中配置用于证书身份验证的本机 VPN 客户端:
将 VpnServerRoot 和 RadiusServerRoot 根证书导入到 Mac 中。 将每个文件复制到你的 Mac,双击它,然后选择“添加”。
每个客户端都需要使用客户端证书来进行身份验证。 在客户端设备上安装客户端证书。
在“网络首选项”下打开“网络”对话框。 选择 + 来为到 Azure 虚拟网络的 P2S 连接创建新的 VPN 客户端连接配置文件。
“接口”值为“VPN”,“VPN 类型”值为“IKEv2”。 在“服务名称”框中为配置文件指定一个名称,然后选择“创建”以创建 VPN 客户端连接配置文件。
从 Generic 文件夹中的 VpnSettings.xml 文件复制 VpnServer 标记值。 将该值粘贴到配置文件的“服务器地址”和“远程 ID”框中。 将“本地 ID”框保留为空。
选择“身份验证设置” ,然后选择“证书” 。
选择你想用来认证的证书。
选择身份会显示一个可供您选择的证书列表。 选择适当的证书,然后选择“继续” 。
在“本地 ID” 框中,指定证书的名称(见步骤 6)。 在本例中,该名称为 ikev2Client.com。 然后,选择“应用”按钮以保存更改。
在“网络” 对话框中,选择“应用” 以保存所有更改。 然后,选择“连接”以启动到 Azure 虚拟网络的 P2S 连接。
密码验证
注释
Azure 建议使用最安全的可用身份验证流。 此过程中所述的身份验证流要求对应用程序具有很高的信任度,并且具有其他流中不存在的风险。 只有在其他更安全的流程(如托管身份)不可行时才使用这个流程。
你可以配置用户名/密码认证,要么使用Active Directory,要么不使用Active Directory。 无论哪种情况,确保所有连接用户都有 RADIUS 可以认证的用户名/密码凭证。
配置用户名/密码身份验证时,只能针对 EAP-MSCHAPv2 用户名/密码身份验证协议创建配置。 在命令中,-AuthenticationMethod 是 EapMSChapv2。
生成 VPN 客户端配置文件
你可以通过Azure门户或Azure PowerShell生成VPN客户端配置文件。
Azure 门户
- 转到虚拟网络网关。
- 选择 点对点配置。
- 选择 “下载 VPN 客户端”。
- 选择客户并填写所需信息。
- 选择 下载 以生成 .zip 文件。
-
.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 客户端进行密码认证:
根据 Windows 计算机的体系结构选择 VPN 客户端配置文件。 对于 64 位处理器体系结构,请选择 VpnClientSetupAmd64 安装程序包。 对于 32 位处理器体系结构,请选择 VpnClientSetupX86 安装程序包。
若要安装该包,请双击它。 如果看到 SmartScreen 弹窗,请选择 “更多信息”“仍要运行”。
在客户端计算机上,浏览到“网络设置” ,并选择“VPN” 。 VPN 连接显示所连接到的虚拟网络的名称。
Mac (macOS) VPN 客户端
选择 VpnClientSetup.mobileconfig 文件并发送给每个用户。 可以使用电子邮件或其他方法。
在Mac上找到 .mobileconfig 文件。
可选:要指定自定义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>双击该配置文件以进行安装,然后选择“继续”。 配置文件名称与虚拟机的名称相同。
选择“继续”来信任配置文件的发送者并继续进行安装。
在配置文件安装的过程中,可以指定用于 VPN 身份验证的用户名和密码。 此信息不是必须输入的。 如果进行指定,此信息在指定后会进行保存,在启动连接时自动使用。 选择“安装”以继续。
输入用户名和密码,以便获取在计算机上安装该配置文件所需的权限。 选择“确定”。
安装配置文件后,可在“配置文件”对话框中看到它。 以后还可以从“系统首选项”打开该对话框。
若要访问 VPN 连接,请从“系统首选项”打开“网络”对话框。
VPN 连接显示为“IkeV2-VPN”。 你可以通过更新 .mobileconfig 文件来更改名称。
选择“身份验证设置”。 在列表中选择“用户名”,并输入凭据。 如果此前已输入凭据,系统会在列表中自动选择“用户名”,并预填充用户名和密码。 选择“确定”以保存设置。
返回到“网络”对话框,选择“应用”以保存更改。 若要启动连接,请选择“连接”。
Linux VPN 客户端 - strongSwan
以下说明在Ubuntu 17.0.4上使用strongSwan 5.5.1。
打开 终端 安装 strongSwan 及其网络管理器。 运行以下示例中的命令。 如果你收到与
libcharon-extra-plugins相关的错误,请将其替换为strongswan-plugin-eap-mschapv2。选择“网络管理器”图标(向上/向下箭头),然后选择“编辑连接”。
选择“添加”按钮以创建新连接。
从下拉菜单中选择“IPsec/IKEv2 (strongswan)”,然后选择“创建”。 在此步骤中重新命名你的连接。
在客户端配置文件下载到的 Generic 文件夹中打开 VpnSettings.xml 文件。 找到名为
VpnServer的标签,并复制以azuregateway开头、以.chinacloudapi.cn结尾的名称。在“网关”部分中,将此名称粘贴到新 VPN 连接的“地址”字段中。 接下来,选择“证书”字段末尾的文件夹图标,浏览到 Generic 文件夹,并选择 VpnServerRoot 文件。
在连接的“客户端”部分中,选择“EAP”作为“身份验证”方式,并输入用户名和密码。 可能需要选择右侧的锁形图标才能保存此信息。 然后选择“ 保存”。
选择“网络管理器”图标(向上/向下箭头),并将鼠标指针悬停在“VPN 连接”上。 将会看到已创建的 VPN 连接。 若要启动该连接,请选择它。
针对 Azure 虚拟机的其他步骤
如果你是在运行Linux的Azure虚拟机上运行该过程,请执行以下步骤。
编辑 /etc/netplan/50-cloud-init.yaml 文件,加入以下接口参数。
renderer: NetworkManager编辑文件后,执行以下两个命令加载新配置。
sudo netplan generatesudo netplan apply停止并启动虚拟机,或者重新部署虚拟机。
其他方法与协议
若要使用其他身份验证类型(例如 OTP),或者要使用其他身份验证协议(例如,使用 PEAP-MSCHAPv2 而不是 EAP-MSCHAPv2),则必须创建自己的 VPN 客户端配置文件。 如果你配置点对点VPN,同时使用RADIUS和OpenVPN,目前网关与RADIUS服务器之间唯一支持的认证方式是PAP。 创建配置文件需要虚拟网关 IP 地址、隧道类型、拆分隧道路由等信息。 可以通过使用以下步骤来获取此信息。
生成 VPN 客户端配置文件
你可以通过Azure门户或Azure PowerShell生成VPN客户端配置文件。
Azure 门户
- 转到虚拟网络网关。
- 选择 点对点配置。
- 选择 “下载 VPN 客户端”。
- 选择客户并填写所需信息。
- 选择 下载 以生成 .zip 文件。
-
.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 点到站点连接问题。