Ubuntu 22.04 一键部署 3x-UI 面板+vmess转clash

ytt 发布于 2026-05-05 392 次阅读


前言

3X-UI 是当前最受欢迎的 Xray-core 可视化管理面板之一,支持 VMess、VLESS、Trojan、Shadowsocks、WireGuard 等多种协议的管理。但在实际使用中,将 3X-UI 生成的节点链接转换为 Clash 客户端的订阅格式往往成为痛点。

本文将详细介绍 3X-UI 的搭建、优化与安全加固的全部流程,并介绍如何使用 Sublink Worker(4.6k+ Stars 的开源订阅转换工具)将 VMess 分享链接一键转换为 Clash 订阅,实现从节点搭建到客户端使用的一站式流程

第一部分:3X-UI 面板安装

什么是 3X-UI

3X-UI 是基于网页的高级开源控制面板,专为管理 Xray-core 服务器而设计。作为原始 X-UI 项目的增强版,它提供了更好的稳定性、更广泛的协议支持和更多功能。

环境准备

  • VPS:建议 Ubuntu 22.04 或更新版本,内存≥512MB
  • 域名:一个可以控制 DNS 解析的域名(用于面板反代访问)
  • 防火墙:确保 VPS 已放行所需端口(如 22、443、80、自定义面板端口)
  • 用户权限必须使用 root 用户或具有 sudo 权限的用户,否则安装将报错退出

系统更新与基础依赖安装

安装面板之前,建议先更新系统:

apt update -y && apt upgrade -y && apt install sudo curl -y

方法一:一键脚本安装(强烈推荐)

这是最简单的安装方式。在 VPS 上执行以下命令即可完成全流程安装:

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

安装脚本会自动完成以下工作:

  • 检测操作系统类型和 CPU 架构(支持 amd64、arm64、armv7 等)
  • 安装所需依赖:cron、curl、tar、socat、ca-certificates、openssl
  • 下载对应的 Xray-core 二进制文件
  • 配置好 systemd 服务
  • 设置随机生成的 Web 根路径,提升安全性

安装过程中会提示设置面板端口,建议使用非标准端口(如 8443、9001),不要使用 443 端口,避免与 Web 服务冲突。

安装完成后,脚本会输出登录信息(用户名、密码和面板访问路径),建议安装后立即修改默认账号密码

脚本还适用于以下系统

操作系统依赖安装方式
Ubuntu / Debian / Armbianapt-get
Fedora / RHEL / AlmaLinux / Rockydnf
CentOS 7yum
Arch / Manjaropacman

第二部分:面板核心优化配置

登录面板后,建议按以下步骤进行系统化优化,以提升安全性、性能和稳定性。

2.1 面板安全设置(必做)

进入"面板设置"页面:

  • 修改登录凭据:将默认的 admin/admin 改为强密码(至少 16 位,包含大小写字母、数字和特殊字符)
  • 修改 Web 根路径(webBasePath):设置自定义访问路径(如 /my-secret-path),安装脚本默认已随机生成,但建议自行确认并记录
  • 开启双因素认证:面板支持 Google Authenticator 两步验证,在安全设置中启用 twoFactorEnable
  • 限制面板监听地址:将 webListen 设置为 127.0.0.1,确保面板不直接暴露在公网,只能通过反代域名访问

2.2 系统层面优化:开启 BBR 拥塞控制

BBR(Bottleneck Bandwidth and Round-trip propagation time)是 Google 开发的拥塞控制算法,能显著提升长距离网络传输的速度和稳定性,对代理节点的使用体验提升非常明显。

方法一:使用 3X-UI 面板自带功能

在 3X-UI 面板菜单中,选择 BBR 启动的快捷选项,脚本会自动完成配置并启用。

方法二:手动配置

# 开启 BBR 拥塞控制算法
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

# 验证 BBR 是否生效
sysctl net.ipv4.tcp_congestion_control
# 输出应为: net.ipv4.tcp_congestion_control = bbr

建议开启 BBR 后利用晚高峰时段进行实际测速对比,大部分情况下速度提升明显。

2.3 Xray 日志与监控优化

进入"Xray 设置"页面:

  • 关闭详细访问日志:将日志级别设置为 warningerror,避免频繁写入大量日志占用磁盘空间
  • 开启流量统计:面板默认会记录每个入站的流量,可用于后续流量限制
  • 合理设置页面刷新间隔:将面板数据刷新间隔设置在 10-30 秒

2.4 订阅功能配置

3X-UI 内置了订阅服务,可为不同协议生成订阅链接。在"订阅设置"中:

yaml

启用订阅: 是
启用订阅: 是
订阅端口: 可自定义(如 2096)
订阅路径: 设置一个唯一路径(如 /sub/your-token)
订阅域名: 填写你的域名
启用加密: 是

使用 Sublink Worker 转换节点

部署完成后,打开 Sublink Worker 网页界面:

  1. 获取节点分享链接:在 3X-UI 面板"入站列表"中,点击 VMess 节点的"分享"按钮,复制生成的分享 URL(以 vmess:// 开头)
  2. 粘贴链接:将 VMess 分享链接粘贴到 Sublink Worker 输入框中,支持同时粘贴多个链接(每行一个)
  3. 选择输出格式:在输出格式选项中选择 Clash(同时支持 Sing-Box、Xray/V2Ray、Surge 等)
  4. 生成订阅链接:点击生成按钮,系统会输出 Clash 格式的订阅链接
  5. 导入客户端:将生成的订阅链接复制到 Clash Verge、Clash Meta、OpenClash 等客户端中,即可自动加载节点

Sublink Worker 还支持以下高级功能:

  • 短链接管理:可生成固定/随机短链接(基于 KV)
  • 多协议输入:支持 Base64 订阅、HTTP/HTTPS 订阅、完整配置文件(Sing-Box JSON、Clash YAML、Surge INI)
  • 多语言支持:中文、English、Persian、Russian
  • API 调用:可直接通过 /clash 端点进行程序化调用,方便集成到自动化脚本中
  • 自定义策略组:支持预定义规则集和策略组设置

第四部分:安全加固高级方案(进阶)

对于安全要求较高的用户,建议结合 Cloudflare Tunnel + Zero Trust 进行彻底的访问控制。

整体架构

  • 3X-UI 面板监听 127.0.0.1,不对外暴露
  • 使用 Cloudflare Tunnel 将面板通过安全隧道发布到公网
  • 配置 Cloudflare Zero Trust 添加身份认证拦截非法访问
  • 节点 Reality 入站直连 VPS(保证速度),与面板隧道隔离

安装 Cloudflare Tunnel(cloudflared)

# 添加 Cloudflare GPG 密钥
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg > /dev/null

# 添加仓库
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared jammy main' | sudo tee /etc/apt/sources.list.d/cloudflared.list

# 安装
sudo apt update && sudo apt install cloudflared

# 登录授权
cloudflared tunnel login

创建并配置隧道

# 创建隧道
cloudflared tunnel create 3x-ui-tunnel

# 查看隧道 ID
cloudflared tunnel list

# 编辑配置文件
vim ~/.cloudflared/config.yml

配置文件内容:

tunnel: 你的隧道ID
credentials-file: /root/.cloudflared/你的隧道ID.json

ingress:
  - hostname: panel.your-domain.com
    service: http://localhost:9001
  - service: http_status:404

配置 DNS 记录

# 将域名指向隧道
cloudflared tunnel route dns 3x-ui-tunnel panel.your-domain.com

安装并启动为系统服务

sudo cloudflared service install
sudo systemctl start cloudflared
sudo systemctl status cloudflared

配置 Cloudflare Zero Trust(身份验证层)

在 Cloudflare Zero Trust 面板中:

  1. 进入 Settings → Authentication,选择身份验证方式(推荐 One-time PIN)
  2. 进入 Access → Applications,创建一个 Self-hosted 应用
  3. 设置 Application Domain 为 panel.your-domain.com
  4. 在 Policies 中创建规则(如允许特定邮箱登录)
  5. 保存配置

配置完成后,每次访问面板都需要先通过 Cloudflare 的身份验证页面,对未授权访问起到彻底的防护作用。

WAF 保护订阅链接

在 Cloudflare 中配置 WAF 自定义规则,要求访问订阅链接时必须携带指定的 Token 参数:

  • 字段URI Path
  • 操作符contains
  • /sub/your-token
  • 表达式(http.request.uri.path contains "/sub/" and not http.request.uri.query contains "verify=your-secret")
  • 动作:拦截

这样即便他人知道你的订阅路径,也无法在未携带密钥的情况下直接获取节点信息。

总结

本文详细介绍了从零开始搭建 3X-UI 面板的完整流程,涵盖一键脚本、手动安装和 Docker 三种部署方式。在优化方面,从面板安全配置(双因素认证、Web 根路径自定义)、系统层面优化(BBR 拥塞控制算法)到监控和节点配置,进行了全方位的讲解。在安全加固环节,结合 Cloudflare Tunnel 和 Zero Trust 实现面板访问白名单,防止未授权访问。

通过集成 Sublink Worker,将 VMess 节点链接安全转换为 Clash 客户端订阅格式,最终形成"节点搭建→优化加固→订阅转换→客户端使用"的完整闭环。整套方案兼顾安全性、便捷性和多客户端兼容性,让自建节点的体验更加稳定可靠。

此作者没有提供个人介绍。
最后更新于 2026-07-13