教程:使用 Azure CLI 创建 NAT 网关

本教程介绍如何使用 Azure 虚拟网络 NAT 服务。 你将创建一个 NAT 网关,以便为 Azure 中的虚拟机提供出站连接。

本教程介绍如何执行下列操作:

  • 创建虚拟网络。
  • 创建虚拟机。
  • 创建 NAT 网关并将其与虚拟网络关联。
  • 连接到虚拟机并验证 NAT IP 地址。

如果没有 Azure 试用版订阅,请在开始前创建一个试用版订阅

先决条件

  • 如果需要,请安装 Azure CLI 来运行 CLI 参考命令。

    • 如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅登录 Azure CLI

    • 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展

    • 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade

  • 本文需要 Azure CLI 2.0.28 或更高版本。

备注

请先运行 az cloud set -n AzureChinaCloud 更改云环境,然后才能在 Azure 中国世纪互联中使用 Azure CLI。 若要切换回 Azure 公有云,请再次运行 az cloud set -n AzureCloud

创建资源组

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

以下示例在“chinaeast2”位置创建名为“myResourceGroupNAT”的资源组:

  az group create \
    --name myResourceGroupNAT \
    --location chinaeast2

创建 NAT 网关

本部分介绍如何创建 NAT 网关和支持资源。

创建公共 IP 地址

若要访问 Internet,需要提供 NAT 网关的一个或多个公共 IP 地址。 使用 az network public-ip createmyResourceGroupNAT 中创建名为 myPublicIP 的公共 IP 地址资源。

  az network public-ip create \
    --resource-group myResourceGroupNAT \
    --name myPublicIP \
    --sku standard \
    --allocation static

创建 NAT 网关资源

使用 az network nat gateway create 创建全局 Azure NAT 网关。 此命令的结果就是创建名为“myNATgateway”的网关资源,该资源使用公共 IP 地址“myPublicIP” 。 空闲超时设置为 10 分钟。

  az network nat gateway create \
    --resource-group myResourceGroupNAT \
    --name myNATgateway \
    --public-ip-addresses myPublicIP \
    --idle-timeout 10       

创建虚拟网络

使用 az network vnet create 在 myResourceGroup 资源组中创建名为“myVnet”的虚拟网络(其中包含名为“mySubnet”的子网) 。 虚拟网络的 IP 地址空间为 10.1.0.0/16。 虚拟网络中的子网为 10.1.0.0/24。

  az network vnet create \
    --resource-group myResourceGroupNAT \
    --location chinaeast2 \
    --name myVnet \
    --address-prefix 10.1.0.0/16 \
    --subnet-name mySubnet \
    --subnet-prefix 10.1.0.0/24

创建堡垒主机

创建名为“myBastionHost”的 Azure Bastion 主机以访问虚拟机。

使用 az network vnet subnet create 创建 Azure Bastion 子网。

az network vnet subnet create \
    --resource-group myResourceGroupNAT \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/24

使用 az network public-ip create 为堡垒主机创建公共 IP 地址。

az network public-ip create \
    --resource-group myResourceGroupNAT \
    --name myBastionIP \
    --sku Standard

使用 az network bastion create 创建堡垒主机。

az network bastion create \
    --resource-group myResourceGroupNAT \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location chinaeast2

配置源子网的 NAT 服务

我们将使用 az network vnet subnet update 在虚拟网络 myVnet 中配置源子网 mySubnet,以使用特定的 NAT 网关资源 myNATgateway。 此命令将激活指定子网中的 NAT 服务。

  az network vnet subnet update \
    --resource-group myResourceGroupNAT \
    --vnet-name myVnet \
    --name mySubnet \
    --nat-gateway myNATgateway

发往 Internet 目标的所有出站流量现在将使用该 NAT 网关。 无需配置 UDR。

虚拟机

在本部分中,你将创建虚拟机来测试 NAT 网关,以验证出站连接的公共 IP 地址。

使用 az vm create 创建虚拟机。

az vm create \
    --name myVM \
    --resource-group myResourceGroupNAT  \
    --admin-username azureuser \
    --image win2019datacenter \
    --public-ip-address "" \
    --subnet mySubnet \
    --vnet-name myVNet

请先等待虚拟机创建完成,然后再转到下一部分。

测试 NAT 网关

在本部分中,我们将测试 NAT 网关。 首先,我们将发现 NAT 网关的公共 IP。 然后,我们将连接到测试虚拟机,并通过 NAT 网关验证出站连接。

  1. 登录到 Azure 门户

  2. 在“概述”屏幕上找到 NAT 网关的公共 IP 地址。 在左侧菜单中选择“所有服务”,选择“所有资源”,然后选择“myPublicIP”。

  3. 记下公共 IP 地址:

    发现 NAT 网关的公共 IP 地址

  4. 在左侧菜单中选择“所有服务”,选择“所有资源”,然后从资源列表中选择位于“myResourceGroupNAT”资源组中的“myVM” 。

  5. 在“概述”页上,选择“连接”,然后选择“Bastion” 。

  6. 选择蓝色的“使用堡垒”按钮。

  7. 输入在 VM 创建过程中输入的用户名和密码。

  8. 在 myTestVM 中打开 Internet Explorer 。

  9. 在地址栏中输入“https://whatsmyip.com”。

  10. 验证显示的 IP 地址与你在上一步中记下的 NAT 网关地址是否匹配:

    显示外部出站 IP 的 Internet Explorer

清理资源

如果你不打算继续使用此应用程序,请按以下步骤删除虚拟网络、虚拟机和 NAT 网关:

  az group delete \
    --name myResourceGroupNAT

后续步骤

有关 Azure 虚拟网络 NAT 的详细信息,请参阅: