前言
彩虹六号(Tom Clancy’s Rainbow Six Siege)使用 Vivox 提供的语音聊天服务。由于部分机场使用 Xray/V2Ray 时,需要禁止 BT 或网络审计,在 inbound 开启了 sniffing,导致语音聊天服务器无法连接。
通过在 virustotal 的查询,以及在 AbuseIPDB 的查询,并凭借已知的彩虹六号语音服务器域名 rbspsxp.www.vivox.com (来源:XTLS/Xray-core#250)以及 rbswp.www.vivox.com (来源:steamcommunity: Voice chat not working?),我们可以推测出彩虹六号的语音服务器域名应该以“rbs”开头,可能意为“rainbow six”,并得到以下域名/IP对:
1 | rbsxbxp-mim.vivox.com 74.201.106.190 |
并且通过 nslookup
发现以下域名无解析:
1 | proxy.rbsxbp.vivox.com |
所以我们可以大致推测出彩虹六号使用的 Vivox 服务器 IP 段为 74.201.106.0/24
。并且根据 XTLS/Xray-core#250 中的日志,不难发现语音使用的是 443 端口,亦即 TLS 流量,因此无法避免被服务端 sniffing 到。因此诞生了以下三种解决方案。
方案0
等 Xray/V2Ray 修复 sniffing 的 bug。
方案1 (未验证有效性)
让机场主在节点 inbound 的 sniffing 添加 "domainsExcluded"
。如下:
1 | "sniffing": { |
方案2 (已验证有效)
如果使用 Netch 作为加速器,选择 [TUNTAP] Bypass LAN and Vivox
作为规则,该规则会不代理语音服务,如果使用该规则后你依然不可以连接语音服务器,请继续。
在路由器上搭建透明代理服务,将 74.201.106.0/24
加入代理 IP 段。节点使用其他机场/自建的节点(确保本地配置与落地节点均未开启 sniffing 选项)。这样可以使游戏流量走 Netch 中的节点,语音流量走路由器的节点。(当然如果你有能力折腾 clash 也行,直接分流一步到位,不使用 Netch。但 clash 的 vmess 并不支持 NAT1,你可以局域网搭建 Xray 服务,开放 socks 端口,在 clash 中让游戏流量走这个 socks 服务器以达到 NAT1。注意:如果你选择本地搭建 Xray 服务,以及在你玩游戏的电脑上使用 Xray,请务必在 clash 的规则中让节点的域名及 IP 以及 DNS 的 域名和 IP 使用 DIRECT 规则,否则会构成回环)。
以下是测试效果:
1 | Host DL UL DL Speed UL Speed Chains Rule Time Source Destination IP Type |