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

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

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

Diagram of resources created in nat gateway quickstart.

如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户

先决条件

创建资源组

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

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

创建 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 eastus2 \
    --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 eastus2

创建虚拟网络

使用 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 eastus2

创建堡垒主机子网

创建 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 eastus2 \
    --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 eastus2

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

配置源子网的 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 地址:

    Discover public IP address of NAT gateway

  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 网关的详细信息,请参阅: