一、什么是NAT?
NAT(Network Address Translation,网络地址转换) 是一种将 私有IP地址 与 公有IP地址 相互映射的技术,主要用于解决IPv4地址不足的问题。它像一名“翻译官”,在数据包经过路由器或防火墙时修改其IP地址,实现内网设备通过少量公网IP访问互联网。
核心作用:
节省公网IP:多个设备共享一个公网IP。
隐藏内网结构:对外屏蔽内部网络细节,提升安全性。
解决地址冲突:允许不同内网使用相同的私有IP段。
二、什么是NAT转换?
NAT转换是路由器修改数据包IP地址的过程,分为 出站转换(SNAT) 和 入站转换(DNAT)。以下是一个典型流程:
转换步骤(以SNAT为例):
内网设备发送请求
PC1(私有IP192.168.1.10
)访问公网服务器203.0.113.5
。路由器修改源IP
将源IP从192.168.1.10
替换为公网IP203.0.113.1
。服务器响应公网IP
服务器返回数据到203.0.113.1
。路由器还原目标IP
将目标IP203.0.113.1
还原为192.168.1.10
,转发给PC1。
三、NAT转换的使用场景
场景 | 说明 | 示例 |
---|---|---|
家庭网络 | 多设备(手机、电脑)通过一个公网IP上网 | 家用路由器默认启用NAT |
企业内网 | 成百上千员工共享少量公网IP访问外网 | 防火墙部署NAT策略 |
云服务器 | 为虚拟机分配私有IP,通过NAT访问公网 | AWS EC2实例使用NAT网关 |
端口映射 | 将公网IP的特定端口转发到内网服务器(如Web服务) | 公网IP:80 → 内网服务器:80 |
四、NAT的种类
1. 静态NAT
特点:一对一固定映射,一个私有IP永久绑定一个公网IP。
用途:托管内网服务器(如Web服务器),支持从公网直接访问。
示例:
内网IP192.168.1.100
↔ 公网IP203.0.113.10
。
2. 动态NAT
特点:从公网IP池中动态分配IP,映射关系不固定(但同一会话期间不变)。
用途:企业内网多设备临时访问外网。
示例:
内网设备共享公网IP池203.0.113.1~203.0.113.5
。
3. NAPT(网络地址端口转换)
特点:多对一映射,通过 端口号 区分不同会话(最常用的NAT类型)。
用途:家庭或小型企业网络,允许多设备共享单一公网IP。
示例:
PC1:
192.168.1.10:1234
→203.0.113.1:50001
PC2:
192.168.1.11:5678
→203.0.113.1:50002
五、NAT和NAPT的区别
对比维度 | NAT | NAPT(PAT) |
---|---|---|
映射方式 | IP地址一对一映射 | IP地址 + 端口号多对一映射 |
公网IP消耗 | 需要与内网设备等量的公网IP | 仅需1个公网IP |
适用场景 | 托管服务器、需要固定公网IP访问的服务 | 普通上网、多设备共享IP |
端口复用 | 不支持 | 通过不同端口区分会话 |
典型设备 | 企业级防火墙、高级路由器 | 家用路由器、小型企业网关 |
配置复杂度 | 较高(需手动绑定IP) | 低(自动管理端口映射) |