CGNAT(运营商级 NAT)是运营商在用户路由器之外再做一层地址转换,让多个家庭共享一个公网 IPv4 地址。它对「主动连出」的普通 VPN 客户端影响通常不大,但会让家庭路由器上的端口映射失效,自建 VPN 服务端也无法从外网连入。以 2026 年 9 月看,家庭宽带与蜂窝网络中都常见 CGNAT。

CGNAT 到底是什么

一个可独立引用的定义句:CGNAT(Carrier-Grade NAT,运营商级 NAT)是部署在运营商网络中的大规模地址转换设备,它把大量用户的内部地址转换为少量共享的公网 IPv4 地址。

它的出现源于 IPv4 地址不足。运营商无法再为每个用户分配独占的公网 IPv4 地址,就在自己的网络里给用户分配一个「运营商内部地址」,出网时再统一转换。

为此,RFC 6598 专门划出了一个共享地址段 100.64.0.0/10(100.64.0.0 至 100.127.255.255),供运营商在 CGNAT 内部使用,以免与家庭内网常用的 192.168.x.x、10.x.x.x 冲突。

层级地址示例由谁分配
家中设备192.168.1.23家庭路由器
路由器 WAN 口100.72.x.x 或 10.x.x.x运营商(CGNAT 内部)
公网出口共享的公网 IPv4运营商 CGNAT 设备

这意味着一个家庭的数据包出网要经过两次地址转换:一次在家庭路由器,一次在运营商 CGNAT。NAT 的基本机制参见 VPN NAT 穿越与打洞。

为什么「别人连不进来」

NAT 默认只放行「内部先发起」的会话回程。单层 NAT 下,你还可以在自家路由器上设置端口映射,把某个外部端口固定转给家里的设备。CGNAT 多了一层你无法控制的设备,映射链条就断了:

场景单层 NAT(路由器有公网 IP)双层 NAT(上游有 CGNAT)
出站访问网站正常正常
客户端 VPN 连出到节点正常通常正常
路由器端口映射外网可按映射连入只映射到运营商内网,外网仍连不进
UPnP 自动映射可在路由器上生效只作用于第一层,外层不受控
家庭自建 VPN 服务端可从外网连入外网无法主动连入
点对点直连 / 打洞成功率较高成功率下降,更常回落中继

一个可独立引用的结论句:在 CGNAT 之后,家庭路由器上的端口映射只能把端口开放到运营商的内部网络,而不能开放到公网。

这也是为什么有人按教程在路由器上配置了端口映射,却发现「别人还是连不进来」:配置本身没错,只是外面还有一层不属于你的 NAT。

对 VPN 的具体影响

客户端连出:通常影响不大

多数个人使用的 VPN 是「你主动连出到远端节点」。出站握手会在两层 NAT 上都建立临时映射,回程可以沿映射回来。CGNAT 在这里的主要影响是:

  • 映射超时可能更短:运营商设备为节省资源,可能更早回收空闲的 UDP 映射,表现为空闲后假连接,需要合适的保活间隔,参见 VPN 保活与掉线重连;
  • 会话数量可能受限:据部分运营商说明,CGNAT 会给每个用户分配有限的端口或会话数,同时开大量连接时可能出现新连接失败。

自建服务端:外网无法主动连入

如果你想在家里搭一个 VPN 服务端,以便出门在外访问家里的 NAS 或内网设备,CGNAT 会直接挡住这条路:外网的连接请求到达运营商的共享公网地址后,CGNAT 不知道该转给哪个用户。

商业 VPN 的端口转发

商业 VPN 的端口转发是在服务商的出口上保留端口,而不是在你家的 CGNAT 上开端口,所以它不受你本地 CGNAT 影响;但它有自己的隐私与安全取舍,参见 VPN 端口转发是什么。

怎么判断自己在不在 CGNAT 之后

以下方法只读取信息,不修改任何配置:

  1. 看路由器 WAN 地址:登录家庭路由器管理页面,查看 WAN 口或「互联网」状态中的 IPv4 地址;
  2. 看公网出口地址:在未连接 VPN 时访问 IP 检测页,记下显示的公网 IPv4;
  3. 对比两者:
WAN 口地址与检测页是否一致更可能的情况
公网地址一致没有 CGNAT,路由器直接持有公网 IP
100.64.0.0/10 段不一致典型的 CGNAT
10.x、172.16–31.x、192.168.x 段不一致上游还有一层 NAT(CGNAT 或光猫路由模式)
公网地址不一致较少见,可能是多出口或检测页走了其他路径
  1. 排除光猫双层 NAT:WAN 口是 192.168.x.x 时,也可能是光猫工作在路由模式,而不是运营商 CGNAT。这时应先查看光猫的 WAN 地址,再按上表判断。

测试环境写法示例:2026 年 9 月,家庭宽带,路由器 WAN 口显示 100.7x.x.x,未开 VPN 时检测页显示另一公网 IPv4,据此判断处于 CGNAT 之后。蜂窝网络下手机拿到的地址也常落在 CGNAT 地址段。记录日期与接入类型,不要把单次结果推广为某运营商的普遍情况。

排障方向:需要入站时可以考虑什么

以下是概念层的方向,各自有成本与前提,是否可行取决于你的运营商与用途:

方向在做什么需要注意
向运营商咨询公网 IPv4让路由器 WAN 口拿到独占公网地址是否提供、是否收费、办理条件因运营商和地区而异
使用 IPv6许多网络中设备可获得全局 IPv6 地址,不经过 CGNAT运营商与路由器防火墙可能默认阻挡入站;访问端也需有 IPv6
中继或反向连接家中设备主动连出到一台有公网地址的服务器,由其转发入站多一跳延迟,中继服务器的可信度与安全需自行评估
点对点组网工具两端尝试打洞,失败时回落中继成功率受两端 NAT 类型影响,不保证直连

开放入站连接会扩大设备的暴露面:无论通过哪种方式,被暴露的服务都需要及时更新、使用强认证,并只开放确实需要的端口。本文只做一般性技术说明,不提供规避执法或突破访问控制的操作指导;具体办理与使用应符合当地法规和运营商服务条款。

和共享出口 IP 不是一回事

CGNAT 和商业 VPN 的共享出口都会让「很多人共用一个公网 IP」,但所在位置和影响对象不同:

维度CGNATVPN 共享出口
发生在哪里你的运营商网络VPN 服务商的出口节点
共享者是谁同一运营商、同一区域的用户同一节点的 VPN 用户
主要影响入站不可达、会话数受限IP 信誉、验证码增多
能否自行改变只能向运营商咨询或改用 IPv6可更换节点或出口类型

两者的信誉问题有相似之处:同一 CGNAT 出口下若有其他用户产生异常流量,你也可能遇到验证码或访问限制。共享出口的信誉机制参见 共享出口 IP 与信誉。

常见误解

误解 1:路由器端口映射没生效是配置错了。 如果 WAN 口地址不是公网地址,上游还有一层 NAT,映射本身正确也无法从外网连入。

误解 2:CGNAT 会让 VPN 完全用不了。 主动连出的客户端 VPN 通常可以正常建立;受影响更明显的是需要入站可达的场景。

误解 3:100.64.x.x 是公网地址。 100.64.0.0/10 是 RFC 6598 规定的共享地址空间,只在运营商网络内部使用,不在公网上路由。

误解 4:有 IPv6 就不存在入站问题。 IPv6 可以绕开 IPv4 的 CGNAT,但路由器或运营商的防火墙可能默认阻挡入站,访问方也需要具备 IPv6 连接。IPv6 与 VPN 的关系参见 IPv6 泄漏检测。

核对清单

  1. 定位:路由器 WAN 地址与检测页公网 IP 是否一致,WAN 地址落在哪个地址段;
  2. 分层:是否存在光猫路由模式造成的家庭内部双层 NAT;
  3. 需求:你的问题是「连出不稳定」(查保活与映射超时)还是「外网连不进」(查 CGNAT 与入站方案);
  4. 证据:记录日期、接入类型(家庭宽带 / 蜂窝网)与地址段,而不是只写「运营商有 NAT」;
  5. 风险:若决定开放入站,先确认暴露的服务、认证方式与更新策略。

CGNAT 改变的是「谁能主动连到你」,而不是隧道的加密强度或隐私属性。先确认自己处在哪一层 NAT 之后,再决定排查保活、端口映射还是入站方案,可以避免在错误的设备上反复改配置。