NAT(网络地址转换)是在转发过程中改写 IP 地址,有时也改写传输层端口的技术。家庭路由器常见的是 NAPT/PAT:多个内网主机共享一个公网 IPv4 地址,网关用不同源端口及映射表区分连接。出站包发往互联网时,网关改写源地址/端口并记录映射;返回包到达后,网关按目的端口映射还原到对应内网主机。
端口转发则是在网关配置固定入站映射,例如公网地址的 TCP 8443 转发到内网 192.168.1.20:443。它使外部可以访问内网服务,但仍需防火墙规则、服务鉴权和安全更新。NAT 不等于防火墙:转换行为常造成入站连接不易主动建立,但不能据此当作完整访问控制。
NAT 会影响端到端连通性、日志中的客户端地址、协议校验和以及点对点连接。应用可能需要代理协议、打洞或中继辅助。IPv6 地址充足后,网络常可使用全局地址,但防火墙策略仍然必要。
运维分析 NAT 问题时,应记录协议、内外地址端口、映射超时和网关设备。TCP 映射通常依据连接状态维护;UDP 没有握手状态,设备也会以超时表项维护映射。端口映射只开放指定服务入口,仍需限制来源、更新服务和监控异常访问。多个 NAT 级联时,外网入站配置必须在每一层都能正确转发。
常见追问
多台内网主机如何共用一个公网 IP?
网关通常同时转换源端口并保存映射,回包依据目的端口和协议找到原内网主机。映射冲突由实现分配其他可用端口处理。
NAT 和防火墙有什么区别?
NAT 改写地址/端口并维护映射;防火墙按安全策略允许或拒绝流量。设备可能同时实现两者,但概念和目标不同。
为什么外网不能直接连接内网主机?
外部入站包若没有现存映射或显式端口转发,网关通常不知道该送给哪台内网设备,且策略可能会拒绝。还要考虑运营商级 NAT 和防火墙。
NAT 会改变端到端通信吗?
会引入地址转换状态,可能破坏依赖固定地址/端口或端到端可达性的应用。代理、ICE/STUN/TURN 等可帮助特定场景穿越 NAT。