运营商级 NAT(CGNAT,也叫大规模 NAT)是由你的互联网运营商执行的网络地址转换,叠加在你自家路由器已经做过的 NAT 之上。它让许多用户可以共用一个公网 IPv4 地址。
运营商为什么使用它
IPv4 地址多年前就已耗尽,如今在转让市场上要花真金白银。一家拥有百万用户、但 IPv4 地址远少于此的运营商有两个办法:部署 IPv6,以及为仍需要 IPv4 的服务让用户共享 IPv4 地址。CGNAT 就是后者。
工作原理
- 你的设备使用私有地址(例如
192.168.1.x)。 - 路由器把它们转换成自己的 WAN 地址——但在 CGNAT 下,这个地址来自共享地址空间
100.64.0.0/10(RFC 6598),而不是公网地址。 - 运营商的 CGNAT 网关再转换一次,换成由许多用户共享的公网地址,并为每个用户分配一段端口。
如何判断自己是否处在 CGNAT 之后
打开路由器的状态页,找到它的 WAN(互联网)IP 地址。
- 如果它在
100.64.0.0 – 100.127.255.255之间,或属于私有地址段,你就处在 CGNAT 之后。 - 如果它与首页显示的 IPv4 地址一致,说明你拥有自己的公网地址。
移动连接的 IPv4 几乎都处在 CGNAT 之后。
会影响什么
- 入站连接:端口转发无法使用,所以搭建游戏服务器、家用 NAS 或远程查看摄像头,都得另想办法。
- 点对点:部分游戏、语音和文件共享应用效果变差。
- 信誉:如果共用同一地址的其他用户行为不端,你可能会遇到更多验证码或封禁。
- 日志:要识别某个用户,运营商不仅要记录地址,还要记录端口和时间戳。
有什么办法
- IPv6:使用 IPv6 时,你的设备拥有自己的全球地址,CGNAT 不再适用。你用的大多数服务都已支持 IPv6。
- 询问运营商:许多运营商可以应要求或收取少量费用提供公网 IPv4 地址。
- 隧道:VPN 或隧道服务可以让外部访问到你。
在首页可以查看你的连接是否有 IPv6,以及你的公网 IPv4 地址是什么。