NAT 网关是什么
NAT 网关是 VPC 级别的公网出入口,让没有公网 IP 的实例也能访问互联网(SNAT),也能把公网请求转发到指定的内网主机(DNAT)。常见架构里,实例出网走 NAT、对外提供服务走负载均衡,只有需要独占固定地址的少数场景才给单机绑 EIP。
基本信息
| 定义 | VPC 级公网出入口,代理私网实例与公网互访 |
|---|---|
| 两种能力 | SNAT:私网访问公网;DNAT:公网访问私网指定主机 |
| 三厂名称 | NAT 网关(三家同名) |
| 规格指标 | 最大连接数、每秒新建连接数、带宽峰值 |
| 计费构成 | 按规格计费,另计公网流量或带宽费用 |
典型使用场景
- 批量内网机器出网:装依赖、调第三方接口、拉镜像统一走一个出口,运维只需维护一个网关
- 降低公网暴露面:业务实例不绑公网地址,攻击面从几十台收敛到网关与负载均衡
- 固定出口 IP 做白名单:合作方只放通 NAT 网关的 EIP,内网机器随扩随缩都不影响对接
- 把单机端口映射到公网:DNAT 只映射需要的那几个端口,比整台机器绑 EIP 更收敛
- 出口流量审计与限速:出口统一后,流量统计、告警与带宽控制都集中在一处
SNAT 与 DNAT 对比
| 能力 | 方向 | 配置要点 |
|---|---|---|
| SNAT | 私网到公网 | 指定子网或网段复用 EIP 出网,并配默认路由指向网关 |
| DNAT | 公网到私网 | 公网端口映射到指定实例端口,安全组需单独放通 |
| 共用 | 同一网关可同时承载 | 出网与端口映射各建规则,互不冲突 |
内网出网配置三步
内网出网配置三步
1. 在 VPC 创建公网型 NAT 网关并绑定 EIP
2. 创建 SNAT 条目:指定交换机网段 → 复用该 EIP 出网
3. 将子网路由 0.0.0.0/0 指向 NAT 网关
# 只建网关不改路由,实例依旧无法出网NAT 网关规格决定最大连接数与每秒新建连接数,规格不足会在高峰期丢连接或限速;按峰值加余量选规格,不要按平均值估算。
同一子网不要配两条指向不同 NAT 网关的默认路由,路由冲突会让出网随机走不同出口,表现为时通时不通,排查起来非常耗时。
出网请求在网关侧会做源地址转换,后端服务看到的来源 IP 是出口地址;需要识别真实来源时要在应用层通过请求头传递。
上线前的核查清单
- 确认网关规格与业务峰值匹配:最大连接数与每秒新建连接数都要看,不能只比带宽
- 确认子网路由的默认路由指向本网关,且不存在第二条冲突条目
- 确认 SNAT 条目覆盖了所有需要出网的网段,漏掉一个子网就有一批机器上不了网
- 确认 DNAT 场景下安全组同步放通了来源地址与目标端口
- 确认出网流量有监控与告警:NAT 是共享出口,被打满时影响面是整片子网
多个子网可以共用一张路由表,改一条默认路由影响的可能是一整片网络;给不同用途的子网单独建表,路由变更的爆炸半径才可控。
NAT 网关与 EIP 都能提供出网能力,区别在共享程度:NAT 是整片子网共享一个出口,EIP 是一台机器独占一个地址,按暴露面需求选。
成本与容量控制
- 把出网流量做成监控看板:按子网与目的地拆开看,异常增长通常是首次发现被刷或被滥用
- 给关键业务与批处理分开出口:大文件外传与离线备份单独走一条通道,不挤占业务出口带宽
- 按月核对流量与规格:规格长期空跑就降配,长期接近峰值就提前扩容,避免高峰丢连接