liandu2024:链式代理 UDP 不通源于 SOCKS5 返回本机中继地址,下个版本自动改用服务器地址
liandu2024 回复「链式代理 UDP 不通」:已在测试路由器上复现。原因是落地 SOCKS5 回给客户端的 UDP 中继地址——3x-ui 的 socks 入站开启 UDP 后,客户端发 UDP 前要先询问「UDP 发到哪个地址」,它返回的是入站里「IP」这一项,3x-ui 默认填 127.0.0.1。走链式代理时 UDP 经 VLESS 中转发往 127.0.0.1,而新版 Xray 默认拦掉发往本机/内网地址的流量,所以 TCP 通、UDP 不通;换机场节点当中转也一样。下个版本 Open-Box 会自动处理:中继地址是本机、内网或 0.0.0.0 这类到不了的地址时改用服务器地址发 UDP;等不及可在 3x-ui 编辑该 socks 入站,把「IP」改成落地 VPS 的公网 IP。
作者原文@liandu2024谢谢反馈,我们在本机复现了。原因是落地 SOCKS5 回给客户端的「UDP 中继地址」:3x-ui 的 socks 入站打开 UDP 后,客户端发 UDP 前要先问它「UDP 发到哪个地址」,它回的是入站里「IP」这一项,3x-ui 默认填的是 127.0.0.1。走链式代理时,UDP 经 VLESS 中转发往 127.0.0.1,新版 Xray 默认拦掉发往本机 / 内网地址的流量,所以 TCP 通、UDP 不通;换机场节点当中转也一样,机场那边的 127.0.0.1 不是你的落地机。
下个版本 Open-Box 会自动处理:SOCKS5 服务端回的中继地址是本机、内网或 0.0.0.0 这类到不了的地址时,改用服务器地址发 UDP,3x-ui 保持默认设置也能通。等不及的话现在就可以改配置:在 3x-ui 里编辑这个 socks 入站,把「IP」改成落地 VPS 的公网 IP,保存后再测。