使用 Azure VPN 网关点到站点连接实现远程工作

注意

本文介绍如何利用 Azure VPN 网关、Azure、Microsoft 网络和 Azure 合作伙伴生态系统进行远程工作,以及如何缓解因新冠肺炎危机而面临的网络问题。

本文将介绍可供组织用来为其用户设置远程访问的选项,或者在 COVID-19 疫情期间通过附加容量补充其现有解决方案的选项。

Azure 点到站点解决方案基于云且可快速预配,以满足在家办公用户的不断增长需求。 可以轻松纵向扩展该解决方案,不再需要多出的容量时,同样可以快速轻松地将其关闭。

关于点到站点 VPN

点到站点 (P2S) VPN 网关连接用于创建从单个客户端计算机到虚拟网络的安全连接。 可通过从客户端计算机启动连接来建立 P2S 连接。 对于要从远程位置(例如在家里或会议室)连接到 Azure VNet 或本地数据中心的远程工作者,此解决方案很有用。 本文根据各种场景介绍如何让用户实现远程工作。

下表显示了客户端操作系统及其可用的身份验证选项。 这些信息可以帮助用户根据已在使用的客户端 OS 选择身份验证方法。 例如,如果混合使用了需要连接的客户端操作系统,请选择使用基于证书的身份验证的 OpenVPN。 另请注意,只有基于路由的 VPN 网关才支持点到站点 VPN。

显示客户端操作系统和可用身份验证选项的屏幕截图。

方案 1 - 用户只需访问 Azure 中的资源

在此场景中,远程用户只需访问 Azure 中的资源。

此图显示了用户只需访问 Azure 中的资源的点到站点方案。

从较高层面讲,需要执行以下步骤才能使用户安全连接到 Azure 资源:

  1. 创建虚拟网关(如果该网关不存在)。

  2. 在网关上配置点到站点 VPN。

    • 对于证书身份验证,请打开此链接
    • 对于 OpenVPN,请打开此链接
    • 对于 Microsoft Entra 身份验证,请按照此链接进行操作。
    • 若要排查点到站点连接问题,请打开此链接
  3. 下载并分发 VPN 客户端配置。

  4. 向客户端分发证书(如果选择了证书身份验证)。

  5. 连接到 Azure VPN。

场景 2 - 用户需要访问 Azure 中的资源和/或本地资源

在此场景中,远程用户需要访问 Azure 中以及本地数据中心内的资源。

此图显示了用户需访问 Azure 中的资源的点到站点方案。

从较高层面讲,需要执行以下步骤才能使用户安全连接到 Azure 资源:

  1. 创建虚拟网关(如果该网关不存在)。
  2. 在网关上配置点到站点 VPN(请参阅方案 1)。
  3. 在启用了 BGP 的 Azure 虚拟网关上配置站点到站点隧道。
  4. 配置本地设备以连接到 Azure 虚拟网关。
  5. 从 Azure 门户下载点到站点配置文件并将其分发到客户端

若要了解如何设置站点到站点 VPN 隧道,请参阅此链接

本机 Azure 证书身份验证常见问题解答

点到站点配置中可有多少个 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 Server 2022(仅限 64 位)
  • Windows 10
  • Windows 11
  • macOS 10.11 或更高版本
  • Linux (StrongSwan)
  • iOS

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

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 协议 no. 50。 防火墙并非始终打开这些端口,因此,IKEv2 VPN 有可能无法穿过代理和防火墙。

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

自动重新连接是所使用的客户端的功能。 Windows 支持通过配置“Always On 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。

点到站点连接的 IKEv2 流量选择器限制是多少?

Windows 10 版本 2004(2021 年 9 月发布)将流量选择器限制增加到 255。 在此之前的 Windows 版本的流量选择器限制为 25。

Windows 中的流量选择器限制决定了虚拟网络中的最大地址空间数以及本地网络、VNet 到 VNet 连接以及连接到网关的对等互连 VNet 的最大总和。 如果基于 Windows 的点到站点客户端超过此限制,它们将无法通过 IKEv2 连接。

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

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

当你在网关上同时启用 SSTP 和 IKEv2 后,点到站点地址池将在两者之间静态拆分,因此系统将从任一子范围为使用不同协议的客户端分配 IP 地址。 请注意,即使地址范围大于 /24,SSTP 客户端的最大数量也始终为 128,导致 IKEv2 客户端的可用地址量更大。 对于较小的范围,池将减半。 网关使用的流量选择器可能不包括点到站点地址范围 CIDR,但包括两个子范围 CIDR。

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

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

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

是的,如果所用网关 SKU 支持 RADIUS 和/或 IKEv2,则可以使用 PowerShell 或 Microsoft 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

RADIUS 身份验证常见问题解答

点到站点配置中可有多少个 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 Server 2022(仅限 64 位)
  • Windows 10
  • Windows 11
  • macOS 10.11 或更高版本
  • Linux (StrongSwan)
  • iOS

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

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 协议 no. 50。 防火墙并非始终打开这些端口,因此,IKEv2 VPN 有可能无法穿过代理和防火墙。

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

自动重新连接是所使用的客户端的功能。 Windows 支持通过配置“Always On 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。

点到站点连接的 IKEv2 流量选择器限制是多少?

Windows 10 版本 2004(2021 年 9 月发布)将流量选择器限制增加到 255。 在此之前的 Windows 版本的流量选择器限制为 25。

Windows 中的流量选择器限制决定了虚拟网络中的最大地址空间数以及本地网络、VNet 到 VNet 连接以及连接到网关的对等互连 VNet 的最大总和。 如果基于 Windows 的点到站点客户端超过此限制,它们将无法通过 IKEv2 连接。

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

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

当你在网关上同时启用 SSTP 和 IKEv2 后,点到站点地址池将在两者之间静态拆分,因此系统将从任一子范围为使用不同协议的客户端分配 IP 地址。 请注意,即使地址范围大于 /24,SSTP 客户端的最大数量也始终为 128,导致 IKEv2 客户端的可用地址量更大。 对于较小的范围,池将减半。 网关使用的流量选择器可能不包括点到站点地址范围 CIDR,但包括两个子范围 CIDR。

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

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

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

是的,如果所用网关 SKU 支持 RADIUS 和/或 IKEv2,则可以使用 PowerShell 或 Microsoft 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"

是否所有 Azure VPN 网关 SKU 都支持 RADIUS 身份验证?

除了基本 SKU 之外,所有 SKU 都支持 RADIUS 身份验证。

对于旧版 SKU,标准和高性能 SKU 支持 RADIUS 身份验证。 基本网关 SKU 不支持该身份验证。

经典部署模型是否支持 RADIUS 身份验证?

否。 经典部署模型不支持 RADIUS 身份验证。

发送到 RADIUS 服务器的 RADIUS 请求的超时期限是多少?

RADIUS 请求设置为在 30 秒后超时。 目前不支持用户定义的超时值。

是否支持第三方 RADIUS 服务器?

是的,支持第三方 RADIUS 服务器。

若要确保 Azure 网关能够访问本地 RADIUS 服务器,对连接有何要求?

需要具有到本地站点的 VPN 站点到站点连接,并且需要配置正确的路由。

是否可以通过 ExpressRoute 连接来传送(从 Azure VPN 网关)流向本地 RADIUS 服务器的流量?

否。 它只能通过站点到站点连接进行传送。

RADIUS 身份验证支持的 SSTP 连接数是否有变化? 支持的最大 SSTP 和 IKEv2 连接数是多少?

RADIUS 身份验证在网关上支持的最大 SSTP 连接数没有变化。 对于 SSTP,仍然为 128;但对于 IKEv2,则取决于网关 SKU。 有关支持的连接数的详细信息,请参阅网关 SKU

使用 RADIUS 服务器执行证书身份验证与使用 Azure 本机证书身份验证执行身份验证(通过将受信任的证书上传到 Azure)之间有何区别?

在 RADIUS 证书身份验证中,身份验证请求被转发到处理实际证书验证的 RADIUS 服务器。 如果希望通过 RADIUS 与已有的证书身份验证基础结构进行集成,则此选项非常有用。

使用 Azure 进行证书身份验证时,由 Azure VPN 网关执行证书验证。 需要将证书公钥上传到网关。 还可以指定不允许进行连接的已吊销证书的列表。

RADIUS 身份验证是否同时适用于 IKEv2 和 SSTP VPN?

是的,IKEv2 和 SSTP VPN 都支持 RADIUS 身份验证。

RADIUS 身份验证是否适用于 OpenVPN 客户端?

OpenVPN 协议支持 RADIUS 身份验证。

后续步骤

“OpenVPN”是 OpenVPN Inc. 的商标。