NAT 网关资源

本文介绍网络地址转换(NAT)网关资源的关键组件,使它能够提供高度安全、可缩放且可复原的出站连接。 NAT 网关资源是Azure NAT 网关服务的一部分。

可以通过支持的客户端在订阅中配置 NAT 网关。 这些客户端包括Azure门户、Azure CLI、Azure PowerShell、Azure 资源管理器模板或适当的替代方法。

Azure NAT 网关体系结构

Azure NAT 网关使用软件定义的网络作为完全托管的分布式服务运行。 根据设计,NAT 网关跨越多个容错域,使它能够承受多个故障,而不会对服务造成任何影响。

Azure NAT 网关为Azure虚拟网络的关联子网中的专用实例提供源网络地址转换(SNAT)。 虚拟机的专用 IP 使用 SNAT,通过 NAT 网关的静态公共 IP 地址向外连接到 Internet。 Azure NAT 网关还提供目标网络地址转换(DNAT),以便仅将响应数据包发送到出站发起的连接。

用于与 Internet 建立出站连接的 NAT 网关资源与虚拟机图。

将 NAT 网关配置为虚拟网络中的子网时,它将成为定向到 Internet 的所有出站流量的默认下一跃点类型。 无需额外的路由配置。 NAT 网关不提供来自 Internet 的未经请求的入站连接。 DNAT 仅针对作为对出站数据包的响应到达的数据包执行。

子网

可以将 NAT 网关附加到虚拟网络中的多个子网,以提供与 Internet 的出站连接。 当 NAT 网关附加到子网时,它假定默认路由到 Internet。 NAT 网关充当发往互联网的所有出站流量的下一跳类型。

NAT 网关对子网配置有以下限制:

  • 每个子网不能附加多个 NAT 网关。

  • 无法将 NAT 网关附加到来自不同虚拟网络的子网。

  • 不能在 网关子网 中使用 NAT 网关。 网关子网是 VPN 网关在 Azure 虚拟网络和本地位置之间发送加密流量的指定子网。

静态公共 IP 地址

NAT 网关可以与静态公共 IP 地址或公共 IP 前缀相关联。 如果分配公共 IP 前缀,则会使用整个公共 IP 前缀。 可以直接使用公共 IP 前缀,也可以跨多个 NAT 网关资源 分发该前缀的公共 IP 地址 。 NAT 网关将所有流量发送到前缀的 IP 地址范围。

  • NAT 网关不能与 IPv6 公共 IP 地址或前缀一起使用。 它最多支持 16 个 IPv4 公共 IP 地址。
  • NAT 网关不能与基本 SKU 公共 IP 地址一起使用。

SNAT 端口

SNAT 端口库存由附加到 NAT 网关的公共 IP 地址、公共 IP 前缀或两者共同提供。 SNAT 端口清单按需提供给附加到 NAT 网关的子网中的所有实例。 无需为每个实例预分配 SNAT 端口。

有关 SNAT 端口和 Azure NAT 网关的详细信息,请参阅使用 Azure NAT 网关进行源网络地址转换 (SNAT)

当虚拟网络中的多个子网附加到同一 NAT 网关资源时,NAT 网关提供的 SNAT 端口清单在所有子网之间共享。

SNAT 端口充当唯一标识符,用于区分连接流彼此。 可以使用同一 SNAT 端口同时连接到不同的目标终结点

不同的 SNAT 端口 用于连接到 同一目标终结点 ,以便区分连接流彼此。 在可以重复使用之前,用于连接到同一目标的 SNAT 端口会置于重用冷却计时器上。

示意图显示了 SNAT 端口分配。

单个 NAT 网关可以按与之关联的公共 IP 地址数进行缩放。 NAT 网关的每个公共 IP 地址都提供 64,512 个 SNAT 端口,用于建立出站连接。 NAT 网关可以扩展到超过 100 万个 SNAT 端口。 TCP 和 UDP 是单独的 SNAT 端口清单,与 NAT 网关无关。

可用性区域

NAT 网关是一种可用区资源,这意味着你可以在独立的可用区中部署和操作它。 如果与 NAT 网关关联的区域出现故障,中断会影响与 NAT 网关关联的子网的出站连接。

有关可用性区域和Azure NAT网关的详细信息,请参阅《Azure NAT网关的可靠性》。

NAT 网关的单区域部署示意图。

部署 NAT 网关后,无法更改区域选择。

协议

NAT 网关与 UDP 和 TCP 流的 IP 和 IP 传输标头进行交互。 NAT 网关对应用层负载保持中立。 不支持其他 IP 协议,例如 ICMP。

TCP 重置

当 NAT 网关检测到不存在的连接流上的流量时,将发送 TCP 重置数据包。 TCP 重置数据包向接收终结点指示连接流已释放,并且同一 TCP 连接上将来的任何通信都将失败。 TCP 重置在 NAT 网关中是单向的。

如果出现以下问题,则连接流可能不存在:

  • 连接在连接流上处于非活动状态的时间段后达到空闲超时,并且该连接会以无提示方式删除。

  • 来自 Azure 网络端或公共 Internet 端的发送方在连接中断后发送了流量。

仅当系统检测到丢弃的连接流上的流量时,系统才会发送 TCP 重置数据包。 此操作意味着在连接流下降后可能不会立即发送 TCP 重置数据包。

无论流量来自Azure网络端还是公共 Internet 端,系统都会发送 TCP 重置数据包,以检测不存在的连接流上的流量。

TCP 空闲超时

NAT 网关为 TCP 协议提供 4 分钟到 120 分钟的可配置空闲超时范围。 UDP 协议的不可配置的空闲超时为 4 分钟。

当连接处于空闲状态时,NAT 网关会一直保留 SNAT 端口,直到连接因空闲而超时。由于长时间的空闲超时计时器会不必要地增加 SNAT 端口耗尽的可能性,因此我们不建议将 TCP 空闲超时时间增加到超过默认的4分钟。 空闲计时器不会影响从不处于空闲状态的流。

可以使用 TCP keepalives 来提供刷新长时间空闲连接和终结点生存情况检测的模式。 有关详细信息,请参阅.NET示例。 TCP keepalives 在终结点上显示为重复确认(ACK),开销较低,对应用程序层不可见。

UDP 空闲超时计时器不可配置。 应使用 UDP keepalives 来确保连接不会达到空闲超时值,并维护连接。 与 TCP 连接不同,在连接的一端启用 UDP 保留功能仅适用于一个方向的流量流。 必须在流量流的两侧启用 UDP keepalives,以使流量保持活动状态。

计时器

端口重用计时器

端口重用计时器确定连接关闭后源端口在被 NAT 网关重新用于与同一目标终结点的新连接前的锁定时间。

下表提供了有关 TCP 端口何时可供 NAT 网关重复用来连接到同一目标终结点的信息。

计时器 描述
TCP FIN TCP FIN 数据包关闭连接后,65 秒计时器会占用 SNAT 端口。 SNAT 端口在计时器结束后可供重用。 65 秒
TCP RST TCP RST 数据包(重置)关闭连接后,16 秒计时器会保留 SNAT 端口。 计时器结束时,端口便可重用。 16 秒
TCP 半开 在建立连接时,一个连接端点在等待另一个端点的确认,而此时开始了一个 30 秒的计时器。 如果未检测到任何流量,则连接将会关闭。 连接关闭后,源端口可供重复使用到同一目标终结点。 30 秒

对于 UDP 流量,在连接关闭后,端口在可供重复使用之前处于保留状态 65 秒。

空闲超时定时器

计时器 描述
TCP 空闲超时 当两个终结点在长时间不传输任何数据时,TCP 连接可能会变为空闲状态。 可以将计时器配置为从 4 分钟(默认)到 120 分钟(2 小时)以超时空闲连接。 流中的流量会重置空闲超时计时器。 配置;4 分钟(默认)到 120 分钟
UDP 空闲超时 当终结点长时间不传输数据时,UDP 连接可能会处于空闲状态。 UDP 空闲超时计时器为 4 分钟,且不可配置。 流中的流量会重置空闲超时时间计时器。 不可配置;4 分钟

注意

这些计时器设置随时可能更改。 提供的值可以帮助进行故障排除。 目前不应依赖于特定计时器。

Bandwidth

NAT 网关提供 50 Gbps 的吞吐量,在出站和入站(响应)数据之间拆分。 对于每个 NAT 网关资源的出站(响应)数据,数据吞吐量限制为 25 Gbps,对于入站(响应)数据,限制为 25 Gbps。

性能

NAT 网关可以支持每个公共 IP 地址最多 50,000 个并发连接,通过 Internet 到达相同的目标终结点,适用于 TCP 和 UDP 流量。

NAT 网关可以同时支持多达 200 万个活动连接。 NAT 网关上的连接数根据 5 元组(源 IP 地址、源端口、目标 IP 地址、目标端口和协议)进行计数。 如果 NAT 网关超过 200 万个连接,则数据路径的可用性会下降,并且新连接会失败。

NAT 网关每秒最多可以处理 500 万个数据包。

限制

  • 基本负载均衡器与 NAT 网关不兼容。 请改用标准负载均衡器。

    若要将负载均衡器从“基本”升级到“标准”,请参阅 Upgrade Azure公共负载均衡器

  • 基本公共 IP 与 NAT 网关不兼容。 请改用标准公共 IP。

    若要将公共 IP 地址从“基本”升级到“标准”,请参阅“将基本公共 IP 地址升级到标准”。

  • Azure NAT 网关不支持 ICMP。

  • IP 碎片不适用于 Azure NAT 网关。

  • Azure NAT 网关不支持启用了 DDoS 保护的公共 IP。 有关详细信息,请参阅DDoS 限制

  • 安全虚拟网络(vWAN)体系结构不支持 Azure NAT 网关。