在 个人网络配置方案 提到过,之前我的 PS4 代理方案是在 OpenWrt 路由器上通过 LuCI 配置 shadowsocks-libev 来完成的。 此方案理论上并没有什么问题或者不妥,但是在实际游戏中,常常会遇到无法和好友使用 PS4 内置的 Party 进行语音的问题,甚至还会出现彻底无法加入好友的集会所的情况。 这些问题出现时 PS4 大概率会提示说:Cannot use voice chat with the following player: xxxxx. This might be because of NAT type limitations。 考虑到 Monster Hunter World: IceBorne 发售日临近,这个问题若是不解决恐怕又要出现和好基友花半小时开任务十分钟掉线的尴尬画面了。
使用 WireGuard 进行加速
首先是换掉 shadowsocks,改用 WireGuard 提供 VPN 方案。具体来说的话,shadowsocks 本身是对 socks5 代理进行加密传输来实现代理,本质上是一个应用层代理。而透明代理是对设备的 IP Packet 进行代理,需要额外的工作才能实现,目前主要的两种方式是 ss-redir 和 iptables 流量重定向,或者是使用移动平台上常见的 tun2socks 来完成 L5 转 L3。WireGuard 那边呢,因为这玩意本身就是一个 L3 VPN,在两个 peer 上都会创建一个 tun 接口,并使用 UDP 来完成 tun 接口中流量的传递,对操作系统等来说这就是一个常规的 L3 隧道,也就避免了不必要的麻烦。