什么是 Azure NAT 网关?

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

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

Figure shows a NAT receiving traffic from internal subnets and directing it to a public IP (PIP) and an IP prefix.

Azure NAT 网关图

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

Azure NAT 网关的优势

简单安装

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

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

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

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

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

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

安全性

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

复原

Azure NAT 网关是一种完全托管的分布式服务。 它不依赖于单个计算实例,例如 VM 或单个物理网关设备。 NAT 网关始终包含具有多个容错域,可以承受多次故障的同时避免服务中断。 软件定义的网络使 NAT 网关具有高复原能力。

可伸缩性

NAT 网关会在创建后进行横向扩展。 无需执行纵向或横向扩展操作。 Azure 将自动管理 NAT 网关的操作。

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

性能

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

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

Azure NAT 网关基本信息

出站连接

注意

2025 年 9 月 30 日,将会停用新部署的默认出站访问权限。 建议改用显式形式的出站连接,例如 NAT 网关。

  • 使用 NAT 网关可以在每个子网级别定义流出量。 NAT 网关将替换子网的默认 Internet 目标。

  • 无需流量路由配置即可使用 NAT 网关。

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

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

  • 为虚拟网络(其中已存在其他出站连接方法)配置 NAT 网关时,NAT 网关将接管所有向前移动的出站流量。 Azure 负载均衡器上现有连接的流量流不会下降。 所有新连接都将使用 NAT 网关。

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

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

流量路由

  • 配置后,NAT 网关会替换子网到 Internet 的系统默认路由。 将 NAT 网关附加到子网时,在出站连接到 Internet 之前,0.0.0.0/0 前缀中的所有流量都会路由到 NAT 网关。

  • 可以通过为 0.0.0.0/0 流量创建自定义用户定义路由 (UDR),替代 NAT 网关作为子网到 Internet 的系统默认路由。

  • 子网 0.0.0.0/0 流量如果存在虚拟设备的用户定义路由 (UDR)、VPN 网关和 ExpressRoute,则会将导致流量路由到这些服务,而不是 NAT 网关。

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

    • 虚拟设备 UDR/VPN 网关/ExpressRoute >> NAT 网关 >> 虚拟机上的实例级公共 IP 地址 >> 负载均衡器出站规则 >> 前往 Internet 的默认系统路由。

NAT 网关配置

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

  • 多个 NAT 网关不能连接到单个子网。

  • 一个 NAT 网关不能跨越多个虚拟网络。

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

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

    • 公共 IP 地址。

    • 公共 IP 前缀。

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

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

  • NAT 网关适用于任何虚拟机网络接口或 IP 配置。 NAT 网关可以对网络接口上的多个 IP 配置进行 SNAT 操作。

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

可用性区域

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

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

  • 默认情况下,NAT 网关未置于任何区域中非区域 NAT 网关将由 Azure 放置在区域中。

NAT 网关和基本资源

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

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

连接超时和计时器

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

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

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

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

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

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

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

定价

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

后续步骤