首页/网络/IP 与子网速查/CGNAT 与 100.64/10:运营商级 NAT 的判定与溯源
私网与特殊地址45 条

CGNAT 与 100.64/10:运营商级 NAT 的判定与溯源

运营商用 100.64/10(RFC 6598)做 CGNAT 时,多个用户共享一个公网 IP:家宽路由器 WAN 口出现 100.64.x.x 即代表你在大内网。对外溯源只能靠“公网 IP + 源端口 + 时间戳”,应用侧必须记录完整日志。

IP 与子网速查网络更新于 2026-10-13

CGNAT 是什么

运营商级 NAT(CGNAT,RFC 6598)指运营商在用户侧就做一层地址转换:给家宽路由器分配的 WAN 地址不再是公网地址,而是 100.64.0.0/10 这段共享地址空间里的地址,再由运营商设备统一转成少量公网地址。因此家宽路由器的 WAN 口如果显示 100.64.x.x,说明你处在这一层大内网之后。

为什么需要溯源三元组

CGNAT 下成千上万个用户可能共用同一个公网地址,仅凭公网 IP 无法定位到具体用户。对外溯源必须依靠「公网 IP + 源端口 + 时间戳」这三个要素,由运营商侧的会话日志还原到内层地址与端口。这也意味着自己做服务端日志时,必须记录客户端的真实源 IP 与源端口,并在需要时保留足够长的时间。

对应用与运维的影响

第一,外网主动访问内网设备更困难:不仅要过自己的路由器端口映射,还要过运营商这层 NAT,多数家宽无法直接开放端口。第二,基于公网 IP 的访问控制会失效:大量用户共享同一地址,按 IP 封禁会误伤无辜。第三,日志分析要把内层地址与公网地址对照着看,否则统计口径会失真。

基本信息

地址段100.64.0.0/10(100.64.0.0 – 100.127.255.255)
规范RFC 6598(共享地址空间)、RFC 6888(CGN 要求)
与私网区别不属于 RFC1918,设备不应默认路由该段
溯源要素公网 IP + 源端口 + 时间戳
常见表现家宽路由器 WAN 地址为 100.64.x.x

典型使用场景

  • 家宽用户判断自己是否在运营商大内网之后
  • 自建服务无法被外网访问时,判断是否存在两层 NAT
  • 日志与审计:用公网 IP 与端口解释某个外连的真实来源
  • 内容平台风控:识别大量请求来自同一公网地址的 CGNAT 场景
  • 组网工具对比:某些 Mesh 方案默认使用 100.64/10 内地址

判定与对比

判定与对比
# 出口对比
curl -s ifconfig.me            # 公网侧看到的地址
ip -4 addr | grep '100\.'      # 本机是否拿到 100.64.x.x
# 典型:本机 100.64.12.34 → 公网回显 203.0.113.9
# 说明本机地址属于共享空间,公网出口由运营商统一分配

地址性质对照

地址段性质能否被公网访问备注
10/8、172.16/12、192.168/16RFC1918 私网否企业内网常用
100.64.0.0/10共享地址空间(CGNAT)否运营商与组网工具使用
169.254.0.0/16链路本地否APIPA 自动配置
公网地址全球可路由可以需运营商分配
部分组网工具(如基于 WireGuard 的 Mesh 方案)默认在 100.64.0.0/10 内给节点分配虚拟地址,与运营商 CGNAT 段相同但相互独立。看到 100.x 的地址时先判断它是运营商 WAN 地址还是组网工具虚拟地址。
100.64.0.0/10 不是 RFC1918 私网:在企业内网规划中使用该段会与运营商网络或组网工具冲突,而且设备默认不应路由它,混用后的故障排查非常困难。

易错点

  • 把 100.64 当常规私网规划进内网:与运营商或用网工具冲突后极难排查
  • 依赖公网 IP 做访问控制:CGNAT 下大量用户同 IP,封禁会误伤
  • 服务端不记录源端口与时间戳:发生安全事件时无法完成溯源
  • 家宽无法开放端口即判定路由器故障:实际是两层 NAT 的限制
  • 把 100.64 地址当成公网地址配置 DNS 或证书:该段不可全球路由

数据来源与参考

  • RFC 6598(Shared Address Space)
  • RFC 6888(CGN 要求)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌