你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:在 Azure 门户中创建站点到站点 VPN 连接

本教程介绍如何使用 Azure 门户在本地网络与虚拟网络 (VNet) 之间创建站点到站点 VPN 网关连接。 还可使用 Azure PowerShellAzure CLI 来创建此配置。

站点到站点 VPN 网关跨界连接示意图。

在本教程中,你将了解如何执行以下操作:

  • 创建虚拟网络
  • 创建 VPN 网关
  • 创建本地网络网关
  • 创建 VPN 连接
  • 验证连接
  • 连接到虚拟机

先决条件

  • 具有活动订阅的 Azure 帐户。 如果没有,请免费创建一个
  • 确保有一台兼容的 VPN 设备,并且可对其进行配置。 有关兼容的 VPN 设备和设备配置的详细信息,请参阅关于 VPN 设备
  • 确认 VPN 设备有一个面向外部的公共 IPv4 地址。
  • 如果不熟悉本地网络配置中的 IP 地址范围,则需咨询能够提供此类详细信息的人员。 创建此配置时,必须指定 IP 地址范围前缀,Azure 会将该前缀路由到本地位置。 本地网络的任何子网都不得与要连接到的虚拟网络子网重叠。

创建虚拟网络

在此部分,我们将使用以下值创建虚拟网络 (VNet):

  • 资源组: TestRG1
  • 名称: VNet1
  • 区域: (美国)美国东部
  • IPv4 地址空间: 10.1.0.0/16
  • 子网名称: FrontEnd
  • 子网地址空间: 10.1.0.0/24

注意

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

  1. 登录到 Azure 门户

  2. 在“搜索资源、服务和文档(G+/)”中,键入“虚拟网络”。 从“市场”结果中选择“虚拟网络”以打开“虚拟网络”页。

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

  3. 在“虚拟网络”页上选择“创建”。 这会打开“创建虚拟网络”页

  4. 在“基本信息”选项卡上的“项目详细信息”和“实例详细信息”中配置 VNet 设置。 验证输入的值时,将看到一个绿色对钩。 可以根据你需要的设置调整示例中显示的值。

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

    • 订阅:确认列出的订阅是正确的。 可以使用下拉列表更改订阅。
    • Resource group:选择现有资源组,或选择“新建”以创建一个新资源组。 有关资源组的详细信息,请参阅 Azure 资源管理器概述
    • 名称:输入虚拟网络的名称。
    • 区域:选择 VNet 的位置。 该位置确定要部署到此 VNet 的资源将位于哪里。
  5. 选择“IP 地址”以前进到“IP 地址”选项卡。在“IP 地址”选项卡上配置设置。

    • IPv4 地址空间:默认情况下,系统会自动创建一个地址空间。 可以选择该地址空间,将其调整为反映你自己的值。 你也可选择现有地址空间下方的方框并指定其他地址空间的值,以添加更多地址空间。 例如,可以将 IPv4 地址字段从自动填充的默认值更改为“10.1.0.0/16”。
    • + 添加子网:如果你使用默认地址空间,则系统会自动创建一个默认子网。 如果你更改地址空间,则需要添加一个子网。 选择“+添加子网”,打开“添加子网”窗口 。 配置以下设置,然后选择页面底部的“添加”以添加值。
      • 子网名称:示例:FrontEnd。
      • 子网地址范围:此子网的地址范围。 例如 10.1.0.0/24。
  6. 选择“安全性”以前进到“安全性”选项卡。对于此练习,请保留默认值。

    • BastionHost:禁用
    • DDoS Protection Standard: 禁用
    • Firewall:禁用
  7. 选择“审阅 + 创建”,验证虚拟网络设置。

  8. 验证设置后,选择“创建”以创建虚拟网络。

创建 VPN 网关

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

关于网关子网

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

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

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

创建网关

使用以下值创建虚拟网络网关(VPN 网关):

  • 名称: VNet1GW
  • 区域: 美国东部
  • 网关类型: VPN
  • VPN 类型: 基于路由
  • SKU:VpnGw2
  • 代系:第 2 代
  • 虚拟网络: VNet1
  • 网关子网地址范围: 10.1.255.0/27
  • 公共 IP 地址:新建
  • 公共 IP 地址名称:VNet1GWpip
  • 启用主动-主动模式: 已禁用
  • 配置 BGP: 已禁用
  1. 在“搜索资源、服务和文档(G+/)”中,键入“虚拟网络网关” 。 在市场搜索结果中找到“虚拟网络网关”,选择它以打开“创建虚拟网络网关”页。

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

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

    实例字段的屏幕截图。

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

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

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

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

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

重要

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

查看公共 IP 地址

可以在网关的“概述”页面查看网关的公共 IP 地址。

屏幕截图显示公共 IP 地址。

若要查看有关公共 IP 地址对象的其他信息,请选择“公共 IP 地址”旁边的名称/IP 地址链接。

创建本地网络网关

本地网络网关是代表用于路由的本地位置(站点)的特定对象。 可以为站点提供一个名称供 Azure 引用,并指定本地 VPN 设备的 IP 地址,以便创建一个连接来连接到该设备。 此外还可指定 IP 地址前缀,以便通过 VPN 网关将其路由到 VPN 设备。 指定的地址前缀是位于本地网络的前缀。 如果之后本地网络发生了更改,或需要更改 VPN 设备的公共 IP 地址,可轻松更新这些值。

使用以下值创建本地网络网关:

  • 名称: Site1
  • 资源组: TestRG1
  • 位置: 美国东部
  1. Azure 门户的“搜索资源、服务和文档(G+/)”中,键入“本地网关” 。 在搜索结果中找到“市场”下的“本地网关”,并选择它 。 此操作将打开“创建本地网关”页。

  2. 在“创建本地网络网关”页的“基本信息”选项卡上,指定本地网络网关的值。

    创建一个具有 IP 地址的本地网关。

    • 订阅: 确保显示正确的订阅。
    • 资源组: 选择要使用的资源组。 可以创建新的资源组或选择已创建的资源组。
    • 区域:选择将在其中创建此对象的区域。 可选择 VNet 所在的位置,但这不是必须的。
    • 名称: 指定本地网络网关对象的名称。
    • 终结点: 为本地 VPN 设备选择终结点类型 - IP 地址或 FQDN(完全限定的域名) 。
      • IP 地址:如果你的 Internet 服务提供商向你分配了静态公共 IP 地址可用于 VPN 设备,那么请选择“IP 地址”选项,再填写示例所示的 IP 地址。 这是 Azure VPN 网关要连接的 VPN 设备的公共 IP 地址。 如果目前没有 IP 地址,可以使用示例中显示的值,但是需要返回并将占位符 IP 地址替换为 VPN 设备的公共 IP 地址。 否则,Azure 不能进行连接。
      • FQDN:如果你有动态公共 IP 地址,且该地址可能会在某段时间(通常由你的 Internet 服务提供商决定)后发生变化,那么你可对动态 DNS 服务使用常量 DNS 名称来指向你的 VPN 设备的当前公共 IP 地址。 你的 Azure VPN 网关将解析 FQDN 来确定要连接到的公共 IP 地址。
    • “地址空间”指的是此本地网络所代表的网络的地址范围。 可以添加多个地址空间范围。 请确保此处所指定的范围没有与要连接到的其他网络的范围相重叠。 Azure 会将指定的地址范围路由到本地 VPN 设备 IP 地址。 如果需要连接到本地站点,请在此处使用自己的值,而不是示例中显示的值。

    注意

    • Azure VPN 支持一个 FQDN 只使用一个 IPv4 地址。 如果域名解析为多个 IP 地址,Azure VPN 网关将使用 DNS 服务器返回的第一个 IP 地址。 为了消除这种不确定性,建议你的 FQDN 始终解析为一个 IPv4 地址。 不支持 IPv6。
    • Azure VPN 网关维护一个 DNS 缓存,该缓存每 5 分钟刷新一次。 此网关仅尝试解析已断开连接的隧道的 FQDN。 重置网关也将触发 FQDN 解析。
  3. 在“高级”选项卡上,可以根据需要配置 BGP 设置。

  4. 指定完值后,选择页面底部的“查看 + 创建”以验证页面。

  5. 选择“创建”以创建本地网络网关对象。

配置 VPN 设备

通过站点到站点连接连接到本地网络需要 VPN 设备。 在此步骤中,请配置 VPN 设备。 配置 VPN 设备时,需要以下值:

  • 共享密钥。 此共享密钥就是在创建站点到站点 VPN 连接时指定的共享密钥。 在示例中,我们使用基本的共享密钥。 建议生成更复杂的可用密钥。
  • 虚拟网络网关的公共 IP 地址。 可以通过 Azure 门户、PowerShell 或 CLI 查看公共 IP 地址。 要使用 Azure 门户查找你的 VPN 网关的公共 IP 地址,请转到“虚拟网络网关”,然后选择你的网关的名称。

下载 VPN 设备配置脚本:

根据所用的 VPN 设备,有时可以下载 VPN 设备配置脚本。 有关详细信息,请参阅下载 VPN 设备配置脚本

参阅以下链接了解其他配置信息:

创建 VPN 连接

在虚拟网关和本地 VPN 设备之间创建站点到站点 VPN 连接。

使用以下值创建连接:

  • 本地网络网关名称: Site1
  • 连接名称: VNet1toSite1
  • 共享密钥:在此示例中,我们将使用 abc123。 但是,你可以使用与 VPN 硬件兼容的任何密钥。 重要的是连接两端的值要匹配。
  1. 转到虚拟网络。 在你的 VNet 页面上,在左侧选择“连接的设备”。 找到 VPN 网关,然后单击以将其打开。

  2. 在网关的页面上,选择“连接”。 在“连接”页的顶部,选择“+添加”打开“添加连接”页。

    “添加连接”页的屏幕截图。

  3. 在“添加连接”页上,配置连接的值。

    • 名称: 命名连接。
    • 连接类型: 选择“站点到站点(IPsec)”。
    • “虚拟网络网关”:由于要从此网关连接,因此该值是固定的。
    • 本地网络网关: 选择“选择本地网关”并选择要使用的本地网关。
    • “共享密钥”:此处的值必须与用于本地 VPN 设备的值匹配。 此示例使用“abc123”,但可以(而且应该)使用更复杂的。 重要的是,此处指定的值必须与配置 VPN 设备时指定的值相同。
    • 将“使用 Azure 专用 IP 地址”保持为未选中状态。
    • 将“启用 BGP”保持为未选中状态。
    • 选择“IKEv2”。
  4. 选择“确定”以创建连接。 会看到屏幕上闪烁“正在创建连接”。

  5. 可在虚拟网络网关的“连接”页中查看连接。 “状态”会从“未知”转换为“正在连接”,再转换为“成功”。

配置其他连接设置(可选)

如有必要,你可以为连接配置其他设置。 否则,请跳过此部分并保留默认值。 有关详细信息,请参阅配置自定义 IPsec/IKE 连接策略

  1. 转到你的虚拟网络网关,然后选择“连接”以打开“连接”页。

  2. 选择你要配置的连接的名称以打开“连接”页。

  3. 在“连接”页左侧,选择“配置”以打开“配置”页。 进行任何必要的更改,然后保存。

    在以下屏幕截图中,我们启用了所有设置以便展示门户中可用的配置设置。 单击屏幕截图可查看展开的视图。 配置连接时,请仅配置你需要的设置。 对于不需要的设置,请保留默认设置。

    连接页的屏幕截图,显示其他连接设置。

验证 VPN 连接

在 Azure 门户中,可通过导航到连接来查看 VPN 网关的连接状态。 以下步骤演示导航到连接并进行验证的一种方法。

  1. Azure 门户菜单中选择“所有资源”,或从任何页面搜索并选择“所有资源”
  2. 选择此项可转到虚拟网络网关。
  3. 在“虚拟网络网关”边栏选项卡中,单击“连接”。 可查看每个连接的状态。
  4. 单击想要验证的连接的名称,打开“概要”。 在“概要”中,可以查看有关连接的详细信息。 成功连接后,“状态”为“已成功”和“已连接”。

连接到虚拟机

可以连接到已部署到 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-Object 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. 验证是否连接到 VNet。

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

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

排查连接问题

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

  • 验证 VPN 连接是否成功。

  • 验证是否已连接到 VM 的专用 IP 地址。

  • 如果可以使用专用 IP 地址连接到 VM,但不能使用计算机名称进行连接,则请验证是否已正确配置 DNS。 若要详细了解如何对 VM 进行名称解析,请参阅针对 VM 的名称解析

  • 若要详细了解 RDP 连接,请参阅排查远程桌面连接到 VM 的问题

可选步骤

重设网关 SKU 大小

下面是关于重设网关 SKU 大小并对其进行更改的特定规则。 在本部分中,我们将重设 SKU 大小。 有关详细信息,请参阅网关设置 - 重设 SKU 大小并对其进行更改

  1. 请转到“配置”页面,查看虚拟网络网关。

  2. 在页面右侧,单击下拉箭头以显示可用的网关 SKU。

    屏幕截图显示如何重设网关大小。

  3. 选择下拉列表的 SKU。

重置网关

如果丢失一个或多个站点到站点隧道上的跨界 VPN 连接,重置 VPN 网关可有效解决该情况。 在此情况下,本地 VPN 设备都在正常工作,但却无法与 Azure VPN 网关建立 IPsec 隧道。

  1. 在门户中,转到想要重置的虚拟网络网关。
  2. 在“虚拟网络网关”页上的左窗格中,向下滚动到“支持 + 故障排除”部分,然后选择“重置”。
  3. 在“重置”页上,单击“重置” 。 发出命令后,将立即重新启动 Azure VPN 网关的当前活动实例。 重置网关将导致 VPN 连接中断,还可能会限制未来的问题根本原因分析。

添加另一个连接

你可以创建从同一个 VPN 网关到多个本地站点的连接。 如果要配置多个连接,则地址空间不能在任何连接之间重叠。

  1. 若要添加其他连接,请转到 VPN 网关,然后选择“连接”以打开“连接”页。
  2. 选择“+添加”以添加连接。 调整连接类型以反映“VNet 到 VNet”(如果连接到另一个 VNet 网关)或“站点到站点”。
  3. 如果要使用“站点到站点”连接进行连接,并且尚未为要连接到的站点创建本地网络网关,则可以创建一个新的本地网络网关。
  4. 指定要使用的共享密钥,然后选择“确定”以创建连接。

其他配置注意事项

可以通过多种方式自定义 S2S 配置。 有关详细信息,请参阅下列文章:

清理资源

如果不打算继续使用此应用程序或转到下一个教程,请按照以下步骤删除相关的资源:

  1. 在门户顶部的“搜索”框中输入资源组的名称,并从搜索结果中选择资源组。
  2. 选择“删除资源组” 。
  3. 在“键入资源组名称”中输入资源组名称,然后选择“删除” 。

后续步骤

配置 S2S 连接后,可以将 P2S 连接添加到同一个网关。