跳到主要内容

IPv4 指南

什么是网络地址转换(NAT)?原理、类型与排障

Chan

什么是网络地址转换(NAT)?

网络地址转换(Network Address Translation,NAT)是一种数据包转发技术。IPv4 数据包经过路由器、防火墙或其他中间设备时,设备会改写源地址或目的地址;很多实现还会改写 TCP 或 UDP 端口,并更新受影响的校验和。设备通过映射表或连接状态,把返回流量还原到正确的内部流。

“NAT IP”或“NAT 后的 IP”并不是一种特殊地址类型,而是某一侧看到的转换后地址。例如,电脑在内网使用 192.168.1.25,互联网服务看到的则可能是 NAT 网关的公网地址。

NAT 如何工作?

  1. 内部设备发起连接。例如 192.168.1.25:51514 访问外部服务。
  2. 网关选择转换映射。使用端口地址转换时,网关可将源改为 203.0.113.10:62001,并记录内外地址、端口、协议与状态。
  3. 远端服务向转换后的公网地址和端口返回响应。
  4. 网关反向还原映射。响应匹配有效状态后,网关恢复内部目的地址并转发给原设备。

未主动建立状态的入站流量通常没有可匹配的映射。对外发布服务需要显式 DNAT 或端口转发、可用路由,以及单独的防火墙放行策略。一对一 NAT 映射本身既不授权入站访问,也不能替代安全控制。

NAT 的常见类型

常见 IPv4 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 混淆的网络功能
功能主要任务是否加密
NAT改写地址或端口并维护映射
防火墙按策略允许、拒绝或检查流量否,除非组合其他功能
代理代表客户端或服务终止并重新发起连接取决于代理协议或隧道
VPN在经过身份验证的端点之间封装流量,通常还会加密通常会
CGNAT在运营商网络中让多个用户共享公网地址和端口

运营商级 NAT 可能在用户路由器上游再增加一层转换,限制入站托管,并让公网 IP 查询显示多人共享的地址。可阅读 CGNAT 指南了解识别方法与替代方案。

NAT 设计与排障清单

  1. 先定义目标:共享出站、发布服务、解决地址重叠、迁移,还是运营商级地址节省。
  2. 画出每一跳,分别记录两个方向转换前后的源地址、目的地址、端口和协议。
  3. 把路由、防火墙策略和 NAT 规则分开核验。
  4. 评估公网地址、源端口、状态表、超时、日志吞吐和故障切换容量。
  5. 保留能够关联内部流与公网流的时间同步日志,同时遵守数据最小化和保留政策。
  6. 测试出站、返回、未请求入站、端口转发、Hairpin NAT、MTU 敏感流量、故障切换与回滚。
  7. 修改本地路由器前,先确认上游是否还有一层 NAT。

何时需要独享公网 IPv4?

独享公网 IPv4 地址或网段可以简化稳定入站服务、允许列表、路由责任、滥用归因和容量规划,但仍需要防火墙和规范运营。应比较前缀大小、路由模式、RPKI、LOA、注明日期的信誉证据、滥用联系人、价格、期限、续约与退出方案。可以查看 托管式 IPv4 租赁公开 IPv4 市场,但不能预设库存、价格或适用性。

NAT 常见问题

NAT 和防火墙是一回事吗?

不是。NAT 改写地址或端口,防火墙按策略控制流量。两者经常运行在同一设备上,但设计和审计必须分开。

什么是 NAT IP 地址?

它是转换后在另一侧看到的地址。内部端点使用一个地址,外部网络看到转换后的地址;使用 PAT 时还会看到转换后的端口。

NAT 与 PAT 有什么区别?

NAT 是地址转换技术的总称。PAT、NAPT 或 Overload 还会转换传输层端口,使大量内部流共享一个公网 IPv4。

NAT 会降低网速吗?

转换会消耗设备资源,但容量充足的网关增加的延迟可能很小。应检查状态表、端口、日志、CPU、丢包与功能处理。

双重 NAT 为什么容易出问题?

每一层转换都有独立映射和超时。端口转发、VPN、点对点通信、游戏、日志和排障都可能需要同时配置两台设备。

标签

  • #Network Address Translation (NAT)