> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/welcome/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/welcome/cn/elastic-compute/networking/01-overview-3.md).

# NAT 网关

## 什么是 NAT 网关？

NAT 网关让虚拟私有云（VPC）内的实例能够与互联网通信 — 无需每个实例都拥有自己的公网 IP 地址。

在典型的 VPC 部署中，实例被分配无法从互联网访问的私有 IP 地址。NAT 网关弥合了这一差距：它位于 VPC 边缘，在流量出站时将私有地址转换为公网地址，并在回复返回时执行反向转换。从互联网的角度来看，VPC 中所有出站流量都好像源自网关的弹性 IP。

NAT 网关还支持入站转发：您可以将公网 IP 和端口直接映射到 VPC 内的私有端点，使外部客户端无需将实例直接暴露在互联网上即可访问特定服务。

NAT 网关可以关联安全组以进行流量过滤，让您能够控制网关接受和转发的流量。

![NAT 网关架构](/files/ROu7gFtysW3tLhXzPpM3)

***

## 何时使用 NAT 网关

**您的实例需要访问互联网，但不应拥有公网 IP。** 最常见的使用场景。数据库服务器、工作节点、内部 API — 任何需要拉取软件包、调用外部 API 或发送出站数据，但不应直接从互联网访问的实例。为这些子网分配 NAT 网关，它们即可在不为每个实例分配 EIP 的情况下访问互联网。

![私有实例无需公网 IP 即可访问互联网](/files/pKR8rKDA0iIgEKaXbzNq)

**您希望拥有稳定、可预测的出口地址。** 当您的实例调用通过 IP 白名单控制访问的第三方 API 时，您需要固定的源地址。通过 SNAT，来自某个子网的所有出站流量都通过同一个 EIP — 或一小池 EIP — 出站，使 IP 白名单管理变得简单直接。

![稳定、可预测的出口地址，便于 IP 白名单管理](/files/72xUvFzUZjbQsDLrh3EJ)

**您需要暴露单个服务端口，而无需完整的公网 IP。** NAT 网关的 DNAT 条目可以将公网 EIP 和端口直接映射到一个私有实例。当您希望提供 SSH 访问、暴露单个 API 端点或为后端服务提供入口 — 且不为实例分配公网 IP 时，此功能非常有用。

![通过 DNAT 暴露单个服务端口，无需为实例分配公网 IP](/files/ANCpfbkQc85i0nQQm3qR)

**您运营一个大型实例集群，希望整合出口流量。** 无需为每个实例分配和管理一个 EIP，NAT 网关让数十或数百个实例共享少量 EIP 池用于出站流量。这简化了地址管理并降低了 EIP 成本。

![通过小型 EIP 池整合大型集群的出口流量](/files/grLw6D8QExWYxS7Htydf)

**您的工作负载运行在其他云上，希望获得更低成本的互联网出口。** 如果您的实例位于出站带宽费用昂贵的云平台上，您可以将工作负载保留在那里，并将 Zenlayer 作为网络入口点。将 Border Gateway 连接到 NAT 网关，并通过私有链路将其连接回另一个云。另一个云上的实例通过 NAT 网关的 EIP 以 Zenlayer 的带宽费率访问互联网；回复沿相同路径返回。另一个云只需支付私有链路流量费用 — 无需按 GB 计费的互联网出口费用。

![将 Zenlayer NAT 网关用作另一个云上实例的低成本出口](/files/OMC9XVbA0ytBVMTZFx31)

***

## 不适合使用 NAT 网关的场景

* 如果实例需要持久的、专用的公网 IP 以同时接受来自多个客户端的入站连接，请直接为该实例分配弹性 IP，而非通过 DNAT 条目路由所有流量。
* 如果您的 VPC 需要与另一个网络（本地数据中心或跨地区）建立完整的双向连通，请使用 Border Gateway 而非 NAT 网关。
* 如果您需要针对入站流量进行第 7 层负载均衡或 TLS 终止，请在实例前部署负载均衡器，而非在 NAT 网关上使用 DNAT 条目。

***

## 本指南内容

| 页面                                                                                     | 您将了解的内容               |
| -------------------------------------------------------------------------------------- | --------------------- |
| [NAT 网关](/welcome/cn/elastic-compute/networking/01-overview-3/02-nat-gateway.md)       | 网关的工作原理、生命周期及 CU 计费方式 |
| [SNAT — 出站访问](/welcome/cn/elastic-compute/networking/01-overview-3/03-snat.md)         | 通过共享 EIP 为子网提供互联网访问   |
| [DNAT — 入站转发](/welcome/cn/elastic-compute/networking/01-overview-3/04-dnat.md)         | 将公网流量转发到特定私有端点        |
| [VPC 路由](/welcome/cn/elastic-compute/networking/01-overview-3/05-routing.md)           | NAT 网关对 VPC 路由表的影响    |
| [最佳实践](/welcome/cn/elastic-compute/networking/01-overview-3/06-best-practices.md)      | 建议与故障排查               |
| [配置指南](/welcome/cn/elastic-compute/networking/01-overview-3/07-configuration-guide.md) | Console 分步操作说明        |

***

## 常见问题

**我的实例需要任何变更才能使用 NAT 网关吗？** 不需要。一旦创建了 SNAT 条目并配置好 VPC 路由，覆盖子网中的实例将自动使用网关进行出站流量。实例上无需任何软件变更或额外配置。

**一个 NAT 网关可以为我的 VPC 中所有子网提供服务吗？** NAT 网关是地区级资源，而我们的 VPC 是全球级的。单个网关可以为 VPC 中位于网关所在地区的所有子网（全部或选定子集）提供服务，但不能为同一 VPC 其他地区的子网提供服务。如需另一个地区的出口，请在该地区创建 NAT 网关。

**我可以将同一 EIP 同时用于出站（SNAT）和入站（DNAT）吗？** 可以。同一个 EIP 可以在 SNAT 条目中作为共享出口地址使用，同时也可以出现在一个或多个 DNAT 条目中用于特定端口映射。出站和入站转换是独立跟踪的。

**创建或修改条目时会有停机时间吗？** 添加新的 SNAT 或 DNAT 条目时，现有连接不会中断。新条目在网关应用规则后即时生效。
