使用 Azure 门户配置 VNet 到 VNet VPN 网关连接

本文介绍如何使用 VNet 到 VNet 连接类型来连接虚拟网络 (VNet)。 虚拟网络可位于不同的区域和不同的订阅中。 从不同的订阅连接 VNet 时,订阅不需要与相同的 Active Directory 租户相关联。

v2v 示意图

本文中的步骤适用于 Azure 资源管理器部署模型,并使用 Azure 门户。 可使用以下文章中所述的选项,通过不同的部署工具或模型创建此配置:

关于连接 VNet

以下部分介绍如何通过不同的方式连接虚拟网络。

VNet 到 VNet

配置 VNet 到 VNet 连接是连接 VNet 的简单方式。 使用 VNet 到 VNet 连接类型 (VNet2VNet) 将一个虚拟网络连接到另一个虚拟网络类似于与本地位置建立站点到站点 IPsec 连接。 这两种连接类型都使用 VPN 网关来提供使用 IPsec/IKE 的安全隧道,两者在通信时的运行方式相同。 但是,两者在本地网络网关的配置方式上有差别。

创建 VNet 到 VNet 连接时,不会自动创建和填充本地网络网关地址空间。 如果更新一个 VNet 的地址空间,另一个 VNet 会自动路由到更新的地址空间。 与创建站点到站点连接相比,创建 VNet 到 VNet 连接通常速度更快且更容易。

站点到站点 (IPsec)

如果使用复杂的网络配置,你可能偏向于使用站点到站点连接来连接 VNet。 遵循站点到站点 IPsec 步骤时,可以手动创建和配置本地网络网关。 每个 VNet 的本地网关都将其他 VNet 视为本地站点。 使用这些步骤可为本地网络网关指定其他地址空间用于路由流量。 如果 VNet 的地址空间发生更改,必须手动更新相应的本地网络网关。

VNet 对等互连

也可以使用 VNet 对等互连来连接 VNet。 VNet 对等互连不使用 VPN 网关,并且具有不同的约束。 另外,VNet 对等互连定价的计算不同于 VNet 到 VNet VPN 网关定价的计算。 有关详细信息,请参阅 VNet 对等互连

为何创建 VNet 到 VNet 连接?

你可能会出于以下原因而使用 VNet 到 VNet 连接来连接虚拟网络:

跨区域异地冗余和地区存在

  • 可以使用安全连接设置自己的异地复制或同步,而无需借助于面向 Internet 的终结点。
  • 使用 Azure 流量管理器和 Azure 负载均衡器,可以设置支持跨多个 Azure 区域实现异地冗余的高可用性工作负荷。 例如,可跨多个 Azure 区域中设置 SQL Always On 可用性组。

具有隔离或管理边界的区域多层应用程序

  • 在同一区域中,由于存在隔离或管理要求,可以设置多个虚拟网络连接在一起的多层应用程序。

可以将 VNet 到 VNet 通信与多站点配置组合使用。 使用这些配置可以建立将跨界连接与虚拟网络间连接相结合的网络拓扑,如下图所示:

关于连接

本文介绍如何使用 VNet 到 VNet 连接类型来连接 VNet。 遵循这些步骤进行练习时,可以使用以下示例设置值。 示例中的虚拟网络在同一订阅中,但却在不同的资源组中。 如果 VNet 在不同的订阅中,则无法在门户中创建连接。 改用 PowerShellCLI。 有关 VNet 到 VNet 连接的详细信息,请参阅 VNet 到 VNet 连接常见问题解答

示例设置

TestVNet1 的值:

  • 虚拟网络设置

    • 名称:输入 TestVNet1
    • 地址空间:输入 10.11.0.0/16
    • 订阅:选择要使用的订阅。
    • 资源组:输入 TestRG1
    • 位置:选择“中国北部”。
    • 子网
      • 名称:输入 FrontEnd
      • 地址范围:输入 10.11.0.0/24
    • 网关子网
      • 名称:“网络子网”会自动填充。
      • 地址范围:输入 10.11.255.0/27
    • DNS 服务器:选择“自定义”,然后输入 DNS 服务器的 IP 地址。
  • 虚拟网络网关设置

    • 名称:输入TestVNet1GW
    • 网关类型:选择“VPN”。
    • VPN 类型:选择“基于路由”。
    • SKU:选择要使用的网关 SKU。
    • 公共 IP 地址名称:输入 TestVNet1GWIP
    • Connection
      • 名称:输入 TestVNet1toTestVNet4
      • 共享密钥:输入 abc123。 可以自行创建共享密钥。 在 VNet 之间建立连接时,上述值必须匹配。

TestVNet4 的值:

  • 虚拟网络设置

    • 名称:输入 TestVNet4
    • 地址空间:输入 10.41.0.0/16
    • 订阅:选择要使用的订阅。
    • 资源组:输入 TestRG4
    • 位置:选择“中国北部”。
    • 子网
      • 名称:输入 FrontEnd
      • 地址范围:输入 10.41.0.0/24
    • GatewaySubnet
      • 名称:“网络子网”会自动填充。
      • 地址范围:输入 10.41.255.0/27
    • DNS 服务器:选择“自定义”,然后输入 DNS 服务器的 IP 地址。
  • 虚拟网络网关设置

    • 名称:输入 TestVNet4GW
    • 网关类型:选择“VPN”。
    • VPN 类型:选择“基于路由”。
    • SKU:选择要使用的网关 SKU。
    • 公共 IP 地址名称:输入 TestVNet4GWIP
    • Connection
      • 名称:输入 TestVNet4toTestVNet1
      • 共享密钥:输入 abc123。 可以自行创建共享密钥。 在 VNet 之间建立连接时,上述值必须匹配。

创建并配置 TestVNet1

如果已有一个 VNet,请检查其设置是否与 VPN 网关设计兼容。 请特别注意任何可能与其他网络重叠的子网。 如果有重叠的子网,将无法正常连接。 为 VNet 配置正确的设置后,可以开始执行“指定 DNS 服务器”部分中的步骤。

创建虚拟网络

可以通过以下步骤使用资源管理器部署模型和 Azure 门户创建一个 VNet。 有关虚拟网络的详细信息,请参阅虚拟网络概述

Note

为了让此 VNet 连接到本地位置,请与本地网络管理员协调操作,指定一个 IP 地址范围,将其专用于此虚拟网络。 如果 VPN 连接的两端存在重复的地址范围,则会以意外方式路由流量。 另外,若要将此 VNet 连接到其他 VNet,则地址空间不能与其他 VNet 重叠。 相应地规划网络配置。

  1. 登录到 Azure 门户,然后选择“创建资源”。 此时会打开一个“新建”页面。

  2. 在“搜索市场”字段中,输入“虚拟网络”,然后从返回的列表中选择“虚拟网络”。 此时会打开“虚拟网络”页。

    查找虚拟网络资源页

  3. 从页面底部附近的“选择部署模型”列表中,选择“资源管理器”,然后选择“创建”。 此时会打开“创建虚拟网络”页。

    “创建虚拟网络”页

  4. 在“创建虚拟网络”页上,配置 VNet 设置。 填写字段时,当你在字段中输入的字符通过验证时,红色感叹号标记会变成绿色对钩标记。 某些值是自动填写的,你可以将其替换为自己的值:

    • 名称:输入虚拟网络的名称。

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

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

    • 资源组:选择现有的资源组,或输入新资源组的名称以创建新的资源组。 如果要创建新组,请根据计划的配置值来命名资源组。 有关资源组的详细信息,请参阅 Azure 资源管理器概述

    • 位置:选择 VNet 的位置。 该位置确定要部署到此 VNet 的资源将位于哪里。

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

  5. 选择“创建” 。

添加其他地址空间并创建子网

创建 VNet 后,可以添加其他地址空间并创建子网。

添加更多地址空间

  1. 若要在地址空间中添加其他地址范围,请在虚拟网络页的“设置”部分中,选择“地址空间”。 此时将出现“地址空间”页。
  2. 添加其他地址范围,然后选择页面顶部的“保存”。

    添加地址空间

创建更多子网

  1. 若要创建子网,请在虚拟网络页的“设置”部分中选择“子网”。 此时将出现“子网”页。
  2. 选择“子网”以打开“添加子网”页。 输入新子网的名称,并指定地址范围

    子网设置

  3. 若要保存所做的更改,请选择页面底部的“确定”。

创建网关子网

为虚拟网络创建虚拟网络网关前,需要先创建网关子网。 网关子网包含虚拟网络网关使用的 IP 地址。 在可能的情况下,最好是使用 CIDR 块 /28 或 /27 创建网关子网,以提供足够的 IP 地址,满足将来的其他配置要求。

如果正在练习创建此配置,请在创建网关子网时参考这些示例设置

Important

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

创建网关子网

  1. Azure 门户中,导航到要为其创建虚拟网关的资源管理器虚拟网络。

  2. 在虚拟网络页的“设置”部分中,选择“子网”以展开“子网”页。

  3. 在“子网”页上,选择“网关子网”以打开“添加子网”页。

    添加网关子网

  4. 子网的名称自动填充为值 GatewaySubnet。 Azure 需要此值才能识别作为网关子网的子网。 根据配置要求调整自动填充的“地址范围”值,然后选择“确定”以创建该子网。

    添加子网

指定 DNS 服务器(可选)

VNet 到 VNet 连接不需要 DNS。 但是,若要对部署到虚拟网络的资源进行名称解析,请指定 DNS 服务器。 可以通过此设置指定 DNS 服务器,以便将其用于此虚拟网络的名称解析。 此设置不会创建 DNS 服务器。

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

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

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

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

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

    指定 DNS 服务器

创建虚拟网关

在此步骤中为 VNet 创建虚拟网络网关。 创建网关通常需要 45 分钟或更长的时间,具体取决于所选网关 SKU。 如果你正在练习创建此配置,请参阅示例设置

创建虚拟网络网关

  1. 登录到 Azure 门户,然后选择“创建资源”。 此时会打开一个“新建”页面。

  2. 在“在市场中搜索”字段中,输入“虚拟网络网关”,然后从搜索列表中选择“虚拟网络网关”。

  3. 在“虚拟网络网关”页上,选择“创建”以打开“创建虚拟网络网关”页。

    创建虚拟网关页字段

  4. 在“创建虚拟网络网关”页上,填写虚拟网络网关的值:

    • 名称:为要创建的网关对象输入一个名称。 此名称不同于网关子网名称。

    • 网关类型:选择表示 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 地址的名称。

    • 配置 BGP ASN:使此设置保持未选中状态,除非你的配置特别需要此设置。 如果确实需要此设置,则默认 ASN 为 65515,但你可以更改此值。

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

  6. 创建网关后,通过在门户中查看虚拟网络来验证已分配给网关的 IP 地址。 网关显示为连接的设备。 可以选择所连接的设备(虚拟网络网关)来查看详细信息。

创建并配置 TestVNet4

配置 TestVNet1 后,重复上述步骤创建 TestVNet4(请将值替换为 TestVNet4 的值)。 无需等到 TestVNet1 的虚拟网络网关创建完成即可配置 TestVNet4。 如果使用自己的值,请确保地址空间不与任何想要连接的 VNet 重叠。

配置 TestVNet1 网关连接

TestVNet1 和 TestVNet4 的虚拟网络网关都已完成后,便可以创建虚拟网络网关连接。 在本部分,请创建从 VNet1 到 VNet4 的连接。 这些步骤仅适用于同一订阅中的 VNet。 如果 VNet 属于不同的订阅,则必须使用 PowerShell 进行连接。 不过,如果 VNet 位于同一订阅的不同资源组中,则可使用门户来连接它们。

  1. 在 Azure 门户中选择“所有资源”,在搜索框中输入“虚拟网络网关”,然后导航到 VNet 的虚拟网络网关。 例如,“TestVNet1GW” 。 选择该网关打开“虚拟网络网关”页。

    “连接”页

  2. 在“设置”下选择“连接”,然后选择“添加”打开“添加连接”页。

  3. 在“添加连接”页上,填写用于建立连接的值:

    • 名称:输入连接的名称。 例如,TestVNet1toTestVNet4

    • 连接类型:从下拉列表选择“VNet 到 VNet”。

    • 第一个虚拟网络网关:此字段值会自动填充,因为要从指定的虚拟网络网关建立此连接。

    • 第二个虚拟网络网关:此字段是要连接到的 VNet 的虚拟网络网关。 选择“选择另一个虚拟网络网关”打开“选择虚拟网络网关”页。

      • 查看此页上列出的虚拟网关。 请注意,只会列出订阅中的虚拟网络网关。 若要连接到订阅外部的虚拟网络网关,请使用 PowerShell

      • 选择要连接的虚拟网络网关。

      • 共享密钥(PSK):在此字段中,输入连接的共享密钥。 可以自己生成或创建此密钥。 在站点到站点连接中,使用的密钥与本地设备和虚拟网络网关连接的密钥相同。 此处的概念大致相同,不过,此时不是连接到 VPN 设备,而是连接到另一个虚拟网络网关。

  4. 选择“确定”保存更改。

配置 TestVNet4 网关连接

接下来,从 TestVNet4 到 TestVNet1 创建一个连接。 在门户中找到与 TestVNet4 关联的虚拟网关。 按上一部分的步骤替换相关值,创建从 TestVNet4 到 TestVNet1 的连接。 请确保使用相同的共享密钥。

验证连接

在 Azure 门户中找到虚拟网络网关。 在“虚拟网络网关”页上选择“连接”,查看虚拟网络网关的“连接”页。 建立连接后,会看到“状态”值更改为“成功”和“已连接”。 选择一个连接打开“概要”页并查看更多信息。

已成功

数据开始流动后,会看到“输入数据”和“输出数据”的值。

概要

添加其他连接

若要添加其他连接,请导航到要从中创建连接的虚拟网络网关,然后选择“连接”。 可以创建另一个 VNet 到 VNet 连接,也可以创建一个 IPsec 站点到站点连接,以便连接到本地位置。 请务必调节“连接类型”,使之与要创建的连接类型匹配。 在创建其他连接之前,请验证虚拟网络的地址空间是否不与要连接到的地址空间重叠。 如需创建站点到站点连接的步骤,请参阅创建站点到站点连接

VNet 到 VNet 常见问题

查看常见问题解答详细信息以获取有关 VNet 到 VNet 连接的其他信息。

VNet 到 VNet 连接常见问题解答适用于 VPN 网关连接。 有关 VNet 对等互连的信息,请参阅虚拟网络对等互连

Azure 会对 VNet 之间的流量收费吗?

当使用 VPN 网关连接时,同一区域中的 VNet 到 VNet 流量双向均免费。 跨区域 VNet 到 VNet 传出流量根据源区域的出站 VNet 间数据传输费率收费。 有关详细信息,请参阅 VPN 网关定价。 如果你使用 VNet 对等互连而非 VPN 网关连接 VNet,请参阅虚拟网络定价

VNet 到 VNet 流量是否会通过 Internet?

否。 VNet 到 VNet 流量会流经 Azure 主干,而非 Internet。

是否可以跨 Azure Active Directory (AAD) 租户建立 VNet 到 VNet 连接?

是的。使用 Azure VPN 网关的 VNet 到 VNet 连接可以跨 AAD 租户工作。

VNet 到 VNet 流量是否安全?

安全,它通过 IPsec/IKE 加密进行保护。

是否需要使用 VPN 设备将 VNet 连接在一起?

否。 将多个 Azure 虚拟网络连接在一起不需要 VPN 设备,除非需要跨界连接。

VNet 是否需要处于同一区域?

否。 虚拟网络可以在相同或不同的 Azure 区域(位置)中。

如果 VNet 不在同一订阅中,订阅是否需要与同一 Active Directory 租户相关联?

否。

能否在单独的 Azure 实例中使用 VNet 到 VNet 通信来连接虚拟网络?

否。 VNet 到 VNet 通信支持在同一 Azure 实例中连接虚拟网络。 例如,不能在全球 Azure 和中国/德国/美国政府 Azure 实例之间创建连接。 对于上述情形,请考虑使用站点到站点 VPN 连接。

能否将 VNet 到 VNet 连接与多站点连接一起使用?

是的。 虚拟网络连接可与多站点 VPN 同时使用。

一个虚拟网络可以连接到多少个本地站点和虚拟网络?

请参阅网关要求表。

是否可以使用 VNet 到 VNet 连接 VNet 外的 VM 或云服务?

否。 VNet 到 VNet 支持连接虚拟网络。 它不支持连接不在虚拟网络中的虚拟机或云服务。

云服务或负载均衡终结点能否跨 VNet?

否。 云服务或负载均衡终结点不能跨虚拟网络,即使它们连接在一起,也是如此。

能否将 PolicyBased VPN 类型用于 VNet 到 VNet 连接或多站点连接?

否。 VNet 到 VNet 连接和多站点连接需要 RouteBased(以前称为动态路由)VPN 类型的 Azure VPN 网关。

是否可以将 RouteBased VPN 类型的 VNet 连接到另一个 PolicyBased VPN 类型的 VNet?

不能,两种虚拟网络都必须使用基于路由的(以前称为“动态路由”)VPN。

VPN 隧道是否共享带宽?

是的。 虚拟网络的所有 VPN 隧道共享 Azure VPN 网关上的可用带宽,以及 Azure 中的相同 VPN 网关运行时间 SLA。

是否支持冗余隧道?

将一个虚拟网络网关配置为主动-主动模式时,支持在一对虚拟网络之间设置冗余隧道。

VNet 到 VNet 配置是否可以有重叠的地址空间?

否。 不能有重叠的 IP 地址范围。

连接的虚拟网络与内部本地站点之间是否可以有重叠的地址空间?

否。 不能有重叠的 IP 地址范围。

后续步骤

有关如何限制发往虚拟网络中资源的网络流量的信息,请参阅网络安全性

有关 Azure 如何在 Azure 资源、本地资源和 Internet 资源之间路由流量的信息,请参阅虚拟网络流量路由