什么是网络地址转换(NAT)?
网络地址转换(Network Address Translation,NAT)是一种数据包转发技术。IPv4 数据包经过路由器、防火墙或其他中间设备时,设备会改写源地址或目的地址;很多实现还会改写 TCP 或 UDP 端口,并更新受影响的校验和。设备通过映射表或连接状态,把返回流量还原到正确的内部流。
“NAT IP”或“NAT 后的 IP”并不是一种特殊地址类型,而是某一侧看到的转换后地址。例如,电脑在内网使用 192.168.1.25,互联网服务看到的则可能是 NAT 网关的公网地址。
NAT 如何工作?
- 内部设备发起连接。例如
192.168.1.25:51514访问外部服务。 - 网关选择转换映射。使用端口地址转换时,网关可将源改为
203.0.113.10:62001,并记录内外地址、端口、协议与状态。 - 远端服务向转换后的公网地址和端口返回响应。
- 网关反向还原映射。响应匹配有效状态后,网关恢复内部目的地址并转发给原设备。
未主动建立状态的入站流量通常没有可匹配的映射。对外发布服务需要显式 DNAT 或端口转发、可用路由,以及单独的防火墙放行策略。一对一 NAT 映射本身既不授权入站访问,也不能替代安全控制。
NAT 的常见类型
| 功能 | 改写内容 | 常见用途 | 主要限制 |
|---|---|---|---|
| 源 NAT(SNAT) | 源地址,有时包括源端口 | 私有地址客户端访问其他网络 | 返回流量必须匹配映射或规则 |
| 目的 NAT(DNAT) | 目的地址,有时包括目的端口 | 发布内部服务或引流 | 仍需路由和防火墙授权 |
| 静态一对一 NAT | 固定内部地址映射固定外部地址 | 稳定的双向地址映射 | 占用外部地址,且不会自动形成安全策略 |
| 动态 NAT | 从公网地址池临时选择地址 | 使用公网池的出站会话 | 映射可能变化,地址池可能耗尽 |
| NAPT 或 PAT | 地址和传输层端口 | 大量设备共享一个或多个公网 IPv4 | 端口和状态容量有限 |
日常所说的“NAT”经常特指家庭或小型办公室使用的 PAT、NAPT 或 NAT Overload。NAT44 是 IPv4 到 IPv4 的转换;让 IPv6 客户端访问 IPv4 服务的 NAT64 属于另一种架构,还涉及 DNS 和应用兼容性。
NAT 的目的和优势是什么?
- 节省公网 IPv4:NAPT 让大量私有端点共享较小的公网地址池。
- 分离内外地址规划:在明确依赖关系的前提下,组织可以调整内部地址而不必向外暴露每个内部地址。
- 发布或引导指定服务:DNAT 可将稳定的公网入口映射到内部目标,但必须纳入有记录的路由与防火墙设计。
- 处理地址重叠:NAT 可临时连接使用相同地址段的网络,但从长期运营看,避免重叠通常更简单。
NAT 不提供加密、身份验证、恶意软件过滤,也不等于防火墙。某些设计中,没有入站映射会降低未请求流量的可达性,但真正允许或拒绝流量的是防火墙策略。最小权限、补丁、身份控制、监控和经过演练的事件响应仍然必不可少。
NAT 的局限与运营风险
- 改变端到端可达性:入站服务、点对点通信、VoIP、游戏和部分 VPN 可能需要显式映射或 STUN、TURN 等穿越服务。
- 部分协议会在载荷中携带地址:应用层网关只能改写已知协议,并会引入更多状态,无法覆盖所有加密或自定义协议。
- 端口或状态可能耗尽:高连接速率、过长超时、不均衡的端口分配或过小公网池,都可能在带宽用满前使转换失败。
- 归因依赖完整日志:按政策保留同步时间、时区、协议、内部五元组、转换后五元组、目的端和映射生命周期。
- 高可用也需要同步状态:若主备设备不共享转换状态,故障切换或维护可能中断现有会话。
- 双重 NAT 增加故障点:两层映射会让端口转发、VPN、游戏、日志和责任边界更难排查。
NAT 并非天然会拖慢网络。应测量包速率、新建连接速率、状态表、端口分配失败、日志吞吐、丢包、CPU 与硬件卸载,再判断转换设备是否为瓶颈。
NAT 与防火墙、代理、VPN、CGNAT 的区别
| 功能 | 主要任务 | 是否加密 |
|---|---|---|
| NAT | 改写地址或端口并维护映射 | 否 |
| 防火墙 | 按策略允许、拒绝或检查流量 | 否,除非组合其他功能 |
| 代理 | 代表客户端或服务终止并重新发起连接 | 取决于代理协议或隧道 |
| VPN | 在经过身份验证的端点之间封装流量,通常还会加密 | 通常会 |
| CGNAT | 在运营商网络中让多个用户共享公网地址和端口 | 否 |
运营商级 NAT 可能在用户路由器上游再增加一层转换,限制入站托管,并让公网 IP 查询显示多人共享的地址。可阅读 CGNAT 指南了解识别方法与替代方案。
NAT 设计与排障清单
- 先定义目标:共享出站、发布服务、解决地址重叠、迁移,还是运营商级地址节省。
- 画出每一跳,分别记录两个方向转换前后的源地址、目的地址、端口和协议。
- 把路由、防火墙策略和 NAT 规则分开核验。
- 评估公网地址、源端口、状态表、超时、日志吞吐和故障切换容量。
- 保留能够关联内部流与公网流的时间同步日志,同时遵守数据最小化和保留政策。
- 测试出站、返回、未请求入站、端口转发、Hairpin NAT、MTU 敏感流量、故障切换与回滚。
- 修改本地路由器前,先确认上游是否还有一层 NAT。
何时需要独享公网 IPv4?
独享公网 IPv4 地址或网段可以简化稳定入站服务、允许列表、路由责任、滥用归因和容量规划,但仍需要防火墙和规范运营。应比较前缀大小、路由模式、RPKI、LOA、注明日期的信誉证据、滥用联系人、价格、期限、续约与退出方案。可以查看 托管式 IPv4 租赁或公开 IPv4 市场,但不能预设库存、价格或适用性。
NAT 常见问题
NAT 和防火墙是一回事吗?
不是。NAT 改写地址或端口,防火墙按策略控制流量。两者经常运行在同一设备上,但设计和审计必须分开。
什么是 NAT IP 地址?
它是转换后在另一侧看到的地址。内部端点使用一个地址,外部网络看到转换后的地址;使用 PAT 时还会看到转换后的端口。
NAT 与 PAT 有什么区别?
NAT 是地址转换技术的总称。PAT、NAPT 或 Overload 还会转换传输层端口,使大量内部流共享一个公网 IPv4。
NAT 会降低网速吗?
转换会消耗设备资源,但容量充足的网关增加的延迟可能很小。应检查状态表、端口、日志、CPU、丢包与功能处理。
双重 NAT 为什么容易出问题?
每一层转换都有独立映射和超时。端口转发、VPN、点对点通信、游戏、日志和排障都可能需要同时配置两台设备。


