CGNAT 会影响 IP 信誉吗:共享出口的原理、影响与自查方法

博客 / IP 与隐私

CGNAT 会影响 IP 信誉吗:共享出口的原理、影响与自查方法

会有影响,但影响的方式和多数人想的不一样。CGNAT(运营商级 NAT)让许多用户共用同一个公网出口,网站看到的是“这个地址”的行为总和,所以一个邻居的滥用记录可能让你也多做几次验证;另一方面,不少信誉和风控系统知道移动和 CGNAT 地址是共享的,往往会降低这类地址的权重。下面先讲 CGNAT 怎么工作,再讲它对信誉评估的具体影响,最后给出判断自己是否在 CGNAT 后面的步骤。

本文用于理解和自查自己的网络环境,例如排查“为什么换到手机热点后频繁弹验证码”。不讨论、也不建议任何绕过平台风控或地区限制的做法,使用各类服务请遵守其服务条款和当地法规。

CGNAT 是什么,为什么运营商要这么做

IPv4 地址只有约 43 亿个,早已分配殆尽。运营商的用户数远多于手里的公网 IPv4 地址,于是在自己的网络里再做一层地址转换:用户设备拿到的是运营商内部地址,流量出网时才被换成少量共享的公网地址,用端口号区分不同用户的连接。这就是 CGNAT(Carrier-Grade NAT),也常被叫作 LSN(Large Scale NAT)或 NAT444。

家里的路由器本身就做一次 NAT,把手机、电脑的 192.168.x.x 地址换成路由器的 WAN 地址。CGNAT 后面的家宽,相当于在路由器之后又多了一层:

手机/电脑 192.168.1.x
   → 家用路由器 WAN 口 100.64.x.x(运营商内部地址)
   → 运营商 CGNAT 设备
   → 公网出口 IP(与其他用户共享)
   → 网站

为了不和用户家里的私网地址冲突,IETF 在 RFC 6598 里专门划出了 100.64.0.0/10(100.64.0.0 到 100.127.255.255)作为运营商共享地址段。路由器 WAN 口拿到这个段里的地址,基本就可以确定在 CGNAT 后面。不过也有运营商在内部用 10.x 等私网段,所以“不是 100.64 开头”不代表一定有公网 IP。

为什么手机流量几乎都在 CGNAT 后面

移动网络用户量大、设备频繁上下线和切换基站,给每台手机分一个固定公网 IPv4 地址既不现实也没必要。所以蜂窝网络的 IPv4 流量通常经过运营商的大规模 NAT 出口,同一时刻一个出口地址后面可能有很多用户,而且你下一次联网拿到的出口也可能换了。

这也是很多 IP 检测把“移动”单独列为一类的原因。cdnping 的 IP 与环境检测 把 IP 类型分为机房、家宽、移动、Tor 四类,蜂窝网络的出口通常会被归入“移动”这一类,和家宽、机房分开看待。机房和家宽怎么区分,可以看机房 IP 和家宽 IP 有什么区别。

共享出口会怎样影响 IP 信誉

IP 信誉是按地址(或网段)记账的。一个地址被很多人共用,账就记在大家头上。具体影响可以分成三类。

连带影响:别人的记录算在同一个地址上

信誉来源大致有两种:一种是滥用报告和黑名单,比如垃圾邮件、论坛垃圾注册、扫描行为被举报后,地址会进入 StopForumSpam 或 DNS 黑名单;另一种是商业情报库根据流量特征给地址打的风险分。共享出口后面只要有一台设备中了木马在发垃圾邮件或扫端口,被记下的就是那个公网地址,同出口的其他用户查自己的 IP 时也会看到命中。

这类命中和你本人的行为无关。看到时先确认命中的是哪一类来源,再决定要不要在意。14 个信誉来源各自代表什么、权重多少,可以参考 IP 纯净度怎么算;不同网站结果为什么经常不一致,见为什么不同网站测出的 IP 纯净度不一样。

频率限制:大家共享同一个配额

很多网站和 API 按 IP 做限流,例如“每个 IP 每分钟最多 N 次请求”。CGNAT 后面的用户共享这个额度,在高峰时段更容易遇到 429、验证码或“请求过于频繁”的提示,哪怕你自己只点了几下。这种情况和信誉分没有直接关系,过一段时间通常就恢复。

共享地址常被降权处理

反过来,移动和 CGNAT 地址后面是大量真实用户,如果因为一个移动出口有滥用记录就整段封禁,误伤会很大。所以一些风控系统的做法是:对这类地址降低 IP 维度的权重,更多依赖账号历史、设备、行为等其他信号。结果就是,同样一条黑名单命中,落在机房 IP 上可能直接导致拦截,落在移动出口上可能只是多一次验证。

哪些因素会抬高或压低风险分,IP 风险值受哪些因素影响里有更完整的拆解。

影响对照表

情况共享出口下常见表现和你本人行为有关吗
同出口有人发垃圾邮件、被列入 DNS 黑名单自查 IP 时出现黑名单命中;主要影响发邮件类场景无关
同出口有人做论坛垃圾注册StopForumSpam 等来源命中;注册、发帖时多验证无关
网站按 IP 限流高峰时段 429、验证码、“请求过于频繁”部分相关(你的请求也计入)
移动出口被识别为“移动”不少网站会放宽 IP 维度的判断,较少因为 IP 本身拦截无关
出口地址频繁变化部分网站认为“登录位置变化”,要求二次验证无关
地理库定位偏差移动出口可能被定位到省会或其他城市无关

关于最后一行:运营商的 CGNAT 出口通常部署在少数汇聚节点,地理库只能按出口地址定位,所以手机网络被定位到别的城市并不少见。cdnping 的 IP 与环境检测 用 11 个地理库投票并给出置信度,如果各库给出的城市分歧较大、置信度偏低,可以把它当作出口不在本地的一个线索。

怎么判断自己是否在 CGNAT 后面

核心思路只有一个:比较“你的设备或路由器认为自己的地址”和“网站看到的地址”。两者一致,说明有独立公网 IP;不一致,中间就有一层或多层 NAT。

家宽:四步检查

第 1 步:看网站看到的出口 IP。 打开 cdnping /ip,记下出口 IPv4 地址;也可以用命令行:

curl -4 https://cloudflare.com/cdn-cgi/trace | grep ip=

第 2 步:看路由器 WAN 口地址。 登录路由器管理页,找“WAN 状态”或“上网状态”里的 IPv4 地址。如果是光猫拨号(光猫做路由),就看光猫的状态页。

第 3 步:对比。

路由器 WAN 口地址和第 1 步一致吗结论
公网地址一致有独立公网 IPv4,不在 CGNAT 后
100.64.0.0 – 100.127.255.255不一致基本确定在 CGNAT 后
10.x / 172.16–31.x / 192.168.x不一致前面还有一层 NAT:可能是光猫路由、也可能是运营商 CGNAT
公网地址不一致很可能流量走了代理或其他出口,先排查代理和分流

第 4 步:用 traceroute 看前几跳。 如果第 3 步分不清是光猫还是运营商做的 NAT,看前几跳的地址:

# macOS / Linux
traceroute -n -m 6 1.1.1.1
# Windows
tracert -d -h 6 1.1.1.1

第 1 跳通常是你的路由器(192.168.x.x),如果在第 2、3 跳看到 100.64.x.x 之类的地址,说明运营商网络内部在用共享地址段,很可能存在 CGNAT。

手机网络:直接看 IP 类型

手机上没法看“WAN 口”,但可以:

  1. 关掉 Wi-Fi,只用蜂窝数据打开 cdnping /ip,看 IP 类型是否为“移动”。
  2. 在系统设置里查看蜂窝网络分到的 IPv4 地址(部分安卓机型在“关于手机 → 状态信息”里能看到)。如果是 100.64 或 10.x 开头,而网站看到的是另一个公网地址,就是 CGNAT。
  3. 隔一段时间或开关飞行模式后再测,出口地址变化很常见。

别忘了 IPv6

很多运营商对 IPv4 做 CGNAT,同时给用户分配全局 IPv6 地址。IPv6 地址足够多,一般不需要共享,所以你可能 IPv4 在 CGNAT 后、IPv6 却是独立地址。网站优先走哪个协议,会直接决定它看到的是共享出口还是独立地址。cdnping /ip 会同时显示 IPv4 和 IPv6 出口;两者不一致带来的问题,见 IPv6 代理不生效:双栈网络下 IPv4 与 IPv6 出口不一致。

查到出口有信誉命中,该怎么处理

先区分场景,再决定要不要处理:

  • 只是浏览和日常使用,偶尔多一次验证码:一般不用处理。共享出口的命中多半来自同出口的其他用户,过一段时间地址或记录都会变化。
  • 家宽需要跑服务、做端口映射:可以联系运营商询问能否分配公网 IPv4,部分地区的运营商提供这项服务,具体以当地运营商答复为准。另一个办法是优先使用 IPv6。
  • 服务器或开发环境需要稳定出口:共享出口本来就不适合做白名单和信誉依赖,应使用自己能控制的固定地址,例如云服务器的弹性 IP。
  • 被某个服务持续拦截:走该服务官方的申诉或客服渠道,说明你的网络是运营商共享出口。这比反复换地址更可靠,也不会触碰服务条款。

自查时可以一次看全:出口 IP、IP 类型、信誉命中、DNS 和 WebRTC 是否泄漏、IPv4/IPv6 是否一致。完整清单见开发者网络自检清单(2026 版),原生 IP 和广播 IP 的概念见原生 IP 与广播 IP。

几个常见误解

  • “CGNAT 的 IP 一定不干净。”不一定。共享出口更容易出现零星命中,但不少信誉系统会对它们降权,日常遇到的影响多半是验证码和限流。
  • “查到黑名单命中就说明我被盯上了。”共享出口上的命中,大概率是同地址其他用户留下的。先看命中的是哪类来源,邮件类 DNS 黑名单对网页访问的影响通常很小。
  • “换成 CGNAT 后面的地址更安全。”CGNAT 只是让多人共用出口,并不加密、也不隐藏你的设备特征。网站仍然能看到浏览器指纹、时区语言等信息,这些信号各自暴露什么,见浏览器指纹与环境检测。
  • “IP 不一致就是 CGNAT。”也可能是代理、分流或 IPv4/IPv6 走了不同出口。先按上面的对照表排除这些情况。