搜索 K
Appearance
写在前面:这是一篇写给「已经折腾过一遍、还是没搞明白为什么联机就是卡」的人的文档。如果你只想拿一个结论,先看第一章;如果你想彻底搞懂 NAT 类型、UDP 打洞和专线到底在解决什么问题,从第二章开始读。
结论一:主机系统的「代理服务器」设置基本是个半残功能。 Switch 和 PS5 都只把 HTTP/HTTPS 流量交给代理,游戏联机走的 UDP 流量根本不经手。所以指望在主机里填个 IP:端口 就解决联机延迟,方向从一开始就错了——它只能加速 eShop / PSN 商店访问、系统更新和部分下载。
结论二:真正有效的方案只有两条路。 要么在网关层接管(OpenWrt / iStoreOS 软路由跑 mihomo TUN 或 TPROXY),要么把 PC 变成热点网关(Windows 移动热点 + Clash/Mihomo TUN 模式)。两者的共同点是:主机的流量在离开局域网之前就被透明接管,不需要主机自己做任何代理配置。
结论三:联机体验的天花板由「出口 NAT 类型 + UDP 转发质量」决定,而不是带宽。 一个 200Mbps 的对称 NAT 出口,联机体验会明显劣于 50Mbps 的 Full Cone 出口。选机场时盯着「NAT 类型 + UDP 是否真转发 + 专线是否真 IEPL」这三项,比盯着「1000Mbps 大带宽」有用得多。
Android、iOS、Windows、macOS 都支持在系统层挂一个 TUN 虚拟网卡,把所有流量(含 UDP)无差别接管。主机不行。Switch 的「代理服务器设置」和 PS5 的「代理服务器」在协议栈里就是个 HTTP CONNECT 隧道,只处理 TCP,且只对标记为需要代理的应用生效。
实测验证方法:在 PC 上开一个 socat 或 mitmproxy 监听端口,主机填上这个代理地址,然后进游戏打一局。你会发现代理日志里几乎只有 ctest.cdn.nintendo.net、api.np.communication.playstation.net 这类 HTTPS 请求,游戏联机的 UDP 会话一条都不会出现。
| 场景 | 主要协议 | 端口特征 |
|---|---|---|
| Splatoon 3 / 怪物猎人联机 | UDP | 高位随机端口(10000-65535) |
| PS5 语音派对 | UDP | 3478(STUN)/ 动态端口 |
| eShop / PSN 商店下载 | TCP 443 | 可被 HTTP 代理接管 |
| 游戏内购与账号登录 | TCP 443 | 可被 HTTP 代理接管 |
| Remote Play 串流 | UDP + TCP 混合 | 9295-9304 |
这张表解释了为什么「挂了代理反而下载变快、联机没变化」——你激活的本来就只是 TCP 那条腿。
主机联机的主流架构是 P2P(点对点),服务器只做匹配撮合,真正的数据流在玩家之间直连。直连能不能建立,取决于双方 NAT 的「锥形程度」:
所以「解决主机NAT类型受限」的本质,是让你的出口具备 Full Cone 特性。这需要机场侧在出口做 端点无关映射(Endpoint-Independent Mapping),而不是 NAT1 就万事大吉——很多机房为了防扫描,默认开的是随机端口对称映射。
光在光纤中的传播速度约为 204 km/ms(真空 300 km/ms × 折射率 1.47 的倒数)。
| 链路 | 单程直线距离 | 理论 RTT 下限 | 实测优秀值 |
|---|---|---|---|
| 上海 → 东京 | ~1800 km | ~18 ms | 26-35 ms |
| 上海 → 洛杉矶 | ~10500 km | ~103 ms | 130-150 ms |
| 深圳 → 新加坡 | ~2600 km | ~26 ms | 35-48 ms |
| 北京 → 法兰克福 | ~7400 km | ~73 ms | 150-190 ms |
IEPL / IPLC 是二层点对点专线,不过公网出口,不经过国际出口的 QoS 队列,所以它的抖动(jitter)通常能压在 1-3ms;而普通 BGP 中转在晚高峰抖动可以飙到 50ms 以上。对于 60FPS 游戏(每帧 16.7ms)来说,抖动比平均延迟更致命。
BBR 是 TCP 拥塞控制算法,它优化的是丢包场景下的 TCP 吞吐。它对 UDP 完全没有作用。 机场宣传页上写「全线 BBRv3 加速」对下载和国际网页浏览有意义,对主机联机毫无帮助。UDP 真正依赖的是:
同样,TLS Reality / XTLS 这类伪装技术只影响 TCP 入站的抗封锁能力,和 UDP 转发质量无关。选机场时把这两类宣传语和「UDP 转发质量」分开看。
| 指标 | 主机内置 HTTP 代理 | Windows PC 热点网关 | OpenWrt 软路由 TUN | 主路由刷机 + 旁路由 |
|---|---|---|---|---|
| UDP 是否被接管 | ❌ 否 | ✅ 是 | ✅ 是 | ✅ 是 |
| 联机延迟改善 | 无 | 中等(受 PC 网卡转发性能影响) | 优秀 | 优秀 |
| NAT 类型改善 | 无 | 取决于机场出口 | 取决于机场出口 | 取决于机场出口 |
| 部署难度 | ★☆☆☆☆ | ★★☆☆☆ | ★★★☆☆ | ★★★★☆ |
| 单点故障风险 | 无 | 高(PC 休眠即断网) | 中 | 低 |
| 硬件成本 | 0 | 0(复用现有 PC) | 300-1200 元 | 200-800 元 |
| 全屋设备覆盖 | 仅主机 | 仅连热点的设备 | 全屋 | 全屋 |
| 下载加速效果 | 明显(TCP 走代理) | 明显 | 明显 | 明显 |
| 对 PC 性能占用 | — | 高(转发 + 加密) | 低 | 低 |
| 适合人群 | 只想下游戏 | 临时/租房/单主机 | 长期主力方案 | 已有软路由的进阶用户 |
一句话选型:临时用选 PC 热点;长期用选软路由 TUN;只想加速商店下载,主机内置代理就够。
场景 A:只玩单机 + 偶尔下载大作(PS5 用户居多) 你的核心痛点是 PSN 商店访问和 100GB+ 游戏包的下载速度。此时主机内置 HTTP 代理 + 一个高倍率、大带宽的机场节点即可。重点看「峰值带宽」和「GIA/CN2 回程质量」,不需要纠结 NAT 类型。
场景 B:Splatoon 3 / 怪物猎人 / 街霸 6 联机(Switch 用户居多) NAT 类型是第一优先级。选机场时直接向客服要「出口是否 Full Cone、是否支持 UDP 转发」,拿到节点后自己用 nping --udp 验证。延迟目标:日服 35ms 以内,抖动 5ms 以内。
场景 C:COD / Apex / 战地等 FPS(PS5 + 北美服) 北美服物理延迟无法突破,能做的只有压低抖动和丢包。必���用 IEPL/IPLC 专线,且落地要选双 ISP 冗余机房。此时 130ms 稳定延迟远好过 90ms 但抖动 40ms 的链路。
场景 D:Remote Play 异地串流 串流对带宽和抖动同时敏感,建议 50Mbps 以上专线 + 软路由 TUN,且优先 TCP 直连回源而非 P2P。
场景 E:多主机 + 全屋设备 直接上软路由。PC 热点方案在你有 PS5、Switch、电视盒子的时候会迅速变成运维噩梦。
系统设置 → 互联网 → 互联网设置 → 选择你的 Wi-Fi → 更改设置代理服务器设置 → 使用 → 填入 PC 的局域网 IP 与端口(如 192.168.1.50:7890)测试连接避坑:Switch 不支持代理认证(用户名/密码),必须用免认证的本地端口。另外 Switch 的 DNS 解析不走代理,如果 eShop 打不开,需要把 DNS 手动改成能解析的地址(如 223.5.5.5 或软路由上的 DoH)。
设置 → 网络 → 设置互联网连接 → 选择 Wi-Fi → 按 选项 → 高级设置代理服务器 → 使用 → 填入 IP:端口测试互联网连接,看 NAT 类型显示PS5 的 NAT 类型判定同样受出口映射策略影响。Type 2 是理想状态,Type 3 意味着需要中继。
核心思路:让 PC 成为 Switch/PS5 的默认网关,并在 PC 上开 TUN 接管转发流量。
设置 → 网络和 Internet → 移动热点 → 打开,记下网段(通常是 192.168.137.1)TUN 模式允许局域网连接自动路由 / 严格路由Get-NetNatSession(管理员 PowerShell),联机时应该能看到主机的 UDP 会话关键坑点:
netsh 手动配置 NAT。以 mihomo(Clash.Meta 内核)为例,TUN 模式关键配置:
tun:
enable: true
stack: system # system 栈对 UDP 转发更稳;gvisor 性能高但 UDP 兼容性略差
dns-hijack:
- any:53
auto-route: true
auto-redirect: true
auto-detect-interface: true
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- https://223.5.5.5/dns-query
fallback:
- https://1.1.1.1/dns-query必须检查的三项:
udp: true 是否开启(很多订阅默认关闭 UDP 转发)198.18.0.0/16)nftables / iptables 的 forward 链策略是否为 ACCEPT# 1. 看路径上每一跳的丢包与抖动(-u 走 UDP,更接近真实游戏流量)
mtr -u -c 100 -r 1.1.1.1
# 2. 测 TCP 层握手延迟(Windows 可用 tcping)
tcping -t 100 api.np.communication.playstation.net 443
# 3. 测 HTTP 层首字节时间
curl -o /dev/null -s -w "connect=%{time_connect}s ttfb=%{time_starttransfer}s total=%{time_total}s\n" https://ctest.cdn.nintendo.net/# 用 nmap 附带的 nping 发 UDP 包
nping --udp -p 3478 -c 20 203.0.113.10
# Linux 网关上看 UDP 会话表
conntrack -L -p udp | grep 198.18
ss -u -a -n | head -30| 现象 | 可能原因 | 处置 |
|---|---|---|
mtr 第 3-4 跳开始持续丢包 | 本地 ISP 出口拥塞 | 换 ISP 或换专线节点 |
mtr 全程 0 丢包但延迟抖动超过 30ms | 中转线路公网波动 | 换 IEPL/IPLC 专线 |
| 最后 1-2 跳延迟陡增 100ms+ | 落地机房路由绕行 | 换落地地区或要求机房改路由 |
nping 无任何回包 | 出口封 UDP 或节点未开 UDP 转发 | 换节点,或联系机场确认 |
conntrack 里看不到主机 UDP | TUN 未接管 / 防火墙拦截 | 检查 TUN 网段转发规则 |
| 下载快但联机 NAT 显示 D/E | 出口为对称 NAT | 更换 Full Cone 出口节点 |
| 白天正常,晚 8-11 点崩 | 超售导致的带宽争抢 | 换低负载专线,避开共享型节点 |
| 宣传话术 | 真实含义 | 验证方法 |
|---|---|---|
| 「全线路 BBRv3 加速」 | 只对 TCP 有效,与联机无关 | 问客服 UDP 转发策略 |
| 「1000Mbps 大带宽」 | 峰值带宽,通常晚高峰打 3 折 | 晚 9 点用 speedtest 多线程实测 |
| 「支持 Netflix / Disney+ 解锁」 | 可能只是 DNS 解锁,非原生 IP | 查 IP 的 ASN 与流媒体原生度 |
| 「BGP 多线中转」 | 仍是公网转发,抖动不可控 | mtr 看是否经过 59.43 / 202.97 骨干 |
| 「节点数量 200+」 | 大量是同一落地机的不同端口 | 批量延迟测试看是否高度雷同 |
| 「NAT 类型优化」 | 多数只是开了 UPnP | 实测 nping 回包 + PS5 NAT 显示 |
| 「不限速不限量」 | 通常有隐藏的并发连接数限制 | 多设备同时跑测速看衰减 |
| 「AI 优化线路」 | 营销词,无技术定义 | 看实测丢包率与抖动 |
三个不能妥协的硬指标:
Q1:我在 Switch 里填了代理,为什么 Splatoon 联机还是 NAT C? 因为联机走 UDP,HTTP 代理不接管。NAT 类型由你的实际出口决定,而不是代理设置。必须把流量在网关层接管。
Q2:PS5 显示 NAT 类型 3,但游戏能玩,需要处理吗? 能玩是因为游戏走了中继服务器。代价是延迟增加 30-80ms,且高峰期中继排队会掉线。竞技类游戏建议处理。
Q3:软路由已经开了 TUN,为什么主机流量还是走直连? 三个常见原因:一是订阅节点配置里 udp: false;二是 TUN 的 auto-route 没覆盖到 LAN 转发流量,需要在防火墙里把 LAN 到 TUN 的 forward 放行;三是 DNS 泄漏导致主机的域名解析走了本地 DNS,绕过了规则。
Q4:用 PC 热点时,PC 一休眠主机就断网,有解吗? 在电源计划里把「睡眠」设为「从不」,并在网卡属性里关闭「允许计算机关闭此设备以节约电源」。或者直接用一台低功耗迷你主机做常驻网关。
Q5:为什么有线连接比 Wi-Fi 联机更稳? Switch 的 Wi-Fi 芯片只支持单频段且天线设计保守,PS5 的 Wi-Fi 6 好一些但仍有抖动。有线能把 Wi-Fi 引入的 5-20ms 抖动直接抹掉。Switch OLED 底座自带网口,老款需要买 USB 网卡(推荐 AX88179 芯片)。
Q6:机场的「游戏专线」和普通专线有区别吗? 正规做法是在出口侧对 UDP 做 DSCP 优先级标记 + 独立带宽池。不正规的做法就是换个名字卖同样的节点。验证方法还是 mtr -u 看晚高峰抖动。
Q7:IPv6 能绕过 NAT 限制吗? 理论上可以,因为 IPv6 没有 NAT,主机直接拿到公网地址。但 Switch 的 IPv6 支持非常有限,PS5 稍好。实际收益不稳定,不建议作为主力方案。