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

Azure VPN 网关在客户本地与 Azure 之间提供跨界连接。 本教程介绍如何使用 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 地址”选项卡上配置设置。 可以根据你需要的设置调整示例中显示的值。

    屏幕截图显示“IP 地址”选项卡。

    • IPv4 地址空间:默认情况下,系统会自动创建一个地址空间。 可以选择该地址空间,将其调整为反映你自己的值。 还可通过选择现有地址空间下方的框并指定其他地址空间的值来添加更多地址空间。
    • + 添加子网:如果你使用默认地址空间,则系统会自动创建一个默认子网。 如果你更改地址空间,则需要添加一个子网。 选择“+添加子网”,打开“添加子网”窗口 。 配置以下设置,然后选择页面底部的“添加”以添加值。
      • 子网名称:在本例中,我们已将子网命名为“FrontEnd”。
      • 子网地址范围:此子网的地址范围。
  6. 选择“安全性”以前进到“安全性”选项卡。此时请保留默认值。

    • BastionHost:禁用
    • 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。 有关网关 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 地址 SKU:此字段由“公共 IP 地址类型”设置控制。
    • 分配:VPN 网关仅支持“动态”。
    • 启用主动-主动模式:仅当要创建主动-主动网关配置时,才选择“启用主动-主动模式”。 否则,请让此设置保留“禁用”状态。
    • 让“配置 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”。
    • 不配置“NAT 规则”。
    • 剩下的“订阅”、“资源组”和“位置”值是固定的
  4. 选择“确定”以创建连接。 会看到屏幕上闪烁“正在创建连接”。

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

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

如有必要,你可以为连接配置其他设置。 否则,请跳过此部分并保留默认值。

  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 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 连接添加到同一个网关。