快速入门:使用 Azure CLI 创建 NAT 网关

在本快速入门中,了解如何使用 Azure CLI 来创建 NAT 网关。 NAT 网关服务为 Azure 中的虚拟机提供出站连接。

在 nat 网关快速入门中创建的资源的示意图。

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

先决条件

如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI

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

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

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

创建资源组

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

az group create \
    --name test-rg \
    --location chinanorth3

创建 NAT 网关

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

创建公共 IP 地址

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

az network public-ip create \
    --resource-group test-rg \
    --name public-ip-nat \
    --sku Standard \
    --location chinanorth3 \
    --zone 1 2 3

创建 NAT 网关资源

使用 az network nat gateway create 创建 Azure NAT 网关。 运行此命令将会创建一个网关资源,该资源将使用在上一步骤中定义的公共 IP 地址。 空闲超时设置为 10 分钟。

az network nat gateway create \
    --resource-group test-rg \
    --name nat-gateway \
    --public-ip-addresses public-ip-nat \
    --idle-timeout 10 \
    --location chinanorth3

创建虚拟网络

使用 az network vnet create 创建包含一个子网的虚拟网络。 虚拟网络的 IP 地址空间是 10.0.0.0/16。 虚拟网络中的子网是 10.0.0.0/24

az network vnet create \
    --name vnet-1 \
    --resource-group test-rg \
    --address-prefix 10.0.0.0/16 \
    --subnet-name subnet-1 \
    --subnet-prefixes 10.0.0.0/24 \
    --location chinanorth3

创建堡垒主机子网

创建 Azure Bastion 主机以访问虚拟机。

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

az network vnet subnet create \
    --name AzureBastionSubnet \
    --resource-group test-rg \
    --vnet-name vnet-1 \
    --address-prefix 10.0.1.0/26

为堡垒主机创建公共 IP 地址

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

az network public-ip create \
    --resource-group test-rg \
    --name public-ip \
    --sku Standard \
    --location chinanorth3 \
    --zone 1 2 3

创建 Bastion 主机

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

小时定价从部署 Bastion 的时刻开始计算,而无论出站数据使用情况如何。 有关详细信息,请参阅定价SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。 有关 Azure Bastion 的详细信息,请参阅 Azure Bastion

az network bastion create \
    --name bastion \
    --public-ip-address public-ip \
    --resource-group test-rg \
    --vnet-name vnet-1 \
    --location chinanorth3

堡垒主机可能需要几分钟时间才能完成部署。 在进入下一部分之前,请等待堡垒主机部署完毕。

配置源子网的 NAT 服务

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

az network vnet subnet update \
    --name subnet-1 \
    --resource-group test-rg \
    --vnet-name vnet-1 \
    --nat-gateway nat-gateway

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

创建虚拟机

创建虚拟机来测试 NAT 网关,以验证出站连接的公共 IP 地址。

使用 az vm create 创建虚拟机。

az vm create \
    --resource-group test-rg \
    --name vm-1 \
    --image Ubuntu2204 \
    --public-ip-address "" \
    --vnet-name vnet-1 \
    --subnet subnet-1 \
    --admin-username azureuser \
    --authentication-type password

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

测试 NAT 网关

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

  1. 登录 Azure 门户

  2. 在门户顶部的搜索框中,输入“公共 IP”。 在搜索结果中,选择“公共 IP 地址”。

  3. 选择“public-ip-nat”。

  4. 记下公共 IP 地址:

    发现 NAT 网关的公共 IP 地址

  5. 在门户顶部的搜索框中,输入“虚拟机”。 在搜索结果中,选择“虚拟机”。

  6. 选择 vm-1

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

  8. 选择“使用 Bastion”。

  9. 输入在 VM 创建过程中输入的用户名和密码。 选择“连接”。

  10. 在 bash 提示符下,输入以下命令:

    curl ifconfig.me
    
  11. 验证命令返回的 IP 地址是否与 NAT 网关的公共 IP 地址匹配。

    azureuser@vm-1:~$ curl ifconfig.me
    20.7.200.36
    

清理资源

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

  az group delete \
    --name test-rg

后续步骤

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