使用 CLI 创建 VPN 网关

本文可帮助你使用 Azure CLI 创建 Azure VPN 网关。 创建与本地网络的 VPN 连接时使用 VPN 网关。 还可以使用 VPN 网关连接虚拟网络。 有关本文中某些设置的更全面信息,请参阅创建 VPN 网关 - 门户

显示虚拟网络和 VPN 网关的示意图。

  • 关系图左侧显示了使用本文中的步骤创建的虚拟网络和 VPN 网关。
  • 你稍后可以添加不同类型的连接,如关系图右侧所示。 例如,可以创建站点到站点连接和点到站点连接。 若要查看可以构建的不同设计体系结构,请参阅 VPN 网关设计

本文中的步骤使用第 2 代 VpnGw2AZ SKU 创建虚拟网络、子网、网关子网和基于路由的区域冗余主动-主动模式 VPN 网关(虚拟网络网关)。 本文中的步骤使用第 2 代 VpnGw2AZ SKU 创建虚拟网络、子网、网关子网和基于路由的区域冗余主动-主动模式 VPN 网关(虚拟网络网关)。 创建网关后,可以配置连接。

  • 如果要改用基本 SKU 创建 VPN 网关,请参阅创建基本 SKU VPN 网关
  • 建议尽可能创建主动-主动模式 VPN 网关。 与标准模式 VPN 网关相比,主动-主动模式 VPN 网关可提供更好的可用性和性能。 有关主动-主动网关的详细信息,请参阅关于主动-主动模式网关
  • 有关可用性区域和区域冗余网关的详细信息,请参阅什么是可用性区域

注意

本文中的步骤使用支持 Azure 可用性区域的网关 SKU“VpnGw2AZ”。 如果你的区域不支持可用性区域,请改用非 AZ SKU。 有关 SKU 的详细信息,请参阅关于网关 SKU

开始之前

执行这些步骤需要 Azure 订阅。 如果没有 Azure 订阅,可在开始前创建一个试用帐户

先决条件

创建资源组

使用 az group create 命令创建资源组。 资源组是在其中部署和管理 Azure 资源的逻辑容器。

az group create --name TestRG1 --location chinanorth

创建虚拟网络

如果还没有虚拟网络,请使用 az network vnet create 命令创建一个。 创建虚拟网络时,请确保指定的地址空间不与你在本地网络中拥有的任何地址空间相重叠。 如果 VPN 连接的两侧存在重复的地址范围,则流量不会按预期的方式路由。 此外,如果要将此虚拟网络连接到另一个虚拟网络,则地址空间不能与其他虚拟网络重叠。 请注意对网络配置进行相应的计划。

以下示例创建了一个名为“VNet1”的虚拟网络和一个名为“FrontEnd”的子网。 本练习中未使用 FrontEnd 子网。 可以替换自己的子网名称。

az network vnet create \
  -n VNet1 \
  -g TestRG1 \
  -l chinanorth \
  --address-prefix 10.1.0.0/16 \
  --subnet-name FrontEnd \
  --subnet-prefix 10.1.0.0/24

添加网关子网

虚拟网络网关资源部署到一个名为“GatewaySubnet”的特定子网。 网关子网是虚拟网络 IP 地址范围的一部分,该范围是在配置虚拟网络时指定的。

如果没有名为“GatewaySubnet”的子网,则无法创建 VPN 网关。 我们建议创建使用 /27(或更大)的网关子网。 例如 /27 或 /26。 有关详细信息,请参阅 VPN 网关设置 - 网关子网

重要

不支持网关子网上的网络安全组 (NSG)。 将网络安全组关联到此子网可能会导致虚拟网络网关(VPN 和 ExpressRoute 网关)停止按预期方式工作。 有关网络安全组的详细信息,请参阅什么是网络安全组?

使用下面的示例添加网关子网:

az network vnet subnet create \
  --vnet-name VNet1 \
  -n GatewaySubnet \
  -g TestRG1 \
  --address-prefix 10.1.255.0/27 

请求公共 IP 地址

VPN 网关必须使用公共 IP 地址。 创建与 VPN 网关的连接时,这是你指定的 IP 地址。 对于主动-主动模式网关,每个网关实例都有自己的公共 IP 地址资源。 请先请求 IP 地址资源,并在创建虚拟网关时参阅该资源。 此外,对于任何以 AZ 结尾的网关 SKU,还必须指定区域设置。 此示例指定了区域冗余配置,因为它指定了所有 3 个区域区域。

创建 VPN 网关时,将会向资源分配 IP 地址。 公共 IP 地址只在删除或重新创建网关时会更改。 该地址不会因为 VPN 网关大小调整、重置或其他内部维护/升级而更改。

使用 az network public-ip create 命令请求公共 IP 地址:

az network public-ip create --name VNet1GWpip1 --resource-group TestRG1 --allocation-method Static --sku Standard --version IPv4 --zone 1 2 3

要创建主动-主动网关(建议),可请求第二个公共 IP 地址:

az network public-ip create --name VNet1GWpip2 --resource-group TestRG1 --allocation-method Static --sku Standard --version IPv4 --zone 1 2 3

创建 VPN 网关

创建网关通常需要 45 分钟或更长的时间,具体取决于所选的网关 SKU。 创建网关后,可以创建虚拟网络与本地位置之间的连接。 也可以创建虚拟网络与另一个虚拟网络的连接。

使用 az network vnet-gateway create 命令创建 VPN 网关。 如果使用 --no-wait 参数运行该命令,则不会显示任何反馈或输出。 --no-wait 参数允许在后台创建网关。 但并不意味着 VPN 网关会立即创建。 如果要使用不同的 SKU 创建网关,请参阅关于网关 SKU,以确定最符合配置要求的 SKU。

主动-主动模式网关

az network vnet-gateway create --name VNet1GW --public-ip-addresses VNet1GWpip1 VNet1GWpip2 --resource-group TestRG1 --vnet VNet1 --gateway-type Vpn --vpn-type RouteBased --sku VpnGw2AZ --vpn-gateway-generation Generation2 --no-wait

主动-备用模式网关

az network vnet-gateway create --name VNet1GW --public-ip-addresses VNet1GWpip1 --resource-group TestRG1 --vnet VNet1 --gateway-type Vpn --vpn-type RouteBased --sku VpnGw2AZ --vpn-gateway-generation Generation2 --no-wait

创建 VPN 网关可能需要 45 分钟或更长时间。

查看 VPN 网关

az network vnet-gateway show \
  -n VNet1GW \
  -g TestRG1

查看网关 IP 地址

每个 VPN 网关实例会分配有一个公共 IP 地址资源。 要查看与资源关联的 IP 地址,请使用以下命令。 对每个网关实例重复此操作。

az network public-ip show -g TestRG1 -n VNet1GWpip1

清理资源

如果不再需要所创建的资源,请使用 az group delete 删除资源组。 这会删除资源组及其包含的所有资源。

az group delete --name TestRG1 --yes

后续步骤

创建网关后,可以配置连接。