NAT 如何处理私有IP地址
了解网络地址转换(NAT)如何使多个设备共享单个公网IP地址。探索不同的NAT类型和实现策略。


网络地址转换(NAT)是一项基础技术,它使私有网络中的多个设备能够在与互联网通信时共享单个公网IP地址。这一技术非常重要,因为根据RFC 1918定义的私有IP地址在公共互联网上是不可路由的。NAT充当中介,在私有IP地址和公网IP地址之间进行转换,使内部设备能够访问外部资源,在某些情况下还允许外部访问内部服务。对于任何从事网络管理的人来说,理解NAT如何与私有IP地址配合工作都是至关重要的。
为什么需要NAT和私有IP地址
使用NAT的主要原因是IPv4公网地址资源有限。在互联网最初设计时,可用的公网IPv4地址数量看起来是足够的。然而,随着联网设备的指数级增长,公网IPv4地址池已经耗尽。
私有IP地址提供了一个解决方案,允许组织在内部使用大量地址空间,而无需为每个设备分配唯一的公网IP地址。NAT则在私有网络和公共互联网之间架起桥梁,允许这些设备使用较少数量的公网IP地址进行外部通信。
NAT基本操作
NAT的核心功能是修改网络数据包IP头部中的IP地址信息。当私有网络中的设备向公共互联网发送数据包时,NAT设备(通常是路由器或防火墙)执行以下步骤:
- 接收数据包: NAT设备接收来自内部设备的出站数据包。数据包头部的源IP地址是内部设备的私有IP地址,目标IP地址是外部服务器的公网IP地址。
- NAT表查询: NAT设备查询其NAT表,该表维护着私有IP地址和端口号到公网IP地址和端口号的映射关系。
- 地址转换: 如果没有找到匹配的现有条目,NAT设备会在NAT表中创建新条目。它将出站数据包的源私有IP地址替换为自己的公网IP地址。通常还会更改源端口号以确保唯一性并跟踪连接。
- 转发数据包: NAT设备将修改后的数据包转发到互联网。数据包中的源IP地址现在显示为NAT设备的公网IP地址。
- 接收响应: 当外部服务器发送响应时,响应会被发送到NAT设备的公网IP地址和用于出站连接的特定端口号。
- 反向转换: NAT设备接收到入站响应数据包后,查询其NAT表以找到对应条目。它将数据包中的目标公网IP地址和端口号替换为原始内部设备的私有IP地址和端口号。
- 转发到内部设备: NAT设备将转换后的数据包转发给私有网络上的正确设备。
NAT类型
存在几种不同类型的NAT,每种类型都有其特点和使用场景:
静态NAT
在静态NAT中,私有IP地址和公网IP地址之间建立一对一的映射关系。这种映射是永久的,预先配置的。当具有特定私有IP地址的设备发送流量到互联网时,它总是被转换为相同的公网IP地址。
- 使用场景: 在私有网络中托管需要固定公网IP地址访问的公共服务(如Web服务器或邮件服务器)。
- 优点: 允许可预测的入站连接。
- 缺点: 每个需要外部访问的内部设备都需要一个公网IP地址,这种方式扩展性差,且无法有效节省公网IP地址。
动态NAT
动态NAT使用公网IP地址池。当私有网络中的设备需要访问互联网时,NAT设备从池中分配一个可用的公网IP地址。这种映射是临时的,连接关闭后会释放回地址池。
- 使用场景: 为中等数量的内部用户提供互联网访问,其中并发外部连接数少于可用公网IP地址数。
- 优点: 相比静态NAT更节省公网IP地址。
- 缺点: 分配给内部设备的公网IP地址可能会改变,不适合托管公共服务。
端口地址转换(PAT)或NAT重载
端口地址转换(PAT),也称为NAT重载,是家庭和小型办公网络中最常用的NAT类型。它允许私有网络中的多个设备共享单个公网IP地址。PAT通过使用不同的端口号来区分来自不同内部设备的连接。
- 操作: 当多个内部设备发送流量到互联网时,PAT除了转换私有IP地址为公网IP地址外,还为每个连接分配唯一的源端口号。NAT表存储私有IP地址和端口号到公网IP地址和分配端口号的映射关系。
- 使用场景: 使用单个公网IP地址为众多设备提供互联网访问,常见于家用路由器和小型企业防火墙。
- 优点: 最大化单个公网IP地址的使用,高度可扩展。
- 缺点: 入站连接变得复杂,需要端口转发。
NAT穿透技术
NAT可能会给需要直接入站连接的应用程序带来挑战,如在线游戏、VoIP和某些点对点应用。为了克服这些挑战,开发了几种NAT穿透技术:
- 端口转发: 手动配置NAT设备,将发往特定端口的流量转发到特定的内部IP地址。这通常用于在私有网络中托管游戏服务器或Web服务器。
- UPnP(通用即插即用): 一组网络协议,允许私有网络上的应用程序自动在NAT设备上配置端口转发规则。虽然方便,但如果实现不当,UPnP可能会带来安全风险。
- STUN(NAT会话穿越实用工具): 应用程序用来发现其在外部世界看到的公网IP地址和端口号的协议。这些信息可以用来促进与外部对等点的通信。
- TURN(使用中继NAT的穿越): 一种更高级的协议,其中公共服务器充当NAT后两个主机之间通信的中继。当无法建立直接的点对点通信时,通常使用这种方式。
NAT的安全考虑
虽然NAT通过隐藏提供了一定程度的安全性,但它本身并不是一个安全解决方案。理解NAT的安全影响很重要:
- 不是防火墙: NAT不检查网络流量的内容,也不提供与防火墙相同级别的保护。
- 入站连接复杂性: 虽然NAT隐藏了内部IP地址,但配置不当的端口转发可能会通过开放不必要的内部系统访问而创建安全漏洞。
- 日志记录挑战: PAT可能会使仅基于公网IP地址追踪负责特定网络活动的具体内部设备变得更加困难。
NAT和IPv6的未来
随着IPv6的日益普及(它提供了更大的地址空间),对NAT的需求预计会随时间减少。IPv6为互联网上的每个设备提供了足够的唯一公网IP地址,消除了NAT的主要驱动因素。
然而,NAT在可预见的未来可能仍然保持相关性,特别是在维护IPv4和IPv6网络之间的兼容性方面。像NAT64和NAT46这样的技术允许IPv6-only和IPv4-only网络之间的通信。
结论:连接私有和公共网络
NAT是一项关键技术,它与私有IP地址不可分割地配合工作,使现代互联网得以运行。通过将私有IP地址转换为公网IP地址,NAT允许私有网络上的众多设备共享有限数量的公网IP地址,节省地址空间并提供一定程度的安全性。理解不同类型的NAT、其操作方式和相关的安全考虑对网络专业人员来说至关重要。虽然IPv6承诺从长远来看减少对NAT的依赖,但NAT在未来几年内仍将在网络连接中发挥重要作用。
关于作者

Marilyn J. Dudley
Marilyn 是一位拥有超过 15 年网络基础设施设计和实施经验的资深网络工程师。她持有 CCNA 和 CCNP 认证,并专注于 IP 寻址、网络安全和 IPv6 迁移策略。在她职业生涯中,她成功领导了多个大规模网络部署和 IPv6 过渡项目,为财富 500 强公司提供服务。她目前是 ipaddress.network 的专职作家,分享她的专业知识,帮助组织构建安全高效的网络。
最后更新: 2025年1年12日