什么是 Azure NAT 网关?

Azure NAT 网关是一种完全托管且高度可复原的网络地址转换 (NAT) 服务。 可以使用 Azure NAT 网关让专用子网中的所有实例出站能够连接到 Internet,同时保持完全专用。 不允许来自 Internet 的未经请求的入站连接通过 NAT 网关。 只有作为响应数据包到达出站连接的数据包才能通过 NAT 网关。

NAT 网关提供动态 SNAT 端口功能,可自动扩展出站连接并降低 SNAT 端口耗尽的风险。

此图显示一个 NAT 在从内部子网接收流量并将其定向到公共 IP 地址。

Azure NAT 网关图

Azure NAT 网关为许多 Azure 资源提供出站连接,包括:

Azure NAT 网关的优势

简单设置

使用 NAT 网关有意简化部署。 将 NAT 网关附加到子网和公共 IP 地址,并开始立即连接到 Internet。 无需任何维护和路由配置。 以后可以添加更多公共 IP 或子网,而不会影响现有配置。

以下步骤是有关如何设置 NAT 网关的示例:

  • 创建非区域或区域 NAT 网关。

  • 分配公共 IP 地址或公共 IP 前缀。

  • 将虚拟网络子网配置为使用 NAT 网关。

如有必要,请修改传输控制协议 (TCP) 空闲超时(可选)。 在更改默认值之前,请查看计时器

安全性

NAT 网关基于零信任网络安全模型构建,默认情况下是安全的。 使用 NAT 网关时,子网中的专用实例不需要公共 IP 地址即可访问 Internet。 专用资源可以通过源网络地址转换为 NAT 网关的静态公共 IP 地址或前缀来访问虚拟网络外部的外部源。 可以使用公共 IP 前缀为出站连接提供一组连续的 IP。 可以基于此可预测 IP 列表配置目标防火墙规则。

Resiliency

Azure NAT 网关是一种完全托管的分布式服务。 它不依赖于单个计算实例,例如虚拟机或单个物理网关设备。 NAT 网关始终具有多个容错域,可以在不中断服务的情况下持续多次故障。 软件定义的网络使 NAT 网关具有高度弹性。

Scalability

NAT 网关从创建横向扩展。 不需要逐步增加或横向扩展操作。 Azure 为你管理 NAT 网关的作。

将 NAT 网关附加到子网,为该子网中的所有专用资源提供出站连接。 虚拟网络中的所有子网都可以使用相同的 NAT 网关资源。 可以通过向 NAT 网关分配最多 16 个公共 IP 地址或 /28 大小的公共 IP 前缀来横向扩展出站连接。 当 NAT 网关关联到公共 IP 前缀时,它会自动扩展到出站所需的 IP 地址数。

Performance

Azure NAT 网关是软件定义的网络服务。 每个 NAT 网关最多可以处理出站流量和返回流量的数据 50 Gbps。

NAT 网关不会影响计算资源的网络带宽。 详细了解 NAT 网关的性能

Azure NAT 网关基本信息

外部连接性

Note

2025 年 9 月 30 日,新的虚拟网络默认使用专用子网,这意味着默认的 出站访问 将不再提供,并且必须启用显式出站方法才能访问 Internet 和 Azure 中的公共终结点。 建议改用显式形式的出站连接,例如 NAT 网关。

  • NAT 网关在子网级别提供出站连接。 NAT 网关替换子网的默认 Internet 目标以提供出站连接。

  • NAT 网关不需要子网路由表上的任何路由配置。 NAT 网关附加到子网后,会立即提供出站连接。

  • NAT 网关允许从虚拟网络创建流到虚拟网络外部的服务。 在活动流的响应中仅允许来自 Internet 的返回流量。 虚拟网络外部的服务无法通过 NAT 网关启动入站连接。

  • NAT 网关优先于其他出站连接方法,包括负载均衡器、实例级公共 IP 地址和 Azure 防火墙。

  • NAT 网关优先于虚拟网络中为所有新连接配置的其他显式出站方法。 使用其他显式出站连接方法的现有连接,流量不会下降。

  • NAT 网关没有与负载均衡器 的默认出站访问出站规则相同的 SNAT 端口耗尽限制。

  • NAT 网关仅支持 TCP 和用户数据报协议 (UDP) 协议。 不支持 Internet 控制消息协议 (ICMP)。

流量路由

  • 子网具有系统默认路由,它将目标为 0.0.0.0/0 的流量自动路由到 Internet。 将 NAT 网关配置为子网后,子网中的虚拟机将使用 NAT 网关的公共 IP 与 Internet 通信。

  • 在子网路由表中为 0.0.0.0/0 流量创建用户定义的路由 (UDR),将重写此流量的默认 Internet 路径。 将 0.0.0.0/0 流量发送到虚拟设备或虚拟网络网关(VPN 网关和 ExpressRoute)的 UDR,因为下一跃点类型会替代与 Internet 的 NAT 网关连接。

  • 出站连接在各种不同路由和出站连接方法中遵循以下优先顺序:

    • 到下一跃点的虚拟设备或虚拟网络网关 NAT 网关>>>>实例级公共 IP 地址的 UDR 虚拟机>>负载均衡器出站规则>>默认系统路由到 Internet。

NAT 网关配置

  • 同一虚拟网络中的多个子网可以使用不同的 NAT 网关或相同的 NAT 网关。

  • 多个 NAT 网关无法附加到单个子网。

  • NAT 网关不能跨越多个虚拟网络。 但是,NAT 网关可用于在中心和分支模型中提供出站连接。 有关详细信息,请参阅 NAT 网关中心和分支教程

  • NAT 网关不能部署在 网关子网中。

  • NAT 网关资源可在以下类型的任意组合中使用最多 16 个 IP 地址:

    • 公共 IP 地址。

    • 公共 IP 前缀。

  • NAT 网关不能关联到 IPv6 公共 IP 地址或 IPv6 公共 IP 前缀。

  • NAT 网关可与负载均衡器配合使用,使用出站规则提供双堆栈出站连接。 请参阅 NAT 网关和负载均衡器的双堆栈出站连接

  • NAT 网关适用于任何虚拟机网络接口或 IP 配置。 NAT 网关可以在网络接口上 SNAT 多个 IP 配置。

  • NAT 网关可以关联到中心虚拟网络中的 Azure 防火墙子网,并提供与中心对等互连的辐射虚拟网络的出站连接。 若要了解详细信息,请参阅 Azure 防火墙与 NAT 网关的集成

可用性区域

  • NAT 网关可以在特定的可用性区域中创建,也可以放置在 任何区域中

  • 创建 区域隔离方案时,可以在特定区域中隔离 NAT 网关。 部署 NAT 网关后,无法更改区域选择。

  • NAT 网关默认不置于 任何区域中非区域 NAT 网关由 Azure 放置在区域中。

NAT 网关和基本资源

  • NAT 网关与标准公共 IP 地址或公共 IP 前缀或两者的组合兼容。

  • NAT 网关不能用于存在基本资源的子网。 基本 SKU 资源(例如基本负载均衡器或基本公共 IP)与 NAT 网关不兼容。 基本负载均衡器和基本公共 IP 可以升级到标准,以使用 NAT 网关。

连接超时和计时器

  • NAT 网关为它无法识别为现有连接的任何连接流发送 TCP 重置(RST)数据包。 如果达到 NAT 网关空闲超时或之前关闭了连接,则连接流不再存在。

  • 当未存在的连接流上的流量发送方接收 NAT 网关 TCP RST 数据包时,连接不再可用。

  • 连接关闭后,SNAT 端口将无法随时重新用于同一目标终结点。 NAT 网关将 SNAT 端口置于冷却状态,然后才能重复使用它们以连接到同一目标终结点。

  • SNAT 端口重用 TCP 流量计时器的持续时间取决于连接的关闭方式。 若要了解详细信息,请参阅端口重用计时器

  • 使用的默认 TCP 空闲超时为 4 分钟,最大可提高到 120 分钟。 流中的任何活动也可以重置空闲计时器,包括 TCP Keepalive。 若要了解详细信息,请参阅空闲超时计时器

  • UDP 流量的空闲超时计时器为 4 分钟,且无法更改。

  • UDP 流量有一个 65 秒的端口重用计时器,必须将端口抑制该时长后,才可将其重复用于同一目标终结点。

Pricing

有关 Azure NAT 网关定价,请参阅《NAT 网关定价》。

后续步骤