跳至正文
中文
立即开始

NAT(网络地址转换)

NAT(网络地址转换)会在流量经过路由器时重写 IP 地址,通常也会重写端口,让使用私有地址的设备映射到公有地址或共享同一公有地址。

文章目录(8 个章节)

NAT 的工作原理

设备把流量发往局域网外时,NAT 路由器会将私有源地址替换为公有地址。在常见的多对一模式下,路由器还会分配不同的源端口,并记录这条映射。

设备:51514 → NAT 路由器 → 源地址 198.51.100.25:62001 → 互联网

响应到达 198.51.100.25:62001 后,路由器会查找对应记录,将目标地址还原为设备的私有地址,再转发数据包。每条记录都会保存转换前后的地址-端口元组及协议,并根据协议状态或空闲超时失效。

这种共享机制有助于节省公有 IPv4 地址。IPv6 的地址空间大得多,因此通常不太需要这种机制。

NAT 的类型

  • **静态 NAT:**在私有地址和公有地址之间保持固定的一对一映射。
  • **动态 NAT:**从地址池中临时分配公有地址。以后再次连接时,映射可能不同。
  • **端口地址转换:**通过分配不同端口,让多台设备共享同一个公有地址。也称 PAT、NAPT 或 NAT overload。

CGNAT 在 ISP 网络内采用类似的共享机制。多个客户对外可能显示为同一个公有地址。

NAT 与正向代理

两者都可能改变下游看到的源地址,但处理流量的方式不同。

方面 NAT 正向代理
流量处理 重写数据包头 接收并转发连接
客户端设置 通常由网关处理 通常在应用或操作系统中配置
网站看到的地址 NAT 网关的公有地址 代理出口地址

正向代理 是为特定流量主动选用的中间节点。NAT 通常是网关自动应用于路由流量的功能。

NAT 对代理连接的影响

配置代理后,链路为 device → NAT gateway → proxy → website。代理通常看到 NAT 网关的公有地址,网站则看到代理出口地址。

  • **源 IP 认证:**如果代理使用 IP 白名单,应将 NAT 网关的公有地址加入白名单,而不是设备的私有地址。
  • **空闲连接:**NAT 映射可能会在一段时间没有活动后失效。长时间保持的代理隧道可能因此断开,需要保活机制或重新连接。
  • **入站访问:**连接代理通常属于出站连接,不需要端口转发。若在 NAT 后托管代理,则需要明确配置映射和相应的防火墙规则。

常见问题

使用 NAT 时,网站能看到我的 IP 地址吗?

能,但网站看到的是 NAT 网关的公有地址,而不是设备的私有地址。如果使用代理,网站通常会看到代理出口地址。

NAT 是防火墙吗?

不是。NAT 会转换地址和端口,但不会执行防火墙的安全策略。家用路由器通常会同时使用 NAT 和有状态防火墙,由防火墙拒绝未经请求的入站连接。

IPv6 需要 NAT 吗?

如果只是为了节省地址,通常不需要。IPv6 设备可以使用全局可路由地址,由防火墙控制入站访问。不过,确实存在 IPv6 到 IPv6 的地址转换技术。

相关术语

查看全部术语