快速入门:使用 Azure CLI 创建 NAT 网关
在本快速入门中,了解如何使用 Azure CLI 来创建 NAT 网关。 NAT 网关服务为 Azure 中的虚拟机提供出站连接。
如果没有 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 网关验证出站连接。
登录 Azure 门户。
在门户顶部的搜索框中,输入“公共 IP”。 在搜索结果中,选择“公共 IP 地址”。
选择“public-ip-nat”。
记下公共 IP 地址:
在门户顶部的搜索框中,输入“虚拟机”。 在搜索结果中,选择“虚拟机”。
选择 vm-1。
在“概述”页面上,选择“连接”,然后选择“Bastion”。
选择“使用 Bastion”。
输入在 VM 创建过程中输入的用户名和密码。 选择“连接”。
在 bash 提示符下,输入以下命令:
curl ifconfig.me
验证命令返回的 IP 地址是否与 NAT 网关的公共 IP 地址匹配。
azureuser@vm-1:~$ curl ifconfig.me 20.7.200.36
清理资源
如果你不打算继续使用此应用程序,请按以下 CLI 命令删除虚拟网络、虚拟机和 NAT 网关:
az group delete \
--name test-rg
后续步骤
有关 Azure NAT 网关的详细信息,请参阅: