SixDrop SixDrop / 使用指南 / 对称 NAT 打不开

公司网、校园网、对称 NAT 传不了文件怎么办

在公司、学校或者部分移动网络里,点对点传输经常失败。原因通常不是浏览器或网站,而是网络本身不允许「陌生地址主动打进来」。

怎么判断是不是对称 NAT

失败页会给出候选统计,例如 host 2 / srflx 4 / relay 0:host 是本机地址,srflx 是通过 STUN 拿到的公网映射,relay 是中继。

如果 srflx 有值但连通性检查全失败,基本就是对称 NAT 或防火墙拦截;如果 srflx 都是 0,说明 STUN 都没出去,网络限制更严格。

三条路,按顺序试

顺序做法说明
1换网络手机热点通常最快:换一个出口,NAT 类型往往就变了
2用同一个码重连点「重新尝试」,房间和已选文件都还在,不用重新发码
3改用中转打不通时的兜底:文件经服务器转一趟,能传但更慢更费流量,传完可删

预防:先确认环境

为什么不做「自动中转」

自动中转会在用户不知情的情况下把文件传到服务器,这既影响隐私预期,也让「直连」这件事失去意义。所以这里选择:打不通就明确失败,把选择权交给用户。

一分钟判断是不是网络的问题

用手机开热点,把其中一台设备切到热点上,再试一次。如果立刻能通,说明原来的网络就是对称 NAT 或防火墙限制;如果还是不行,问题可能在设备或浏览器(比如装了会拦截 WebRTC 的扩展)。

企业网常见的额外限制

用中转的步骤与善后

失败页点「改用中转」→ 文件上传到 Cloudflare R2 → 得到一个下载链接,发给对方 → 对方下载。

中转文件最多保留 24 小时;传完可以在页面上点删除,立即移除服务器上的副本。

为什么手机热点常常能通

热点相当于换了一个出口:原来公司网把你藏在对称 NAT 后面,热点通常给你一个运营商侧的锥形 NAT(或可用的 CGNAT),打洞就有机会成功。

但热点不是万能:如果双方都在运营商 CGNAT 后面,仍然可能失败。这时候就别跟网络较劲了,用中转更省时间。

常见问题

手机热点能解决吗?
大多数情况下能。热点相当于换了一个 NAT,双方都在运营商 CGNAT 时仍有失败可能。
开了 VPN 会怎样?
常见结果是所有候选都走 VPN 出口,打洞失败或绕远;先关掉再试。
中转的文件安全吗?
只在你主动选择时上传,最多 24 小时自动删除,也可以立即手动删除。