使用本机 Azure 证书身份验证配置与 VNet 的点到站点连接:Azure 门户

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

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

体系结构

点到站点本机 Azure 证书身份验证连接使用可在此练习中配置的以下项目:

  • RouteBased VPN 网关。
  • 适用于根证书的公钥(.cer 文件),已上传到 Azure。 上传证书以后,该证书将被视为受信任的证书,用于身份验证。
  • 从根证书生成的客户端证书。 安装在要连接到 VNet 的每个客户端计算机上的客户端证书。 此证书用于客户端身份验证。
  • VPN 客户端配置。 VPN 客户端配置文件包含客户端连接到 VNet 时所需的信息。 这些文件对操作系统自带的现有 VPN 客户端进行配置。 必须使用配置文件中的设置对进行连接的每个客户端进行配置。

示例值

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

  • VNet 名称: VNet1
  • 地址空间: 192.168.0.0/16
    对于此示例,我们只使用一个地址空间。 对于 VNet,可以有多个地址空间。
  • 子网名称: FrontEnd
  • 子网地址范围: 192.168.1.0/24
  • 订阅: 如果有多个订阅,请确保使用正确的订阅。
  • 资源组: TestRG
  • 位置: 中国北部
  • 网关子网: 192.168.200.0/24
  • DNS 服务器:(可选)要用于名称解析的 DNS 服务器的 IP 地址。
  • 虚拟网络网关名称: VNet1GW
  • 网关类型: VPN
  • VPN 类型: 基于路由
  • 公共 IP 地址名称: VNet1GWpip
  • 连接类型: 点到站点
  • 客户端地址池: 172.16.201.0/24
    使用此点到站点连接连接到 VNet 的 VPN 客户端接收来自客户端地址池的 IP 地址。

1.创建虚拟网络

开始之前,请确保拥有 Azure 订阅。 如果还没有 Azure 订阅,可以注册一个试用帐户

若要使用 Azure 门户在 Resource Manager 部署模型中创建 VNet,请执行以下步骤。 这些屏幕截图作为示例提供。 请务必替换成自己的值。 有关使用虚拟网络的详细信息,请参阅 虚拟网络概述

Note

若要让此 VNet 连接到本地位置(并且还创建 P2S 配置),需与本地网络管理员协调操作,指定一个 IP 地址范围,将其专用于此虚拟网络。 如果 VPN 连接的两侧存在重复的地址范围,则流量不会按预期的方式路由。 另外,若要将此 VNet 连接到其他 VNet,则地址空间不能与其他 VNet 重叠。 请注意对网络配置进行相应的计划。

  1. 从浏览器导航到 Azure 门户,并在必要时用 Azure 帐户登录。

  2. 单击“+”。 在“在市场中搜索”字段中,键入“虚拟网络”。 从返回的列表中找到“虚拟网络”,单击打开“虚拟网络”页。

    查找虚拟网络资源页

  3. 从靠近“虚拟网络”页底部的“选择部署模型”列表中,选择“资源管理器”,然后单击“创建”。

    选择资源管理器

  4. 在“创建虚拟网络”页上,配置 VNet 设置。 填写字段时,如果在字段中输入的字符有效,红色感叹号标记会变成绿色对钩标记。 可能会有自动填充的值。 如果出现这种情况,将值替换为自己的值。 “创建虚拟网络”页看起来与以下示例类似:

    字段验证

  5. 名称:输入虚拟网络的名称。

  6. 地址空间:输入地址空间。 如果有多个要添加的地址空间,请添加第一个地址空间。 可在创建 VNet 后再添加其他地址空间。

  7. 订阅:确认列出的订阅是正确的。 可以使用下拉列表更改订阅。

  8. 资源组:选择现有的资源组,或键入新资源组的名称以创建新的资源组。 如果要创建新组,请根据计划的配置值来命名资源组。 有关资源组的详细信息,请访问 Azure Resource Manager 概述

  9. 位置:选择 VNet 的位置。 该位置确定要部署到此 VNet 的资源所在的位置。

  10. 子网:添加子网名称和子网地址范围。 可在创建 VNet 后再添加其他子网。

  11. 如果希望能够在仪表板上轻松查找 VNet,请选择“固定到仪表板”,并单击“创建”。

    固定到仪表板

  12. 单击“创建” 后,会看到仪表板上有一个反映 VNet 进度的磁贴。 创建 VNet 时,该磁贴会更改。

    创建虚拟网络磁贴

2.添加网关子网

将虚拟网络连接到网关之前,必须先创建要连接的虚拟网络的网关子网。 网关服务使用网关子网中指定的 IP 地址。 如果可能,请使用 CIDR 块 /28 或 /27 创建网关子网,以便提供足够的 IP 地址,满足将来的其他配置要求。

  1. 门户中,导航到要为其创建虚拟网关的 Resource Manager 虚拟网络。

  2. 在 VNet 页的“设置”部分单击“子网”,展开“子网”页。

  3. 在“子网”页中,单击“+网关子网”打开“添加子网”页。

    添加网关子网

  4. 子网的“名称”自动填充为值“GatewaySubnet”。 Azure 需要此值才能识别作为网关子网的子网。 调整自动填充的地址范围值,使其匹配配置要求。 请不要配置路由表或服务终结点。

    添加子网

  5. 单击页面底部的“确定”以创建子网。

3.指定 DNS 服务器(可选)

创建虚拟网络后,可以添加 DNS 服务器的 IP 地址来处理名称解析。 DNS 服务器对于此配置是可选的,但在需要名称解析的情况下是必需的。 指定一个值不会创建新的 DNS 服务器。 指定的 DNS 服务器 IP 地址应该是可以解析所连接的资源名称的 DNS 服务器。 对于此示例,我们使用了专用 IP 地址,但这可能不是你 DNS 服务器的 IP 地址。 请务必使用自己的值。 你指定的值将由部署到 VNet 的资源使用,而不是由 P2S 连接或 VPN 客户端使用。

  1. 在虚拟网络页面的“设置”部分中,选择“DNS 服务器”以打开“DNS 服务器”页面。

  2. 在“DNS 服务器”页面上,填写以下值:

    • DNS 服务器:选择“自定义”。

    • 添加 DNS 服务器:输入要用于名称解析的 DNS 服务器的 IP 地址。

  3. 完成添加 DNS 服务器后,选择“保存”。

    指定 DNS 服务器

4.创建虚拟网关

  1. 在门户左侧单击“+ 创建资源”,然后在搜索框中键入“虚拟网关”。 在搜索返回结果中找到“虚拟网络网关”,并单击该条目。 在“虚拟网络网关”页上,单击页面底部的“创建”。 这会打开“创建虚拟网关”页。

  2. 在“创建虚拟网关”页中,填写虚拟网关的值。

    创建虚拟网关页字段

  3. 在“创建虚拟网关”页中,指定虚拟网关的值。

    • 名称:为网关命名。 这与为网关子网命名不同。 它是要创建的网关对象的名称。

    • 网关类型:选择“VPN”。 VPN 网关使用虚拟网络网关类型“VPN”。

    • VPN 类型:选择为你的配置指定的 VPN 类型。 大多数配置要求基于路由的 VPN 类型。

    • SKU:从下拉列表中选择网关 SKU。 下拉列表中列出的 SKU 取决于选择的 VPN 类型。 有关网关 SKU 的详细信息,请参阅网关 SKU

      仅当要创建主动-主动网关配置时,才选择“启用主动-主动模式”。 否则,请将此设置保留未选择状态。

    • 位置:可能需要滚动才能看到“位置”。 调整“位置” 字段,使其指向虚拟网络所在的位置。 例如,中国北部。 如果该位置未指向虚拟网络所在的区域,则在下一步中选择虚拟网络时,该位置将不会显示在下拉列表中。

    • 虚拟网络:选择要将此网关添加到其中的虚拟网络。 单击“虚拟网络”打开“选择虚拟网络”页。 选择 VNet。 如果看不到 VNet,请确保“位置”字段指向虚拟网络所在的区域。

    • 网关子网地址范围:仅当以前没有为虚拟网络创建网关子网时,才会看到此设置。 如果之前创建了有效的网关子网,则不会显示此设置。

    • 公共 IP 地址:此设置指定与 VPN 网关关联的公共 IP 地址对象。 创建 VPN 网关后,会将公共 IP 地址动态分配给此对象。 VPN 网关当前仅支持动态公共 IP 地址分配。 但这并不意味着 IP 地址在分配到 VPN 网关后会更改。 公共 IP 地址只在删除或重新创建网关时更改。 该地址不会因为 VPN 网关大小调整、重置或其他内部维护/升级而更改。

      • 让“新建”保持选中状态。
      • 在文本框中,键入公共 IP 地址的名称
  4. 让“配置 BGP ASN”保留取消选中状态,除非你的配置特别需要此设置。 如果确实需要此设置,则默认 ASN 为 65515,但可以更改此值。

  5. 验证设置。 如果希望网关显示在仪表板上,可以在页底部选择“固定到仪表板”。

  6. 单击“创建”开始创建 VPN 网关。 将会验证这些设置,并会在仪表板上看到“正在部署虚拟网络网关”磁贴。 创建网关最多可能需要 45 分钟。 可能需要刷新门户页才能看到完成状态。

创建网关后,即可在门户中查看虚拟网络,从而查看分配给网关的 IP 地址。 网关显示为连接的设备。 可以单击连接的设备(虚拟网络网关),查看详细信息。

Note

基本 SKU 不支持 IKEv2 或 RADIUS 身份验证。 如果计划让 Mac 客户端连接到虚拟网络,请不要使用基本 SKU。

5.生成证书

Azure 使用证书对通过点到站点 VPN 连接连接到 VNet 的客户端进行身份验证。 获得根证书后,即可将公钥信息上传到 Azure。 然后,Azure 就会将该根证书视为通过 P2S 连接到虚拟网络时需要使用的“受信任的”证书。 也可从受信任的根证书生成客户端证书,然后将其安装在每个客户端计算机上。 当客户端发起与 VNet 的连接时,需使用客户端证书对客户端进行身份验证。

1.获取根证书的 .cer 文件

使用通过企业解决方案生成的根证书(推荐),或者生成自签名证书。 创建根证书后,将公共证书数据(不是私钥)作为 Base64 编码的 X.509 .cer 文件导出。 然后,将公共证书数据上传到 Azure 服务器。

  • 企业证书: 如果使用的是企业级解决方案,可以使用现有的证书链。 获取要使用的根证书的 .cer 文件。

  • 自签名根证书: 如果使用的不是企业证书解决方案,请创建自签名根证书。 否则,创建的证书将不兼容 P2S 连接,客户端在尝试连接时会收到连接错误。 可以使用 Azure PowerShell、MakeCert 或 OpenSSL。 以下文章中的步骤介绍了如何生成兼容的自签名根证书:

    • Windows 10 PowerShell 说明:这些说明要求使用 Windows 10 和 PowerShell 来生成证书。 从根证书生成的客户端证书可以安装在任何受支持的 P2S 客户端上。
    • MakeCert 说明:使用 MakeCert 的前提是,无法接触用于生成证书的 Windows 10 计算机。 虽然 MakeCert 已弃用,但仍可使用它来生成证书。 从根证书生成的客户端证书可以安装在任何受支持的 P2S 客户端上。
    • Linux 说明

2.生成客户端证书

在使用点到站点连接连接到 VNet 的每台客户端计算机上,必须安装客户端证书。 请从根证书生成它,然后将它安装在每个客户端计算机上。 如果未安装有效的客户端证书,则当客户端尝试连接到 VNet 时,身份验证会失败。

可以为每个客户端生成唯一证书,也可以对多个客户端使用同一证书。 生成唯一客户端证书的优势是能够吊销单个证书。 否则,如果多个客户端使用相同的客户端证书进行身份验证而你将其撤销,则需为所有使用该证书的客户端生成并安装新证书。

可以通过以下方法生成客户端证书:

  • 企业证书:

    • 如果使用的是企业证书解决方案,请使用通用名称值格式 name@yourdomain.com 生成客户端证书, 而不要使用“域名\用户名”格式。
    • 请确保客户端证书基于“用户”证书模板,该模板将“客户端身份验证”列为用户列表中的第一项。 检查证书的方式是:双击证书,然后在“详细信息”选项卡中查看“增强型密钥用法”。
  • 自签名根证书: 按照下述某篇 P2S 证书文章中的步骤操作,使创建的客户端证书兼容 P2S 连接。 这些文章中的步骤可生成兼容的客户端证书:

    • Windows 10 PowerShell 说明:这些说明要求使用 Windows 10 和 PowerShell 来生成证书。 生成的证书可以安装在任何受支持的 P2S 客户端上。
    • MakeCert 说明:如果无权访问 Windows 10 计算机来生成证书,请使用 MakeCert。 虽然 MakeCert 已弃用,但仍可使用它来生成证书。 可以将生成的证书安装在任何受支持的 P2S 客户端上。
    • Linux 说明

    从自签名根证书生成客户端证书时,该证书会自动安装在用于生成该证书的计算机上。 如果想要在另一台客户端计算机上安装客户端证书,请以 .pfx 文件格式导出该证书以及整个证书链。 这样做会创建一个 .pfx 文件,其中包含的根证书信息是客户端进行身份验证所必需的。

导出证书

如需导出证书的步骤,请参阅使用 PowerShell 为点到站点连接生成和导出证书

6.添加客户端地址池

客户端地址池是指定的专用 IP 地址的范围。 通过点到站点 VPN 进行连接的客户端动态接收此范围内的 IP 地址。 使用专用 IP 地址范围时,该范围不得与要通过其进行连接的本地位置重叠,也不得与要连接到其中的 VNet 重叠。

  1. 创建虚拟网关后,请导航到虚拟网关页的“设置”部分。 在“设置”部分单击“点到站点配置”。

    “点到站点”页

  2. 单击“立即配置”,打开配置页。

    立即配置

  3. 在“点到站点”配置页的“地址池”框中,添加要使用的专用 IP 地址范围。 VPN 客户端动态接收指定范围内的 IP 地址。 单击“保存”验证并保存设置。

    客户端地址池

    Note

    如果门户中的此页上未显示“隧道类型”或“身份验证类型”,则表示网关使用的是基本 SKU。 基本 SKU 不支持 IKEv2 或 RADIUS 身份验证。

7.配置隧道类型

可以选择隧道类型。 两个隧道选项是 SSTP 和 IKEv2。 Android 和 Linux 上的 strongSwan 客户端以及 iOS 和 OSX 上的本机 IKEv2 VPN 客户端仅会使用 IKEv2 隧道进行连接。 Windows 客户端会首先尝试 IKEv2,如果不能连接,则会回退到 SSTP。 可以选择启用其中之一或启用两者。 选择解决方案需要的复选框。

隧道类型

8.配置身份验证类型

选择“Azure 证书”。

隧道类型

9.上传根证书的公共证书数据

可以上传更多受信任的根证书(最多 20 个)。 上传公共证书数据后,Azure 即可使用该数据对已安装客户端证书(根据受信任的根证书生成)的客户端进行身份验证。 将根证书的公钥信息上传到 Azure。

  1. 证书在“点到站点配置”页的“根证书”部分添加。

  2. 请确保已导出了格式为 Base-64 编码的 X.509 (.cer) 文件的根证书。 需要以这种格式导出证书,以便使用文本编辑器打开该证书。

  3. 使用记事本之类的文本编辑器打开该证书。 复制证书数据时,请确保将文本复制为一个无回车符或换行符的连续行。 可能需要在文本编辑器中将视图修改为“显示符号/显示所有字符”以查看回车符和换行符。 仅将以下部分复制为一个连续行:

    证书数据

  4. 将证书数据粘贴到“公共证书数据”字段中。 命名该证书,然后单击“保存”。 最多可以添加 20 个受信任的根证书。

    证书上传

  5. 单击页面顶部的“保存”来保存所有配置设置。

    保存

10.安装已导出的客户端证书

如果想要从另一台客户端计算机(而不是用于生成客户端证书的计算机)创建 P2S 连接,需要安装客户端证书。 安装客户端证书时,需要使用导出客户端证书时创建的密码。

确保已将客户端证书与整个证书链(默认)一起作为 .pfx 导出。 否则,根证书信息就不会出现在客户端计算机上,客户端将无法进行正常的身份验证。

有关安装步骤,请参阅安装客户端证书

11.生成和安装 VPN 客户端配置包

VPN 客户端配置文件包含的设置用来对设备进行配置以通过 P2S 连接来连接到 VNet。 有关生成和安装 VPN 客户端配置文件的说明,请参阅为本机 Azure 证书身份验证 P2S 配置创建和安装 VPN 客户端配置文件

12.连接到 Azure

从 Windows VPN 客户端进行连接

Note

在要从其进行连接的 Windows 客户端计算机上,你必须拥有管理员权限。

  1. 若要连接到 VNet,请在客户端计算机上导航到 VPN 连接,找到创建的 VPN 连接。 其名称与虚拟网络的名称相同。 单击“连接” 。 可能会出现与使用证书相关的弹出消息。 单击“继续”使用提升的权限。

  2. 在“连接”状态页上,单击“连接”以启动连接。 如果看到“选择证书”屏幕,请确保所显示的客户端证书是要用来连接的证书。 如果不是,请使用下拉箭头选择正确的证书,并单击“确定”。

    VPN 客户端连接到 Azure

  3. 连接已建立。

    已建立连接

对 Windows P2S 连接进行故障排除

如果在连接时遇到问题,请检查以下项:

  • 如果你已通过证书导出向导导出客户端证书,请确保已将其导出为 .pfx 文件并选中了“包括证书路径中的所有证书(如果可能)”。 使用此值将其导出时,也会导出根证书信息。 在客户端计算机上安装证书后,还会安装 .pfx 文件中的根证书。 若要验证是否安装了根证书,请打开“管理用户证书”,然后选择“受信任的根证书颁发机构\证书”。 验证是否列出了根证书,必须存在根证书才能进行身份验证。

  • 如果使用的是由企业 CA 解决方案颁发的证书,并且无法进行身份验证,请在客户端证书上验证身份验证顺序。 通过双击客户端证书,选择“详细信息”选项卡并选择“增强型密钥用法”来检查身份验证列表顺序。 确保此列表中的第一项是“客户端身份验证”。 如果不是,请基于将“客户端身份验证”作为列表中第一项的用户模板颁发客户端证书。

  • 如需更多的 P2S 故障排除信息,请参阅排查 P2S 连接问题

从 Mac VPN 客户端进行连接

在“网络”对话框中,找到要使用的客户端配置文件,在 VpnSettings.xml 中指定设置,然后单击“连接”。

请查看安装 - Mac (OS X) 获取详细说明。 如果连接有问题,请验证虚拟网络网关是否未使用基本 SKU。 Mac 客户端不支持基本 SKU。

Mac 连接

验证连接

这些说明适用于 Windows 客户端。

  1. 如果要验证用户的 VPN 连接是否处于活动状态,请打开提升的命令提示符,并运行 ipconfig/all

  2. 查看结果。 请注意,收到的 IP 地址是在配置中指定的点到站点 VPN 客户端地址池中的地址之一。 结果与以下示例类似:

    PPP adapter VNet1:
       Connection-specific DNS Suffix .:
       Description.....................: VNet1
       Physical Address................:
       DHCP Enabled....................: No
       Autoconfiguration Enabled.......: Yes
       IPv4 Address....................: 172.16.201.3(Preferred)
       Subnet Mask.....................: 255.255.255.255
       Default Gateway.................:
       NetBIOS over Tcpip..............: Enabled
    

连接到虚拟机

这些说明适用于 Windows 客户端。

可以连接到已部署到 VNet 的 VM,方法是创建到 VM 的远程桌面连接。 若要通过初始验证来确认能否连接到 VM,最好的方式是使用其专用 IP 地址而不是计算机名称进行连接。 这种方式是测试能否进行连接,而不是测试名称解析是否已正确配置。

  1. 定位专用 IP 地址。 查找 VM 的专用 IP 地址时,可以通过 Azure 门户或 PowerShell 查看 VM 的属性。

    • Azure 门户 - 在 Azure 门户中定位虚拟机。 查看 VM 的属性。 专用 IP 地址已列出。

    • PowerShell - 通过此示例查看资源组中的 VM 和专用 IP 地址的列表。 在使用此示例之前无需对其进行修改。

      $VMs = Get-AzVM
      $Nics = Get-AzNetworkInterface | Where VirtualMachine -ne $null
      
      foreach($Nic in $Nics)
      {
      $VM = $VMs | Where-Object -Property Id -eq $Nic.VirtualMachine.Id
      $Prv = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAddress
      $Alloc = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAllocationMethod
      Write-Output "$($VM.Name): $Prv,$Alloc"
      }
      
  2. 验证是否已使用点到站点 VPN 连接连接到 VNet。

  3. 打开远程桌面连接,方法是:在任务栏的搜索框中键入“RDP”或“远程桌面连接”,并选择“远程桌面连接”。 也可在 PowerShell 中使用“mstsc”命令打开远程桌面连接。

  4. 在远程桌面连接中,输入 VM 的专用 IP 地址。 可以通过单击“显示选项”来调整其他设置,并进行连接。

排查到 VM 的 RDP 连接的问题

如果无法通过 VPN 连接连接到虚拟机,请检查以下项目:

  • 验证 VPN 连接是否成功。
  • 验证是否已连接到 VM 的专用 IP 地址。
  • 使用“ipconfig”检查分配给以太网适配器的 IPv4 地址,该适配器所在的计算机正是要从其进行连接的计算机。 如果该 IP 地址位于要连接到的 VNet 的地址范围内,或者位于 VPNClientAddressPool 的地址范围内,则称为地址空间重叠。 当地址空间以这种方式重叠时,网络流量不会抵达 Azure,而是呆在本地网络中。
  • 如果可以使用专用 IP 地址连接到 VM,但不能使用计算机名称进行连接,则请验证是否已正确配置 DNS。 若要详细了解如何对 VM 进行名称解析,请参阅针对 VM 的名称解析
  • 验证是否在为 VNet 指定 DNS 服务器 IP 地址之后,才生成 VPN 客户端配置包。 如果更新了 DNS 服务器 IP 地址,请生成并安装新的 VPN 客户端配置包。
  • 若要详细了解 RDP 连接,请参阅排查远程桌面连接到 VM 的问题

添加或删除受信任的根证书

可以在 Azure 中添加和删除受信任的根证书。 删除根证书时,如果客户端的证书是从该根生成的,则客户端不能进行身份验证,因此无法进行连接。 如果希望客户端进行身份验证和连接,则需安装新客户端证书,该证书是从委托(上传)给 Azure 的根证书生成的。

添加受信任的根证书

最多可以将 20 个受信任的根证书 .cer 文件添加到 Azure。 有关说明,请参阅本文的上传受信任的根证书部分。

删除受信任的根证书

  1. 若要删除受信任的根证书,请导航到虚拟网关的“点到站点配置”页。
  2. 在页面的“根证书”部分,找到要删除的证书。
  3. 单击证书旁的省略号,并单击“删除”。

吊销客户端证书

可以吊销客户端证书。 证书吊销列表用于选择性地拒绝基于单个客户端证书的点到站点连接。 这不同于删除受信任的根证书。 如果从 Azure 中删除受信任的根证书 .cer,它会吊销由吊销的根证书生成/签名的所有客户端证书的访问权限。 如果吊销客户端证书而非根证书,则可继续使用从根证书生成的其他证书进行身份验证。

常见的做法是使用根证书管理团队或组织级别的访问权限,并使用吊销的客户端证书针对单个用户进行精细的访问控制。

吊销客户端证书

可以通过将指纹添加到吊销列表来吊销客户端证书。

  1. 检索客户端证书指纹。 有关详细信息,请参阅如何检索证书的指纹
  2. 将信息复制到一个文本编辑器,删除所有空格,使之成为一个连续的字符串。
  3. 导航到虚拟网关的“点到站点配置”页。 此页面正是用来上传受信任的根证书的页面。
  4. 在“吊销的证书”部分,输入证书的友好名称(不必是证书 CN)。
  5. 将指纹字符串复制并粘贴到“指纹”字段。
  6. 指纹将进行验证,并会自动添加到吊销列表。 屏幕上会显示一条消息,指出列表正在进行更新。
  7. 更新完成后,不再可以使用证书来连接。 客户端在尝试使用此证书进行连接时,会收到一条消息,指出证书不再有效。

点到站点常见问题解答

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

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

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

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

  • Windows 7(32 位和 64 位)
  • Windows Server 2008 R2(仅 64 位)
  • Windows 8.1(32 位和 64 位)
  • Windows Server 2012(仅 64 位)
  • Windows Server 2012 R2(仅 64 位)
  • Windows Server 2016(仅 64 位)
  • Windows 10
  • Mac OS X 版本 10.11 或更高版本
  • Linux (StrongSwan)
  • iOS

Note

从 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 7 和 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。

Note

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

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

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

  • 安全套接字隧道协议 (SSTP)。 SSTP 是 Microsoft 专有的基于 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 网关。

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

否。 点到站点客户端只能连接到虚拟网络网关所在的 VNet 中的资源。

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

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

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

否。 只能将 Windows 上的本机 VPN 客户端用于 SSTP,只能将 Mac 上的本机 VPN 客户端用于 IKEv2。 请参阅支持的客户端操作系统的列表。

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

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

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

  1. 安装更新。

    OS 版本 日期 编号/链接
    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?

是的,可以使用 Powershell 或 Azure 门户在已部署的网关上启用这些新功能,前提是所用网关 SKU 支持 RADIUS 和/或 IKEv2。 例如,VPN 网关基本 SKU 不支持 RADIUS 或 IKEv2。

是否可以将我自己的内部 PKI 根 CA 用于点到站点连接?

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

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

可以使用企业 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 点到站点连接问题