什么是虚拟网络 NAT?

虚拟网络 NAT 是一种完全托管且高度可复原的网络地址转换 (NAT) 服务。 VNet NAT 简化了虚拟网络的出站 Internet 连接。 在子网中配置后,所有出站连接将使用 VNet NAT 的静态公共 IP 地址。

图中显示了 NAT 从内部子网接收流量并将其定向到公共 IP (PIP) 和 IP 前缀。

图:虚拟网络 NAT

VNet NAT 的优势

安全性

使用 NAT,单个 VM(或其他计算资源)不需要公共 IP 地址,并且可以保持完全专用。 这种没有公共 IP 地址的资源仍可访问 VNet 外部的资源。 还可以关联公共 IP 前缀,以确保将一组连续的 IP 用于出站连接。 然后可以根据此可预测 IP 列表配置目标防火墙规则。

复原

NAT 是完全托管的分布式服务。 它不依赖于任何单独的计算实例,例如 VM 或单个物理网关设备。 它利用软件定义的网络,因此具有很高的复原能力。

可伸缩性

NAT 可以关联到子网,并可由该子网中的所有计算资源使用。 此外,VNet 中的所有子网都可以利用同一资源。 关联到公共 IP 前缀后,它将自动缩放为建立出站连接所需的 IP 地址数。

性能

NAT 不影响计算资源的网络带宽,因为它是一种软件定义的网络服务。 详细了解 NAT 网关的性能

VNet NAT 基础知识

NAT 一开始就已完全横向扩展。 无需执行纵向或横向扩展操作。 Azure 将自动管理 NAT 的操作。 NAT 始终包含具有多个容错域,可以承受多次故障,可避免服务中断。

  • 可为使用 NAT 的每个子网定义出站连接。 同一虚拟网络中的多个子网可以使用不同的 NAT。 可以通过指定要使用的 NAT 网关资源来配置子网。 NAT 会自动处理子网的所有出站流量,而无需完成任何客户配置。 不需要指定用户定义的路由。 NAT 优先于其他出站方案,可替代子网的默认 Internet 目标。

  • NAT 仅支持 TCP 和 UDP 协议。 不支持 ICMP。

  • NAT 网关资源可以使用:

    • 公共 IP
    • 公共 IP 前缀
  • NAT 与标准 SKU 公共 IP 地址、公共 IP 前缀资源或两者的组合相兼容。 可以直接使用公共 IP 前缀,或者在多个 NAT 网关资源之间分配前缀的公共 IP 地址。 NAT 会将所有流量梳理到前缀的 IP 地址范围。 基本资源(例如基本负载均衡器或基本公共 IP)与 NAT 不兼容。 基本资源必须放置在未关联到 NAT 网关的子网上。

  • 不能将 NAT 关联到 IPv6 公共 IP 地址或 IPv6 公共 IP 前缀。 但是,它可以关联到双栈子网。

  • NAT 允许创建从虚拟网络到 VNet 外部服务的流。 在活动流的响应中仅允许来自 Internet 的返回流量。 VNet 外部的服务无法发起与实例的连接。

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

  • NAT 不能部署在网关子网

  • NAT 的专用端(虚拟机实例或其他计算资源)发送 TCP 重置数据包,以尝试在不存在的 TCP 连接上进行通信。 例如,已达到空闲超时的连接。 收到的下一个数据包将向专用 IP 地址返回 TCP 重置,以指示此状态并强制关闭连接。 NAT 的公共端不会生成 TCP 重置数据包或其他任何流量。 只会发出客户虚拟网络生成的流量。

  • 使用的默认 TCP 空闲超时为 4 分钟,最大可提高到 120 分钟。 流中的任何活动也可以重置空闲计时器,包括 TCP Keepalive。

定价和 SLA

有关定价详细信息,请参阅虚拟网络定价。 NAT 数据路径至少在 99.9% 的时间可用。

后续步骤