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

Azure NAT 网关资源

本文介绍 NAT 网关资源的关键组件,这些组件使其能够提供高度安全、可缩放和可复原的出站连接。 可以通过支持的客户端在订阅中配置 NAT 网关。 这些客户端包括 Azure 门户、Azure CLI、Azure PowerShell、资源管理器模板或相应的替代方案。

重要

Standard V2 SKU Azure NAT 网关目前为预览版。 有关适用于 Beta 版、预览版或尚未正式发布的 Azure 功能的法律条款,请参阅 适用于 Microsoft azure 预览版的补充使用条款

NAT 网关 SKU

NAT 网关提供两种 SKU:StandardV2 和 Standard。

NAT 网关的 Standard SKU 和 StandardV2 SKU 关系图。

图 1:NAT 网关的 Standard 和 StandardV2 SKU。

默认情况下,StandardV2 SKU 具有区域冗余性。 它会自动跨越区域内的多个可用性区域,即使某个可用性区域不可用,也能确保出站连接持续畅通。

Standard SKU 是区域资源。 它部署到特定的可用性区域,并在该区域内具有复原能力。

StandardV2 SKU NAT 网关还支持 IPv6 公网 IP,而 Standard SKU NAT 网关仅支持 IPv4 公网 IP。

NAT 网关体系结构

Azure NAT 网关使用软件定义网络作为完全托管的分布式服务运行。 NAT 网关的设计使其能够跨越多个故障域,从而能够承受多次故障而不会对服务造成任何影响。 NAT 网关为 Azure 虚拟网络子网中的相关专用实例提供源网络地址转换 (SNAT)。 虚拟机的私有 IP 通过 NAT 网关的静态公共 IP 地址进行 SNAT,以实现向互联网的出站连接。 NAT 网关还仅为出站始发连接的响应数据包提供目标网络地址转换 (DNAT)。

示意图显示了包含虚拟机的 NAT 网关资源。

图:用于出站到 Internet 的 NAT 网关

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

子网

StandardV2 和 Standard NAT 网关可以附加到虚拟网络中的多个子网,以提供与 Internet 的出站连接。 当 NAT 网关附加到一个子网时,它采用默认的 Internet 路由。 NAT 网关会作为发往 Internet 的所有出站流量的下一跃点类型。

以下子网配置不能与 NAT 网关一起使用:

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

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

  • NAT 网关不能与网关子网一起使用。 网关子网是 VPN 网关在 Azure 虚拟网络和本地位置之间发送加密流量的指定子网。 有关网关子网的详细信息,请参阅网关子网

静态公共 IP 地址

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

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

SNAT 端口

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

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

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

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

不同的 SNAT 端口用于建立与同一目标终结点的连接,以便区分不同的连接流。 重复使用 SNAT 端口连接到同一目标后,需要设置一个重用冷却计时器才能再次使用

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

图:SNAT 端口分配

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

可用性区域

NAT 网关有两个 SKU - Standard 和 StandardV2。 为确保体系结构能够抵御区域故障,请部署 StandardV2 NAT 网关,因为它是一种区域冗余资源。 当一个区域中的可用性区域发生故障时,新的连接会从剩余的正常可用区流入。

StandardV2 NAT 网关的多区域部署关系图。

图:StandardV2 NAT 网关的多区域部署。

Standard NAT 网关是一种区域资源,这意味着它可以在单个可用性区域的外部部署和操作。 如果与 Standard NAT 网关关联的区域发生故障,则与该 NAT 网关关联的子网的出站连接将受到影响。

有关可用性区域和 Azure NAT 网关的详细信息,请参阅可用性区域设计注意事项

Standard NAT 网关的单区域部署关系图。

图:Standard 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 Keepalive 可用于提供刷新长时间空闲连接和终结点运行情况检测的模式。 有关详细信息,请参阅 .NET 示例。 TCP Keepalive 以重复 ACK 的形式显示给终结点,其开销较低,对应用层不可见。

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

计时器

端口重用计时器

端口复用计时器确定连接关闭后,源端口在被 NAT 网关复用到同一目标终结点的新连接之前保持保留状态的时间。

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

Timer 说明
TCP FIN TCP FIN 数据包关闭连接后,将激活一个占用 SNAT 端口的 65 秒计时器。 该计时器结束后,该 SNAT 端口可供重用。 65 秒
TCP RST TCP RST 数据包(重置)关闭连接后,将激活一个占用 SNAT 端口的 16 秒计时器。 该计时器结束时,该端口可供重用。 16 秒
TCP 半开 在建立连接期间,当一个连接终结点正在等待另一终结点的确认时,将激活 30 秒计时器。 如果未检测到任何流量,则连接将会关闭。 连接关闭后,可以重用源端口连接到同一目标终结点。 30 秒

对于 UDP 流量,连接关闭后,端口将保持占用状态 65 秒,然后可供重用。

空闲超时计时器

Timer 说明
TCP 空闲超时 如果在任一终结点之间长时间未传输任何数据,TCP 连接可能会进入空闲状态。 计时器可以将使处于空闲状态的连接超时的时间配置为 4 分钟(默认)到 120 分钟(2 小时)。 流中的流量会重置空闲超时计时器。 可配置;4 分钟(默认)- 120 分钟
UDP 空闲超时 如果在任一终结点之间长时间未传输任何数据,则 UDP 连接可能处于空闲状态。 UDP 空闲超时计时器为 4 分钟,且不可配置。 流中的流量会重置空闲超时计时器。 不可配置;4 分钟

注意

这些计时器设置随时可能更改。 提供这些值是为了帮助进行故障排除,暂时请不要依赖于特定计时器。

Bandwidth

NAT 网关的每个 SKU 都有不同的带宽限制。 StandardV2 SKU NAT 网关支持每个 NAT 网关资源最多 100 Gbps 的数据吞吐量。 Standard SKU NAT 网关提供 50 Gbps 的吞吐量,该吞吐量在出站数据和入站(响应)数据之间分配。 对于每个 Standard NAT 网关资源的出站(响应)数据,数据吞吐量限制为 25 Gbps,对于入站(响应)数据,限制为 25 Gbps。

性能

Standard 和 StandardV2 NAT 网关在通过 Internet 进行 TCP 和 UDP 流量通信时,每个公共 IP 地址最多可支持与同一目标终结点建立 50,000 个并发连接

每个连接最多可以同时支持 200 万个活动连接。 NAT 网关中的连接数是根据“五元组”(源 IP 地址、源端口、目标 IP 地址、目标端口以及协议)来计算的。 如果 NAT 网关的连接数超过 200 万,数据路径的可用性将会下降,并且新的连接会失败。

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

限制

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

  • 基本负载均衡器与 NAT 网关不兼容。 对 Standard 和 StandardV2 NAT 网关使用标准负载均衡器。

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

  • 若要将公共 IP 地址从基本升级为标准,请参阅将公共 IP 地址从基本升级为标准

  • NAT 网关不支持 ICMP

  • IP 分段不适用于 NAT 网关。

  • NAT 网关不支持路由配置类型为“Internet”的公共 IP 地址。 若要查看支持公共 IP 上的路由配置类型“Internet”的 Azure 服务列表,请参阅通过公共 Internet 路由的支持服务

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

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

  • Standard SKU NAT 网关无法升级到 StandardV2 SKU NAT 网关。 必须部署 StandardV2 SKU NAT 网关并替换 Standard SKU NAT 网关,才能使用区域 NAT 网关实现体系结构的区域复原能力。

  • Standard SKU 公共 IP 不能与 StandardV2 NAT 网关一起使用。 要使用 StandardV2 NAT 网关,必须将 IP 地址重新配置为新的 StandardV2 SKU 公共 IP 地址。

  • 有关 StandardV2 NAT 网关的已知限制,请参阅 NAT 网关 SKU

Next steps