什么是 CGNAT(运营商级 NAT)?

CGNAT(运营商级NAT),也称为大规模网络地址转换(LSN),是互联网服务提供商(ISP)在IPv4网络中采用的一种技术,用于将少量公共IPv4地址分配给数百名用户,从而延长IPv4地址空间的使用寿命(维基百科(运营商级NAT)(2025年)。一个公共IP地址可同时为数百名用户提供服务。这种IP地址池化对终端用户而言是不可见的,但会给任何依赖IP地址来识别用户、确定其地理位置或对其进行速率限制的系统带来切实的影响。

CGNAT 的工作原理

IETF RFC 6598 将 100.64.0.0/10 地址块(100.64.0.0 至 100.127.255.255)作为 CGN 设备与用户终端设备之间链路的专用共享地址空间,使其与 RFC 1918 私有地址范围保持分离(IETF RFC 6598(2012年)。当用户发送请求时,运营商的CGN设备会将源地址从100.64.x.x范围重写为一个共享的公共IP地址,并记录该转换操作。响应通过同一设备返回,并经过反向转换以到达正确的用户。

这形成了一种双重NAT架构:一个NAT位于家庭路由器内部,另一个位于运营商层面。端口号用于区分共享同一公共IP的众多用户之间的会话。

CGNAT 对基于 IP 的系统的影响

由于数百名用户共享一个公共IP地址,任何基于IP地址进行封锁或评分系统的都会将他们全部视为一个整体。针对某一个恶意用户的封锁措施,会波及同一IP池中的所有其他用户。地理位置定位的准确性也会下降:公共IP地址对应的是运营商基础设施的位置,而非用户实际所在的城市或社区。

IP声誉的运作原理与此相同。CGNAT池中的一名垃圾邮件发送者就可能拖累数百名与此无关的用户的评分。移动运营商是CGNAT的最大用户,大多数4G和5G网络都将手机置于CGNAT之后。 家庭和移动代理网络中的真实设备反映了这种 CGNAT 行为,这也是其流量模式与拥有专用公共地址的数据中心 IP 地址不同的原因。

使用场景

  • 移动网络分析。 CGNAT 解释了为什么移动 IP 地理定位只是近似值,以及为什么许多会话会共享一个公共地址。
  • 代理和IP地址的获取。 住宅代理网络(如Massive)的源IP地址来自真实的终端用户设备,其中许多设备位于CGNAT之后。其出站流量与普通用户的正常行为高度吻合,而非数据中心的出站流量。
  • 欺诈和滥用行为的检测。 安全团队在批量封禁共享IP之前会考虑CGNAT因素,从而减少对同一IP池中合法用户的连带影响。
  • IPv6 规划。 CGNAT是运营商在部署IPv6期间的一种权宜之计。IPv6为每台设备分配一个唯一的公共地址,从而彻底解决了共享IP的问题。

常见问题解答

CGNAT 通过共享的公共 IP 地址隐藏了您的私有地址,但这并不等同于匿名。您的互联网服务提供商(ISP)会记录地址转换状态,并能将任何会话追溯到您的账户。许多 ISP 依法必须保留这些记录。

外部服务看到的是运营商的公共IP地址,而不是您的设备地址。地理位置数据库会根据该IP地址将位置映射到运营商的基础设施所在地,而该地点可能与您实际所在的位置相距甚远。

如果CGNAT池中的一名用户触发了滥用规则,该共享的公共IP地址就会被标记。同一IP地址下的其他用户也会受到不良声誉的影响,可能面临误判封锁或被要求输入验证码的情况。

家用路由器会在您的本地设备与 ISP 分配的地址之间进行 NAT 转换。CGNAT 是运营商端的一个额外层,将 ISP 分配的 100.64.x.x 地址转换为公共 IP。因此,在您的流量到达目的地之前,会经历两次连续的 NAT 转换。