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

本文介绍如何在虚拟网络之间创建 VPN 网关连接。 虚拟网络可位于相同或不同的区域,来自相同或不同的订阅。 从不同的订阅连接 VNet 时,订阅不需要与相同的 Active Directory 租户相关联。

本文中的步骤适用于资源管理器部署模型,并使用 Azure 门户。 也可使用不同的部署工具或部署模型创建此配置,方法是从以下列表中选择另一选项:

v2v 示意图

将一个虚拟网络连接到另一个虚拟网络(VNet 到 VNet)类似于将 VNet 连接到本地站点位置。 这两种连接类型都使用 VPN 网关来提供使用 IPsec/IKE 的安全隧道。 如果 VNet 位于同一区域,可能会考虑使用 VNet 对等互连进行连接。 VNet 对等互连不使用 VPN 网关。 有关详细信息,请参阅 VNet 对等互连

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

关于连接

为什么要连接虚拟网络?

出于以下原因可能要连接虚拟网络:

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

    • 可以使用安全连接设置自己的异地复制或同步,而无需借助于面向 Internet 的终结点。
    • 使用 Azure 流量管理器和负载均衡器,可以设置支持跨多个 Azure 区域实现异地冗余的高可用性工作负荷。 一个重要的示例就是对分布在多个 Azure 区域中的可用性组设置 SQL Always On。
  • 具有隔离或管理边界的区域多层应用程序

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

有关 VNet 到 VNet 连接的详细信息,请参阅本文末尾的 VNet 到 VNet 常见问题解答 。 请注意,如果 VNet 属于不同的订阅,则不能在门户中创建该连接。 可以使用 PowerShellCLI

示例设置

使用这些步骤作为练习时,可以使用示例设置值。 对于示例用途,我们可以对每个 VNet 使用多个地址空间。 但是,VNet 到 VNet 配置不需要多个地址空间。

TestVNet1 的值:

  • VNet 名称:TestVNet1
  • 地址空间:10.11.0.0/16
    • 子网名称:FrontEnd
    • 子网地址范围:10.11.0.0/24
  • 资源组:TestRG1
  • 位置:中国东部
  • 地址空间:10.12.0.0/16
    • 子网名称:BackEnd
    • 子网地址范围:10.12.0.0/24
  • 网关子网名称:GatewaySubnet(这会在门户中自动填充)
    • 网关子网地址范围:10.11.255.0/27
  • DNS 服务器:使用 DNS 服务器的 IP 地址
  • 虚拟网络网关名称:TestVNet1GW
  • 网关类型:VPN
  • VPN 类型:基于路由
  • SKU:选择要使用的网关 SKU
  • 公共 IP 地址名称:TestVNet1GWIP
  • 连接值:
    • 名称:TestVNet1toTestVNet4
    • 共享密钥:可以自己创建共享密钥。 对于本示例,我们使用 abc123。 重要的是,在创建 VNet 之间的连接时,值必须匹配。

TestVNet4 的值:

  • VNet 名称:TestVNet4
  • 地址空间:10.41.0.0/16
    • 子网名称:FrontEnd
    • 子网地址范围:10.41.0.0/24
  • 资源组:TestRG1
  • 位置:中国北部
  • 地址空间:10.42.0.0/16
    • 子网名称:BackEnd
    • 子网地址范围:10.42.0.0/24
  • 网关子网名称:GatewaySubnet(这会在门户中自动填充)
    • 网关子网地址范围:10.41.255.0/27
  • DNS 服务器:使用 DNS 服务器的 IP 地址
  • 虚拟网络网关名称:TestVNet4GW
  • 网关类型:VPN
  • VPN 类型:基于路由
  • SKU:选择要使用的网关 SKU
  • 公共 IP 地址名称:TestVNet4GWIP
  • 连接值:
    • 名称:TestVNet4toTestVNet1
    • 共享密钥:可以自己创建共享密钥。 对于本示例,我们使用 abc123。 重要的是,在创建 VNet 之间的连接时,值必须匹配。

1.创建并配置 TestVNet1

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

创建虚拟网络

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

  1. 从浏览器导航到 Azure 门户,并在必要时使用 Azure 帐户登录。
  2. 单击“+”。 在“搜索应用商店”字段中,键入“虚拟网络”。 从返回的列表中找到“虚拟网络”,单击打开“虚拟网络”页。

    查找虚拟网络资源页

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

    选择“Resource Manager”。

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

    “创建虚拟网络”页

  5. 名称:输入虚拟网络的名称。
  6. 地址空间:输入地址空间。 如果有多个要添加的地址空间,请添加第一个地址空间。 可在创建 VNet 后再添加其他地址空间。
  7. 子网名称:添加子网名称和子网地址范围。 可在创建 VNet 后再添加其他子网。
  8. 订阅:确认列出的订阅是正确的。 可以使用下拉列表更改订阅。
  9. 资源组:选择现有的资源组,或键入新资源组的名称以创建新的资源组。 如果要创建新组,请根据计划的配置值来命名资源组。 有关资源组的详细信息,请访问 Azure Resource Manager 概述
  10. 位置:选择 VNet 的位置。 该位置确定要部署到此 VNet 的资源所在的位置。
  11. 如果希望能够在仪表板上轻松查找 VNet,请选择“固定到仪表板”,并单击“创建”。

    固定到仪表板

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

    创建虚拟网络磁贴

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

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

添加更多地址空间

  1. 若要添加更多地址空间,请在虚拟网络页的“设置”部分下单击“地址空间”,打开“地址空间”页。
  2. 添加更多地址空间,然后单击页顶部的“保存”。

    添加地址空间

创建更多子网

  1. 若要创建子网,请在虚拟网络页的“设置”部分中单击“子网”,打开“子网”页。
  2. 在“子网”页中,单击“+子网”打开“添加子网”页。 为新子网命名,并指定地址范围。

    子网设置

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

    子网设置

3.创建网关子网

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

如果要练习创建此配置,请在创建网关子网时引用这些 示例设置

Important

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

创建网关子网

  1. 门户中,导航到要为其创建虚拟网关的 Resource Manager 虚拟网络。
  2. 在 VNet 页的“设置”部分中单击“子网”,展开“子网”页。
  3. 在“子网”页中,单击“+网关子网”打开“添加子网”页。

    添加网关子网

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

    添加子网

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

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

  1. 在虚拟网络的“设置”页上,导航到“DNS 服务器”并单击以打开 “DNS 服务器”边栏选项卡。
  2. 在“DNS 服务器”页中的“DNS 服务器”下,选择“自定义”。
  3. 在“添加 DNS 服务器”框中的“DNS 服务器”字段中,输入要用于名称解析的 DNS 服务器的 IP 地址。 完成添加 DNS 服务器后,单击边栏选项卡顶部的“保存”以保存配置。

    自定义 DNS

5.创建虚拟网关

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

创建虚拟网络网关

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

    创建虚拟网关页字段

  3. 名称:为网关命名。 为网关命名不同于为网关子网命名。 它是要创建的网关对象的名称。
  4. 网关类型:选择“VPN”。 VPN 网关使用虚拟网络网关类型“VPN”。
  5. VPN 类型:选择为配置指定的 VPN 类型。 大多数配置要求基于路由的 VPN 类型。
  6. SKU:从下拉列表中选择网关 SKU。 下拉列表中列出的 SKU 取决于选择的 VPN 类型。
  7. 位置:调整“位置”字段,使其指向虚拟网络所在的位置。 如果该位置未指向虚拟网络所在的区域,该虚拟网络不会显示在“选择虚拟网络”下拉列表中。
  8. 选择要将网关添加到其中的虚拟网络。 单击“虚拟网络”打开“选择虚拟网络”页。 选择 VNet。 如果看不到 VNet,请确保“位置”字段指向虚拟网络所在的区域。
  9. 公共 IP 地址:创建一个公共 IP 地址对象,以便向其动态分配公共 IP 地址。 单击“公共 IP 地址”打开“选择公共 IP 地址”页。 单击“+新建”打开“创建公共 IP 地址”页。 输入公共 IP 地址的名称。 单击“确定”以保存你的更改。 创建 VPN 网关时,IP 地址是动态分配的。 VPN 网关当前仅支持动态公共 IP 地址分配。 但这并不意味着 IP 地址在分配到 VPN 网关后会更改。 公共 IP 地址只在删除或重新创建网关时更改。 该地址不会因为 VPN 网关大小调整、重置或其他内部维护/升级而更改。
  10. 订阅:确保选择正确的订阅。
  11. 资源组:“资源组”设置取决于所选的虚拟网络。
  12. 指定上述设置后请不要调整“位置” 。
  13. 验证设置。 如果希望网关显示在仪表板上,可以在页底部选择“固定到仪表板”。
  14. 单击“创建” 开始创建网关。 此时会验证设置并部署网关。 创建网关最多可能需要 45 分钟。
  15. 创建网关后,即可查看虚拟网络页,从而查看分配给网关的 IP 地址。 网关显示为连接的设备。 可以单击连接的设备(虚拟网络网关),查看详细信息。

6.创建并配置 TestVNet4

配置 TestVNet1 后,请通过重复上述步骤,并将值替换为 TestVNet4 的这些值来创建 TestVNet4。 不必等到 TestVNet1 的虚拟网络网关已完成创建,就可以配置 TestVNet4。 如果要使用自己的值,请确保地址空间未与要连接到的任何 VNet 重叠。

7.配置 TestVNet1 连接

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

  1. 在“所有资源” 中,导航到 VNet 的虚拟网络网关。 例如,“TestVNet1GW” 。 单击“TestVNet1GW” ,打开虚拟网络网关边栏选项卡。

    “连接”边栏选项卡

  2. 单击“+添加”打开“添加连接”边栏选项卡。
  3. 在“添加连接”边栏选项卡上的“名称”字段中,键入连接名称。 例如,TestVNet1toTestVNet4

    连接名称

  4. 对于“连接类型”, 从下拉列表中选择“VNet 到 VNet”。
  5. 自动填充“第一个虚拟网络网关” 字段值,因为正在从指定的虚拟网络网关创建此连接。
  6. “第二个虚拟网络网关” 字段是要创建与其的连接的 VNet 的虚拟网络网关。 单击“选择另一个虚拟网关”可打开“选择虚拟网关”边栏选项卡。

  7. 查看此边栏选项卡上列出的虚拟网络网关。 请注意,只会列出订阅中的虚拟网络网关。 如果想要连接到订阅外的虚拟网关,请参阅 PowerShell 文章
  8. 单击要连接到的虚拟网络网关。
  9. 在“共享密钥” 字段中,键入连接的共享密钥。 可以自己生成或创建此密钥。 在站点到站点连接中,使用的密钥应与本地设备和虚拟网络网关连接的密钥完全相同。 此处的概念类似,不同的是不是连接到 VPN 设备,而是要连接到另一个虚拟网络网关。

  10. 单击边栏选项卡底部的“确定”以保存更改。

8.配置 TestVNet4 连接

接下来,从 TestVNet4 到 TestVNet1 创建一个连接。 使用的方法与用于创建从 TestVNet1 到 TestVNet4 的连接的方法相同。 请确保使用相同的共享密钥。

9.验证连接

验证连接。 对于每个虚拟网络网关,执行以下操作:

  1. 找到虚拟网络网关的边栏选项卡。 例如, TestVNet4GW
  2. 在虚拟网络网关边栏选项卡上,单击“连接” 以查看虚拟网络网关的“连接”边栏选项卡。

查看连接并验证状态。 创建连接后,“状态”值将显示为“已成功”和“已连接”。

已成功

可以分别双击每个连接,以查看有关该连接的详细信息。

概要

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。

VNet 到 VNet 流量是否安全?

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

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

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

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

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

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

否。

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

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

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

请参阅网关要求表。

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

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

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

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

是否可以为 VNet 到 VNet 或多站点连接使用 PolicyBased VPN 类型?

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

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

否,两台虚拟网络都必须使用基于路由(以前称为动态路由)的 VPN。

VPN 隧道是否共享带宽?

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

是否支持冗余隧道?

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

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

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

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

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

后续步骤

连接完成后,即可将虚拟机添加到虚拟网络。 有关详细信息,请参阅虚拟机文档