您现在访问的是微软AZURE全睃版技术文档网站,若需覝访问由世纪互蝔违蝥的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

使用多个身份验证类型配置与 VNet 的点到站点 VPN 连接:Azure 门户

本文介绍如何将运行 Windows、Linux 或 macOS 的单个客户端安全地连接到 Azure VNet。 若要从远程位置连接到 VNet,例如从家里或会议室进行远程通信,则可使用点到站点 VPN。 如果只有一些客户端需要连接到 VNet,也可使用 P2S VPN 来代替站点到站点 VPN。 点到站点连接不需要 VPN 设备或面向公众的 IP 地址。 P2S 基于 SSTP(安全套接字隧道协议)或 IKEv2 创建 VPN 连接。 有关点到站点 VPN 的详细信息,请参阅关于点到站点 VPN

从计算机连接到 Azure VNet - 点到站点连接示意图

有关点到站点 VPN 的详细信息,请参阅关于点到站点 VPN。 若要使用 Azure PowerShell 创建此配置,请参阅使用 Azure PowerShell 配置点到站点 VPN

先决条件

确保拥有 Azure 订阅。 如果还没有 Azure 订阅,可以激活 MSDN 订户权益或注册获取免费帐户

仅 OpenVPN 隧道类型支持同一 VPN 网关上的多个身份验证类型。

示例值

可使用以下值创建测试环境,或参考这些值以更好地理解本文中的示例:

  • VNet 名称: VNet1
  • 地址空间: 10.1.0.0/16
    对于此示例,我们只使用一个地址空间。 VNet 可以有多个地址空间。
  • 子网名称: FrontEnd
  • 子网地址范围: 10.1.0.0/24
  • 订阅: 如果有多个订阅,请确保使用正确的订阅。
  • 资源组: TestRG1
  • 位置: 美国东部
  • 网关子网: 10.1.255.0/27
  • SKU:VpnGw2
  • 代系:第 2 代
  • 网关类型: VPN
  • VPN 类型: 基于路由
  • 公共 IP 地址名称:VNet1GWpip
  • 连接类型:点到站点
  • 客户端地址池:172.16.201.0/24
    使用此点到站点连接连接到 VNet 的 VPN 客户端接收来自客户端地址池的 IP 地址。

创建虚拟网络

开始之前,请确保拥有 Azure 订阅。 如果还没有 Azure 订阅,可以激活 MSDN 订户权益或注册获取免费帐户

备注

使用虚拟网络作为跨界体系结构的一部分时,请务必与本地网络管理员进行协调,以划分一个 IP 地址范围专供此虚拟网络使用。 如果 VPN 连接的两端存在重复的地址范围,则会以意外方式路由流量。 此外,若要将此虚拟网络连接到另一个虚拟网络,地址空间不能与另一虚拟网络重叠。 相应地规划网络配置。

  1. 登录到 Azure 门户

  2. 在“搜索资源、服务和文档(G+/)”中,键入“虚拟网络”。

    屏幕截图显示 Azure 门户的搜索栏。

  3. 从“市场”结果中选择“虚拟网络”。

    屏幕截图显示 Azure 门户的搜索栏结果,同时从“市场”中选择了“虚拟网络”。

  4. 在“虚拟网络”页上选择“创建”。

    屏幕截图显示“虚拟网络”页并选择了“创建”按钮。

  5. 选择“创建”后,会打开“创建虚拟网络”页。

  6. 在“基本信息”选项卡上,配置“项目详细信息”和“实例详细信息”VNet 设置。

    屏幕截图显示“基本信息”选项卡。

    在填写字段时,如果在字段中输入的字符通过了验证,则会出现绿色的对钩标记。 某些值是自动填写的,你可以将其替换为自己的值:

    • 订阅:确认列出的订阅是正确的。 可以使用下拉列表更改订阅。
    • 资源组:选择现有资源组,或单击“新建”以创建新资源组 。 有关资源组的详细信息,请参阅 Azure 资源管理器概述
    • 名称:输入虚拟网络的名称。
    • 区域:选择 VNet 的位置。 该位置确定要部署到此 VNet 的资源将位于哪里。
  7. 在“IP 地址”选项卡上配置值。 以下示例中显示的值用于演示目的。 根据所需的设置调整这些值。

    屏幕截图显示“IP 地址”选项卡。

    • IPv4 地址空间:默认情况下,系统会自动创建一个地址空间。 可以单击该地址空间,将其调整为反映你自己的值。 还可以添加更多的地址空间。
    • 子网:如果你使用默认地址空间,则会自动创建一个默认子网。 如果你更改地址空间,则需要添加一个子网。 选择“+添加子网”,打开“添加子网”窗口 。 配置以下设置,然后选择“添加”来添加值:
      • 子网名称:在本例中,我们已将子网命名为“FrontEnd”。
      • 子网地址范围:此子网的地址范围。
  8. 暂时在“安全”选项卡上保留默认值:

    • DDos 防护:已禁用
    • 防火墙:已禁用
  9. 选择“审阅 + 创建”,验证虚拟网络设置。

  10. 验证设置后,选择“创建”。

虚拟网络网关

在此步骤中,为 VNet 创建虚拟网络网关。 创建网关通常需要 45 分钟或更长的时间,具体取决于所选的网关 SKU。

备注

基本网关 SKU 不支持 OpenVPN 隧道类型。

虚拟网络网关使用称作“网关子网”的特定子网。 网关子网是虚拟网络 IP 地址范围的一部分,该范围是在配置虚拟网络时指定的。 网关子网包含虚拟网络网关资源和服务使用的 IP 地址。

创建网关子网时,需指定子网包含的 IP 地址数。 所需的 IP 地址数目取决于要创建的 VPN 网关配置。 有些配置需要具有比其他配置更多的 IP 地址。 我们建议创建使用 /27 或 /28 的网关子网。

如果出现错误,指出地址空间与子网重叠,或者子网不包含在虚拟网络的地址空间中,请检查 VNet 地址范围。 出错的原因可能是为虚拟网络创建的地址范围中没有足够的可用 IP 地址。 例如,如果默认子网包含整个地址范围,则不会有剩余的 IP 地址用于创建更多子网。 可以调整现有地址空间中的子网以释放 IP 地址,或指定额外的地址范围并在其中创建网关子网。

  1. 在“搜索资源、服务和文档(G+/)”中,键入“虚拟网络网关” 。 在搜索结果中找到“虚拟网络网关”,并选中它。

    “搜索”字段的屏幕截图。

  2. 在“虚拟网络网关”页上,选择“+ 创建” 。 这会打开“创建虚拟网关”页 。

    “虚拟网络网关”页的屏幕截图,其中突出显示了“创建”。

  3. 在“基本信息”选项卡上,填写“项目详细信息”和“实例详细信息”的值 。

    实例字段的屏幕截图。

    • 订阅:从下拉列表中选择要使用的订阅。
    • 资源组:在此页上选择虚拟网络后,此设置将自动进行填充。
    • 名称:为网关命名。 为网关命名与为网关子网命名不同。 它是要创建的网关对象的名称。
    • 区域:选择要在其中创建此资源的区域。 网关的区域必须与虚拟网络相同。
    • 网关类型:选择“VPN”。 VPN 网关使用虚拟网络网关类型“VPN” 。
    • VPN 类型:选择为你的配置指定的 VPN 类型。 大多数配置需要''基于路由'' VPN 类型。
    • SKU:从下拉列表中选择想要使用的网关 SKU。 下拉列表中列出的 SKU 取决于选择的 VPN 类型。 确保选择支持你想要使用的功能的 SKU。 有关网关 SKU 的详细信息,请参阅网关 SKU
    • 代系:选择想要使用的代系。 有关详细信息,请参阅网关 SKU
    • 虚拟网络:从下拉列表中,选择要将此网关添加到其中的虚拟网络。
    • 网关子网地址范围:仅当 VNet 没有网关子网时,此字段才会显示。 最好指定 /27 或更大的范围(/26、/25 等)。 这为将来的更改提供了足够的 IP 地址,例如添加一个 ExpressRoute 网关。 建议不要创建任何小于 /28 的范围。 如果你已有网关子网,可通过导航到虚拟网络来查看 GatewaySubnet 详细信息。 单击“子网”,以查看范围。 如果要更改范围,可以删除并重新创建 GatewaySubnet。
  1. 指定“公共 IP 地址”的值。 这些设置指定与 VPN 网关关联的公共 IP 地址对象。 创建 VPN 网关后,会将公共 IP 地址动态分配给此对象。 公共 IP 地址只在删除或重新创建网关时更改。 该地址不会因为 VPN 网关大小调整、重置或其他内部维护/升级而更改。

    “公共 IP 地址”字段的屏幕截图。

    • 公共 IP 地址:让“新建” 保持选中状态。
    • 公共 IP 地址名称:在文本框中,键入公共 IP 地址实例的名称。
    • 分配:VPN 网关仅支持“动态”。
    • 启用主动-主动模式:仅当要创建主动-主动网关配置时,才选择“启用主动-主动模式”。 否则,请让此设置保留“禁用”状态。
    • 让“配置 BGP”保留“禁用”状态,除非你的配置特别需要此设置 。 如果确实需要此设置,则默认 ASN 为 65515,但可以更改此值。
  2. 选择“查看 + 创建” ,运行验证。

  3. 验证通过后,选择“创建” 以部署 VPN 网关。

可以在网关的“概述”页上查看部署状态。 网关通常可能需要 45 分钟或更长时间才能完全创建和部署。 创建网关后,可以通过在门户中查看虚拟网络,来查看已分配给网关的 IP 地址。 网关显示为连接的设备。

重要

处理网关子网时,请避免将网络安全组 (NSG) 关联到网关子网。 将网络安全组关联到此子网可能会导致虚拟网络网关(VPN 和 Express Route 网关)停止按预期方式工作。 有关网络安全组的详细信息,请参阅什么是网络安全组?

客户端地址池

客户端地址池是指定的专用 IP 地址的范围。 通过点到站点 VPN 进行连接的客户端动态接收此范围内的 IP 地址。 使用专用 IP 地址范围时,该范围不得与要通过其进行连接的本地位置重叠,也不得与要连接到其中的 VNet 重叠。 如果配置了多个协议,并且 SSTP 是其中一个协议,则配置的地址池将在配置的协议之间平均分配。

  1. 创建虚拟网关后,请导航到虚拟网关页的“设置”部分。 在“设置”中,选择“点到站点配置” 。 选择“立即配置”,打开配置页。

    点到站点配置页的屏幕截图。

  2. 在“点到站点配置”页上,可以配置各种设置。 在“地址池”框中,添加要使用的专用 IP 地址范围。 VPN 客户端动态接收指定范围内的 IP 地址。 主动/被动配置的最小子网掩码为 29 位,主动/主动配置的最小子网掩码为 28 位。

    地址池的屏幕截图。

  3. 转到下一部分以配置身份验证和隧道类型。

身份验证和隧道类型

在本部分中,你将配置身份验证类型和隧道类型。 如果在“点到站点配置”页上未显示“隧道类型”或“身份验证类型”,则表示网关使用的是基本 SKU 。 基本 SKU 不支持 IKEv2 或 RADIUS 身份验证。 若要使用这些设置,需要使用另一网关 SKU 删除并重新创建网关。

身份验证类型的屏幕截图。

隧道类型

在“点到站点配置”页上,选择“OpenVPN (SSL)”作为隧道类型。

身份验证类型

对于“身份验证类型”,请选择所需的类型。 选项包括:

  • Azure 证书
  • RADIUS
  • Azure Active Directory

根据所选的身份验证类型,将看到需要填写的不同配置设置字段。 填写所需信息,然后选择页面顶部的“保存”以保存所有配置设置。

有关身份验证类型的详细信息,请参阅:

VPN 客户端配置包

必须用客户端配置设置来配置 VPN 客户端。 VPN 客户端配置包包含的文件具有将 VPN 客户端配置为通过 P2S 连接连接到 VNet 的设置。

有关生成和安装 VPN 客户端配置文件的说明,请查看与配置相关的文章:

点到站点常见问题解答

本部分包含有关点到站点配置的常见问题解答信息。 还可以查看 VPN 网关常见问题解答,了解有关 VPN 网关的其他信息。

在我的点到站点配置中,可以有多少 VPN 客户端终结点?

这取决于网关 SKU。 有关支持的连接数的详细信息,请参阅网关 SKU

点到站点连接可以用于哪些客户端操作系统?

支持以下客户端操作系统:

  • Windows Server 2008 R2(仅 64 位)
  • Windows 8.1(32 位和 64 位)
  • Windows Server 2012(仅 64 位)
  • Windows Server 2012 R2(仅 64 位)
  • Windows Server 2016(仅 64 位)
  • Windows Server 2019(仅限 64 位)
  • Windows 10
  • macOS 10.11 或更高版本
  • Linux (StrongSwan)
  • iOS

备注

从 2018 年 7 月 1 日开始,Azure VPN 网关将不再支持 TLS 1.0 和 1.1。 VPN 网关将仅支持 TLS 1.2。 若要维持支持,请参阅更新以支持 TLS1.2

此外,TLS 也将于 2018 年 7 月 1 日起弃用以下旧算法:

  • RC4 (Rivest Cipher 4)
  • DES(数据加密算法)
  • 3DES(三重数据加密算法)
  • MD5(消息摘要 5)

如何在 Windows 8.1 中启用对 TLS 1.2 的支持?

  1. 右键单击“命令提示符”并选择“以管理员身份运行”,使用提升的权限打开命令提示符。

  2. 在命令提示符处运行以下命令:

    reg add HKLM\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13 /v TlsVersion /t REG_DWORD /d 0xfc0
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" /v DefaultSecureProtocols /t REG_DWORD /d 0xaa0
    if %PROCESSOR_ARCHITECTURE% EQU AMD64 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" /v DefaultSecureProtocols /t REG_DWORD /d 0xaa0
    
  3. 安装以下更新:

  4. 重新启动计算机。

  5. 连接到 VPN。

备注

如果运行的是旧版本的 Windows 10 (10240),则必须设置上述注册表项。

能否使用点到站点功能穿越代理和防火墙?

Azure 支持三种类型的点到站点 VPN 选项:

  • 安全套接字隧道协议 (SSTP)。 SSTP 是 Microsoft 专有的基于 SSL 的解决方案,它可以穿透防火墙,因为大多数防火墙都打开了 443 SSL 使用的出站 TCP 端口。

  • OpenVPN。 OpenVPN 是基于 SSL 的解决方案,它可以穿透防火墙,因为大多数防火墙都打开了 443 SSL 使用的出站 TCP 端口。

  • IKEv2 VPN。 IKEv2 VPN 是一个基于标准的 IPsec VPN 解决方案,它使用出站 UDP 端口 500 和 4500 以及 IP 协议号。 50。 防火墙并非始终打开这些端口,因此,IKEv2 VPN 有可能无法穿过代理和防火墙。

如果重新启动进行过点到站点配置的客户端计算机,是否会自动重新连接 VPN?

默认情况下,客户端计算机将不自动重新建立 VPN 连接。

点到站点在 VPN 客户端上是否支持自动重新连接和 DDNS?

点到站点 VPN 中当前不支持自动重新连接和 DDNS。

对于同一虚拟网络,站点到站点和点到站点配置能否共存?

是的。 对于资源管理器部署模型,必须为网关使用 RouteBased VPN 类型。 对于经典部署模型,需要一个动态网关。 不支持将点到站点配置用于静态路由 VPN 网关或 PolicyBased VPN 网关。

能否将点到站点客户端配置为同时连接到多个虚拟网络网关?

根据所使用的 VPN 客户端软件,你可能可以连接到多个虚拟网络网关,前提是,要连接到的虚拟网络在它们或客户端要从中进行连接的网络之间不存在冲突的地址空间。 尽管 Azure VPN 客户端支持多个 VPN 连接,但在任何给定时间,都只能建立一个连接。

能否将点到站点客户端配置为同时连接到多个虚拟网络?

可以。到部署在与其他 VNet 对等互连的 VNet 中的虚拟网络网关的点到站点客户端连接可能可以访问其他对等互连 VNet。 只要对等互连 VNet 使用 UseRemoteGateway/AllowGatewayTransit 功能,点到站点客户端就能够连接到这些对等互连 VNet。 有关详细信息,请参阅关于点到站点路由

预计通过站点到站点连接或点到站点连接的吞吐量有多少?

很难维持 VPN 隧道的准确吞吐量。 IPsec 和 SSTP 是重重加密的 VPN 协议。 本地网络与 Internet 之间的延迟和带宽也限制了吞吐量。 对于仅具有 IKEv2 点到站点 VPN 连接的 VPN 网关,期望可以实现的总吞吐量取决于网关 SKU。 有关吞吐量的详细信息,请参阅网关 SKU

是否可以将任何软件 VPN 客户端用于支持 SSTP 和/或 IKEv2 的点到站点配置?

不是。 只能将 Windows 上的本机 VPN 客户端用于 SSTP,只能将 Mac 上的本机 VPN 客户端用于 IKEv2。 但是,可以在所有平台上使用 OpenVPN 客户端,以便通过 OpenVPN 协议进行连接。 请参阅支持的客户端操作系统的列表。

能否更改点到站点连接的身份验证类型?

是的。 在门户中,导航到“VPN 网关 -> 点到站点配置”页。 对于“身份验证类型”,请选择要使用的身份验证类型。 请注意,更改身份验证类型后,当前客户端可能无法连接,直到生成并下载新的 VPN 客户端配置文件,并将其应用于每个 VPN 客户端为止。

Azure 是否支持使用 Windows 的 IKEv2 VPN?

在 Windows 10 和 Server 2016 上支持 IKEv2。 但是,若要在某些 OS 版本中使用 IKEv2,必须在本地安装更新并设置注册表项值。 请注意,Windows 10 以前的 OS 版本不受支持,并且只能使用 SSTP 或 OpenVPN® 协议。

注意:比 Windows 10 版本 1709 和 Windows Server 2016 版本 1607 更新的 Windows OS 内部版本不需要这些步骤。

为运行 IKEv2 准备 Windows 10 或 Server 2016:

  1. 根据 OS 版本安装更新:

    OS 版本 Date 编号/链接
    Windows Server 2016
    Windows 10 版本 1607
    2018 年 1 月 17 日 KB4057142
    Windows 10 版本 1703 2018 年 1 月 17 日 KB4057144
    Windows 10 版本 1709 2018 年 3 月 22 日 KB4089848
  2. 设置注册表项值。 在注册表中创建“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\ IKEv2\DisableCertReqPayload”REG_DWORD 键或将其设置为 1。

为 P2S VPN 连接配置 SSTP 和 IKEv2 时,会发生什么情况?

在混合环境(包括 Windows 和 Mac 设备)中同时配置了 SSTP 和 IKEv2 时,Windows VPN 客户端始终将先尝试使用 IKEv2 隧道,但如果 IKEv2 连接不成功将回退到 SSTP。 MacOSX 将仅通过 IKEv2 进行连接。

除了 Windows 和 Mac 以外,Azure 还支持在其他哪些平台上使用 P2S VPN?

Azure 支持将 Windows、Mac 和 Linux 用于 P2S VPN。

我已部署 Azure VPN 网关。 是否可在该网关上启用 RADIUS 和/或 IKEv2 VPN?

是的,如果使用的网关 SKU 支持 RADIUS 和/或 IKEv2,则可以在已使用 PowerShell 或 Azure 门户部署的网关上启用这些功能。 请注意,基本 SKU 不支持 RADIUS 或 IKEv2。

如何删除 P2S 连接的配置?

可以通过 Azure CLI 和 PowerShell 使用以下命令删除 P2S 配置:

Azure PowerShell

$gw=Get-AzVirtualNetworkGateway -name <gateway-name>`  
$gw.VPNClientConfiguration = $null`  
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $gw`

Azure CLI

az network vnet-gateway update --name <gateway-name> --resource-group <resource-group name> --remove "vpnClientConfiguration"

如果在使用证书身份验证进行连接时收到指示证书不匹配的消息,我该怎么办?

取消选中“通过验证证书来验证服务器的标识” ,或在手动创建配置文件时 将服务器 FQDN 随证书一起添加。 为此,可以在命令提示符下运行 rasphone,并从下拉列表中选择配置文件。

通常不建议绕过服务器标识验证,但在使用 Azure 证书身份验证的情况下,会在 VPN 隧道协议 (IKEv2/SSTP) 和 EAP 协议中将同一证书用于服务器验证。 由于服务器证书和 FQDN 已通过 VPN 隧道协议进行验证,因此在 EAP 中再次验证同一证书就是多余的。

点到站点身份验证

是否可以使用自己的内部 PKI 根 CA 来生成用于点到站点连接的证书?

是的。 以前只可使用自签名根证书。 仍可上传 20 个根证书。

是否可以使用 Azure 密钥保管库中的证书?

不是。

可以使用哪些工具来创建证书?

可以使用企业 PKI 解决方案(内部 PKI)、Azure PowerShell、MakeCert 和 OpenSSL。

是否有证书设置和参数的说明?

  • 内部 PKI/企业 PKI 解决方案: 请参阅 生成证书的步骤。

  • Azure PowerShell: 请参阅 Azure PowerShell 一文了解相关步骤。

  • MakeCert: 请参阅 MakeCert 一文了解相关步骤。

  • OpenSSL:

    • 导出证书时,请务必将根证书转换为 Base64。

    • 对于客户端证书:

      • 创建私钥时,请将长度指定为 4096。
      • 创建证书时,对于 -extensions 参数,指定 usr_cert

后续步骤

连接完成后,即可将虚拟机添加到虚拟网络。 有关详细信息,请参阅虚拟机。 若要详细了解网络和虚拟机,请参阅 Azure 和 Linux VM 网络概述

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