3X-UI SOCKS 中转教程:让指定入站通过 SOCKS 出口访问网络

用三张实操图讲清楚如何在 3X-UI 中创建 VLESS + Reality 入站、添加上游 SOCKS 出站,并通过路由规则让指定节点使用 SOCKS 出口。

很多人手里有一台连接稳定的 VPS,同时又购买了一个带用户名和密码的 SOCKS 服务。

直接在客户端填写 SOCKS 当然可以,但网络很卡,我们可以用中转把速度拉上来。

**更方便的做法,是把 3X-UI 放在中间统一管理:**客户端照常连接 3X-UI 的 VLESS + Reality 入站,3X-UI 收到流量后,再通过指定的 SOCKS 出站访问网络。

整条链路可以理解为:

手机或电脑 ↓ 3X-UI 的 VLESS + Reality 入站 ↓ 3X-UI 路由规则 ↓ 上游 SOCKS 服务 ↓ 目标网站

什么是中转?

中转,就是让流量不直接从当前服务器出口访问目标,而是先交给另一个上游出口。

在本文的配置中:

- 入站 决定客户端如何连接 3X-UI。

- 出站 决定 3X-UI 收到流量后从哪里出去。

- 路由规则 负责把指定入站与指定出站连接起来。

因此,这套方案不是传统的端口转发。客户端先通过 VLESS + Reality 与 3X-UI 建立连接,随后由 Xray 把匹配的流量交给 SOCKS 出站。

开始前需要准备什么?

开始操作前,确认你已经准备好:

- 一台已经安装并能登录 3X-UI 的服务器。

- 一个可用的 SOCKS5 服务。

- SOCKS 服务器地址和端口。

- 如果 SOCKS 需要认证,还要准备用户名和密码。

- 一个未被占用的 VLESS 入站端口。

建议先单独测试 SOCKS 服务是否可用。上游 SOCKS 本身无法连接时,3X-UI 配置得再正确也不会成功。

> 本文仅用于你有权管理的服务器、远程办公、内部服务接入和合法网络运维。

第一步:创建 VLESS + Reality 入站

登录 3X-UI 网页面板,进入左侧的“入站”,点击“添加入站”。

对应图片中的第 1—6 步:

\1. 点击左侧“入站”。

\2. 点击“添加入站”。

\3. 协议选择 VLESS

\4. 安全选择 Reality

\5. 在 Reality 设置中点击“扫描”或“查找目标”。

\6. 选择匹配的目标并确认 SNI,然后创建入站。

客户端配置

创建入站后,还需要生成或填写客户端 UUID,并保存 Reality 的公钥、Short ID、Server Name 等客户端所需参数。私钥只保留在服务器端,不能发给客户端或公开展示。

完成后先用客户端直接连接一次。只有 VLESS + Reality 入站本身能够正常使用,才继续添加 SOCKS 出站。

第二步:添加上游 SOCKS 出站

回到 3X-UI 左侧菜单,进入“出站”,点击“添加出站”。

对应图片中的第 7—13 步:

\7. 进入“出站”。

\8. 点击“添加出站”。

\9. 协议选择 socks

\10. 标签填写 socks-out

\11. 填写上游 SOCKS 的地址和端口。

\12. 如果服务需要认证,填写用户名和密码。

\13. 点击“创建”。

地址、端口、用户名和密码只要有一项错误,出站测试就可能失败。

发送通过

没有多网卡或指定源 IP 的需求时,可以保持默认。只有服务器拥有多个出口并且你明确知道要从哪一个本地 IP 发起连接时,才需要修改。

创建后,出站列表里应该出现 socks-out

第三步:用路由规则绑定入站和出站

有了入站和出站,流量还不会自动走 SOCKS。最后一步是创建路由规则,把两者绑定起来。

对应图片中的第 14—21 步:

\14. 进入左侧“路由”。

\15. 点击“添加路由规则”。

\16. 入站标签选择刚才创建的 VLESS + Reality 入站。

\17. 出站标签选择 socks-out

\18. 点击“创建”。

\19. 点击页面顶部“保存”,并按提示重启面板或 Xray。

\20. 返回“出站”,点击闪电图标或“全部测试”。

\21. 客户端连接节点后,检查最终出口 IP 是否已经变化。

路由规则应该怎么填?

如果你的目标是“只让这一个 VLESS 入站走 SOCKS”,核心只需要两个条件:

|配置项 | 应选择的内容 |

|入站标签 | 本文创建的 VLESS + Reality 入站标签 |

| 出站标签 | socks-out |

源 IP、源端口、网络、协议和属性等条件,在没有额外筛选需求时不要随意填写。条件越多,越可能因为无法匹配而继续走默认出口。

如果你想让多个入站都通过同一个 SOCKS,可以把对应入站标签都加入规则;如果只希望一个入站使用 SOCKS,就只选择这一个标签。

创建后要保存和重启

图片顶部已经提示:出站和路由修改需要保存并重启后才能真正加载到 Xray。只点击“创建”但没有点击页面顶部“保存”,可能会出现列表里看得到规则,实际流量却没有按新规则运行的情况。

测试是否成功

先在“出站”页面点击 socks-out 右侧的闪电图标,或者点击“全部测试”。

如果面板测试通过,再连接刚才创建的 VLESS + Reality 节点,并访问一个可信的 IP 查询网站。

检查结果:

- 显示 SOCKS 出口 IP:中转生效。

- 仍显示 3X-UI 服务器 IP:路由规则没有匹配或没有保存生效。

- 完全无法访问:重点检查 SOCKS 地址、端口、认证信息和网络连通。

不要只依赖面板的延迟数字。最终出口 IP 是否符合预期,才是判断中转是否真正生效的关键。

常见问题排查

出站测试直接失败

依次检查:

\1. SOCKS 地址有没有多余空格。

\2. 端口是否正确。

\3. 用户名和密码是否匹配。

\4. 上游 SOCKS 是否限制来源 IP。

\5. 3X-UI 服务器能否访问 SOCKS 地址和端口。

出站测试成功,但客户端不能连接

这通常与 SOCKS 无关。先检查 VLESS + Reality 入站本身:

- 入站端口是否放行。

- UUID 是否一致。

- Reality 公钥、Short ID 和 Server Name 是否正确。

- 客户端参数是否完整。

客户端能连接,但出口 IP 没变化

重点检查路由:

- 入站标签是否选中了正确节点。

- 出站标签是否为 socks-out

- 路由规则是否启用。

- 是否点击了页面顶部“保存”。

- 保存后是否按提示重启。

- 是否有顺序更靠前的规则提前匹配了该流量。

中转后速度反而变慢

这并不一定是配置错误。中转后的链路更长,SOCKS 服务的带宽、负载、距离和线路质量都会影响速度。可以分别测试直连和中转结果,再决定是否长期使用。

总结 3X-UI 的 SOCKS 中转,本质上只做了三件事:

创建一个入站

→ 添加一个 SOCKS 出站

→ 用路由规则把两者绑定

配置时最容易忽略的不是地址和端口,而是“标签”和“保存”。入站标签选错,流量不会进入目标规则;出站标签选错,流量不会交给 SOCKS;创建规则后没有保存和重启,设置也可能不会真正生效。

按照本文三张图的顺序操作,先确保入站可用,再测试出站,最后检查出口 IP。这样出现问题时,也能快速判断故障发生在入口、SOCKS 服务还是路由规则。

本文中的地址、端口、目标、SNI 和账号信息均为示意。实际配置请使用自己的参数,并妥善保护服务器凭证。