CGNAT 联机游戏解决方案
什么是 CGNAT?
运营商级 NAT(CGNAT),也叫大规模 NAT(LSN)或 NAT444,是互联网服务提供商(运营商)用来节省 IPv4 地址的一种技术。运营商不再给每位用户分配独立的公网 IP,而是让多位用户共用同一个公网 IP。
可以把它想象成一栋公寓楼:每户没有自己的门牌地址,所有人共用整栋楼的地址。运营商的 NAT 设备就像"前台",负责把流量送到正确的住户(也就是你的家庭网络)。
运营商为什么使用 CGNAT:
- •IPv4 地址已经耗尽(总共只有约 43 亿个)
- •比全面部署 IPv6 基础设施更便宜
- •移动运营商几乎全部采用
- •部分家庭宽带运营商因地址短缺也开始采用
如何检测 CGNAT
不确定自己是否处于 CGNAT 之后?下面是三种可靠的方法:
方法一:对比路由器 IP 和外网 IP
查看路由器的 WAN IP
登录路由器管理后台,找到 WAN/互联网 IP 地址。它通常形如 10.x.x.x、100.64-127.x.x 或 172.16-31.x.x
查看你的外网 IP
访问 whatismyip.com,或在搜索引擎中搜索"我的IP"
进行对比
如果两个 IP 不同,说明你处于 CGNAT(或双重 NAT)之后
方法二:查看是否属于 CGNAT 地址段
如果路由器的 WAN IP 落在以下范围内,那你肯定处于 CGNAT 之后:
| IP 范围 | 说明 |
|---|---|
| 100.64.0.0 – 100.127.255.255 | 官方 CGNAT 地址段(RFC 6598) |
| 10.0.0.0 – 10.255.255.255 | 私有地址段(运营商内网) |
| 172.16.0.0 – 172.31.255.255 | 私有地址段(较少见) |
方法三:路由追踪测试
对任意公网服务器执行路由追踪。如果在到达公网之前看到多跳私有 IP,说明你处于 CGNAT 之后。
# Windows
tracert 8.8.8.8
# macOS/Linux
traceroute 8.8.8.8
如果前几跳显示的 IP 以 100.64-127 或 10.x.x.x 开头,那就是你的流量到达公网之前经过的 CGNAT 设施。
为什么 CGNAT 下端口映射会失效
传统的端口映射需要你在路由器上设置,把特定端口的入站流量转发到你的游戏电脑。但在 CGNAT 下会遇到以下问题:
问题一:双重 NAT
你的游戏流量现在要经过两层 NAT 设备:
- •你的家用路由器(你能控制)
- •运营商的 CGNAT 设备(你无法控制)
即使你在自己的路由器上把端口映射设置得完美无缺,运营商的 CGNAT 也不会把这些端口转发给你。
问题二:共享公网 IP
其他玩家看到的公网 IP 并不只属于你——它可能和成百上千位用户共用。入站连接根本无法准确找到你。
问题三:没有固定 IP 可选
许多采用 CGNAT 的运营商不提供固定 IP,或者要为独立公网 IPv4 收取高额费用(通常每月额外 10-30 美元)。
给运营商打电话要求"开端口"对 CGNAT 没有用。运营商这边唯一的解决办法是:申请独立公网 IP(如果有的话)、改用商业宽带套餐,或者获取 IPv6 地址。
鼹鼠通道如何解决 CGNAT
鼹鼠通道使用先进的 NAT 穿透技术,即使在 CGNAT 之后也能建立 P2P 直连。原理如下:
NAT 打洞
鼹鼠通道不等待入站连接(CGNAT 会拦截),而是让双方玩家同时发起出站连接:
- •协调:双方玩家连接到鼹鼠通道的 STUN/协调服务器
- •探测:服务器识别每位玩家的外网 IP 和端口映射
- •同步:服务器指示双方在同一时刻向对方发送数据包
- •打洞:这些出站数据包在两侧的 NAT 设备上"打出洞"
- •直连:NAT 此时会把这条连接视为合法的双向流量
之所以可行,是因为 NAT 设备(包括 CGNAT)允许出站连接及其响应——它们只拦截不请自来的入站流量。
中继兜底
在少数 NAT 打洞失败的情况下(双方都是对称型 NAT,或防火墙过于严格),鼹鼠通道会自动通过低延迟中继服务器转发流量:
| 连接类型 | 延迟影响 | 使用场景 |
|---|---|---|
| P2P 直连 | 增加 0ms | 约 85% 的连接 |
| 打洞连接 | 增加 <1ms | 约 10% 的连接 |
| 中继转发 | 增加 5-15ms | 约 5% 的连接 |
鼹鼠通道会自动选择最佳连接方式。你无需任何配置——开箱即用。
在 CGNAT 下设置鼹鼠通道
下载鼹鼠通道
从 moletun.com/download 下载适合你平台的鼹鼠通道
创建房间
点击「创建房间」,把房间代码分享给朋友。无需账户。
查看连接类型
连接成功后,鼹鼠通道会显示你的连接状态。绿色 = P2P 直连,黄色 = 中继转发。
启动游戏
打开游戏的局域网/本地多人模式。房间里的其他成员会显示为局域网玩家。
优化 CGNAT 下的联机表现
即使鼹鼠通道已经解决了连通性问题,你还可以进一步优化:
获得最佳效果:
- •使用有线网络代替 WiFi
- •关闭占用大量带宽的应用(直播、下载)
- •如果走的是中继,尽量在中继负载较低的非高峰时段游戏
如果连接不稳定:
- •运营商的 CGNAT 设备可能过载——换个时间段试试
- •临时切换到手机流量,测试是否是运营商的问题
- •如果问题持续,联系运营商咨询独立 IP 方案
CGNAT 与双重 NAT 的区别
这两个概念经常被混淆:
| 场景 | 原因 | 解决方法 |
|---|---|---|
| CGNAT | 运营商把你放在其 NAT 之后 | 鼹鼠通道(用户自己无法解决) |
| 双重 NAT | 你家里有两台路由器(如运营商光猫 + 你自己的路由器) | 把光猫改为桥接,或使用鼹鼠通道 |
| CGNAT + 双重 NAT | 两种情况同时存在 | 鼹鼠通道都能搞定 |
鼹鼠通道在以上三种场景下都能正常工作,无需任何特殊配置。
申请固定 IP 能避开 CGNAT 吗?▼
这取决于你的运营商。有些运营商提供独立 IPv4,需要每月额外付费。打电话询问"公网"或"独立"IPv4 地址即可。如果他们只提供 IPv6,鼹鼠通道仍然是你联机的最佳选择。
IPv6 能解决 CGNAT 吗?▼
可以说能,也可以说不能。IPv6 让每个人都拥有公网地址,从而不再需要 NAT。但很多游戏不支持 IPv6,而且如果你的朋友只有 IPv4,你们仍然无法直接连接。鼹鼠通道会自动处理 IPv4/IPv6 之间的转换。
我的运营商为什么使用 CGNAT?▼
IPv4 地址在 2011 年就已分配殆尽。采用 CGNAT 的运营商是在把有限的地址池分摊给更多用户。这在移动运营商和较新的家庭宽带运营商中尤其常见。
CGNAT 下联机会比有公网 IP 慢吗?▼
使用鼹鼠通道的 P2P 直连,完全没有区别。只有在被迫走中继时(约 5% 的情况)你才会察觉,会增加 5-15ms 延迟——对大多数游戏来说依然完全可玩。
准备开始了吗?
下载鼹鼠通道,一分钟内开始游戏。
下载鼹鼠通道