3X-UI 面板自建代理完整教程 2026:VPS 一键部署多协议节点
用机场用久了,很多人都会动同一个念头:节点能不能攥在自己手里?自建的吸引力很直接——带宽独享没人跟你抢,商家跑路这种事从清单里划掉,IP、协议、端口全由自己说了算。劝退点也同样明显:服务器要自己维护,IP 被封了得自己想办法。
好在工具链已经把门槛压得很低。3X-UI 是当前用得最多的 Xray 可视化面板,建入站、加用户、看流量、发订阅都在浏览器里完成,不必再对着 JSON 配置文件逐行核对。本文按真正动手时的顺序走:判断是否适合自建、选机、加固、装面板、建第一个入站、导入客户端、安全收尾与排障。
动手之前,两篇背景材料值得先扫一眼:各协议的取舍看 2026 年科学上网协议深度对比;还没想好要不要长期自建的,可以先看 优质机场推荐,把机场当过渡和备份都不亏。后面涉及 Nginx 与证书的部分,可对照 Nginx 反向代理与 SSL 证书配置完整教程。
先想清楚:自建适合你吗
自建不是机场的全面升级版,而是另一种成本结构:你省下订阅费,付出的是运维时间。
| 对比项 | 自建节点 | 机场 |
|---|---|---|
| 线路冗余 | 只有一台机器,挂了就是挂了 | 多节点可切换 |
| 带宽 | 独享,晚高峰不打架 | 多人共享,看商家良心 |
| 支出 | 一台 VPS 的月费,长期摊薄很便宜 | 按月订阅,节点越多越贵 |
| 数据经手方 | 只有你自己 | 商家理论上能看到连接元数据 |
| 可玩性 | 协议参数随便调 | 商家给什么用什么 |
| 出事时 | 自己查日志、自己修 | 提工单等客服 |
| IP 被封 | 整台机器受影响 | 换个节点继续用 |
适合自建的画像:有 Linux 基础、不排斥偶尔登服务器看看;需求就是一两个自用节点;打算用一年以上;或手里正好有闲置 VPS。不适合:没碰过命令行;需要十几个地区来回切换;IP 被封时没有任何备用通道;只是短期用一阵。多数老手的最终形态是折中打法——自建当主力,再留一份便宜机场订阅兜底。
部署前检查清单
正式开工前,先把下面几件事确认好,免得装到一半卡住:
- VPS 已开通,拿到了 IP、root 密码或密钥文件,能正常 SSH 登录
- 系统是干净重装的 Debian 12 或 Ubuntu 22.04 / 24.04,没预装来历不明的软件
- 端口规划想清楚:面板用自选冷门端口,节点主力端口用 443
- 打算用 VMess + WS + TLS 或给面板绑域名的,提前备好一个能改 DNS 解析的域名
- 本地先装好一个客户端(如 v2rayN 或 Clash Verge Rev),节点建好立刻能测
- 记下 VPS 商家的控制台入口,SSH 把自己锁门外时还能靠它救回来
选机与系统准备
机器怎么挑
自用节点对配置要求不高,1 核 1G 内存起步足够,真正决定体验的是线路和机房位置:离你近的机房延迟低;普通国际出口晚高峰容易拥堵,带优化回程线路的机器贵一些但稳。练手选年付低价机即可;长期主力优先口碑稳定的商家,迁移节点不难,但没人想频繁折腾。各档位机器的对比和避坑点,站内有 2026 VPS 选购终极指南 展开讲,这里不重复。
供应商大致分三档:免费档有 Oracle Cloud 的免费 ARM 实例(开通看运气);低价档以 RackNerd 这类年付小鸡为代表,适合先练一遍全流程;稳定档是 Hetzner、Vultr、DigitalOcean、搬瓦工这一类,月费几到十几美元,按小时计费的还能随时删机重开、顺带换 IP。
系统选 Debian 12 或 Ubuntu LTS
理由很实际:官方的测试和文档主要围着这两个发行版转,出问题能搜到的答案也最多;新内核对 Reality 依赖的 TLS 特性支持完整。CentOS 7 已停止维护,直接排除;RHEL 系不是不能用,但可参考的资料明显少一截,新手没必要给自己加难度。
登录服务器
# 密钥登录(推荐)
ssh -i ~/.ssh/your_key root@your_vps_ip
# 密码登录
ssh root@your_vps_ip先加固,再装面板
新开的 VPS 暴露在公网上,扫描和爆破几分钟内就会找上门。所以顺序不要反:先做完这一节,再装任何服务。
更新系统并建普通用户
apt update && apt upgrade -y
# 新建日常用户并授予 sudo
adduser admin
usermod -aG sudo adminSSH 改密钥登录
# 本地生成密钥(已有可跳过)
ssh-keygen -t ed25519
# 把公钥送上服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@your_vps_ip确认用新用户加密钥能正常登录后,再编辑 /etc/ssh/sshd_config 收紧配置:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes然后重启 SSH 服务。注意 Debian / Ubuntu 上服务名是 ssh,不是 RHEL 系的 sshd:
sudo systemctl restart ssh这里有个高频翻车点:改配置之前务必确认密钥登录已经跑通,并保持当前会话不要断开,新开一个窗口验证成功再关旧窗口。把自己锁在门外只能去商家控制台重置,得不偿失。
防火墙只开必要的口
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # SSH
sudo ufw allow 2053/tcp # 面板(下一步会改成自选端口,届时同步调整)
sudo ufw allow 443/tcp # 节点主力端口
sudo ufw allow 443/udp # Hysteria2 等 UDP 协议用
sudo ufw enable
sudo ufw status原则是入站默认全关,用到哪个开哪个,每新建一个不同端口的入站都要回来补一条放行规则——节点连不上的故障,一多半出在这里。
安装 3X-UI
先补一句背景:3X-UI 由开发者 MHSanaei 维护,是老牌面板 X-UI 的延续分支,原 X-UI 已基本停更,新装直接选 3X-UI。它在 Xray-core 之上套了 Web 管理界面,主流协议与 Reality、WebSocket、gRPC 等传输方式都能管,还带多用户配额、到期控制、订阅生成和流量统计。
方式一:一键脚本(新手选这个)
脚本跑的过程中会让你设定面板的用户名、密码和访问端口。用户名别用 admin,端口别用默认的 2053,现场想一个冷门的。装完终端会打印访问地址和凭据,当场存进密码管理器,关掉窗口可就没地方找了。官方安装脚本地址见下一段代码块。
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)方式二:Docker(适合会 Docker 的人)
curl -fsSL https://get.docker.com | sh镜像用官方发布的 ghcr.io/mhsanaei/3x-ui。早年教程里常见的某个 Docker Hub 社区镜像早已停更,不要再照着老文章拉。写一个 docker-compose.yml:
services:
3x-ui:
image: ghcr.io/mhsanaei/3x-ui:latest
container_name: 3x-ui
restart: unless-stopped
volumes:
- ./3x-ui:/etc/3x-ui
- ./cert:/etc/cert
ports:
- "2053:2053" # 面板端口,按你实际设置改
- "443:443" # TCP 节点端口
- "443:443/udp" # UDP 节点端口
environment:
- TZ=Asia/Shanghai新版 Compose 已经不需要写 version 字段,老教程里的那行留着只会换来一条警告,可以删掉。启动与日常维护:
docker compose up -d # 启动
docker compose logs -f 3x-ui # 看日志
docker compose pull && docker compose up -d # 升级Docker 路线的好处在迁移:数据都在挂载出来的目录里,换机器时把目录打包带走、重新拉起容器即可。
第一次登录
浏览器打开 http://你的IP:面板端口。注意默认是 HTTP 明文、还没有证书,所以首次登录只在可信网络下完成,紧接着做下一节的加固——改路径、改端口、绑域名上证书,之后再日常使用。
面板安全加固清单
这一节是把面板从"能用的默认值"变成"可以长期挂公网的状态",逐项对照着做:
- 登录用户名不用 admin,密码用密码管理器生成的长随机串
- 面板端口从 2053 换成冷门端口,并同步修改 UFW 放行规则、删掉旧端口
- 面板访问路径从根路径改成一段随机字符串,地址形如
https://IP:端口/随机路径/ - 给面板绑域名并申请 Let's Encrypt 证书,开启 HTTPS 后再日常登录
- 面板设置里打开自动续期,避免证书过期某天突然登不上
- SSH 已是密钥登录且禁用了密码与 root 直登(上一节完成)
- 系统防火墙只放行在用的端口,装完节点后回头清掉调试时开的口
- 养成备份习惯:面板数据库文件在
/etc/3x-ui/(Docker 则在挂载目录),定期拷一份到本地
改端口和路径后,在面板设置页底部点重启面板,用新地址重新登录;旧地址失效是正常现象。证书方面,域名先在 DNS 里加 A 记录指向 VPS,再在面板设置中填域名、选 Let's Encrypt 申请即可;已有证书文件的也可直接指定证书与私钥路径挂载。
加第一个入站:VLESS + Reality
面板就绪,开始建节点。第一个入站直接上主力方案——VLESS + Reality。它是 Xray 在 2023 年推出的伪装思路,和传统 TLS 套壳的区别在于:它不拿你自己的域名和证书做伪装,而是借用一个真实大站的 TLS 握手特征;有人主动探测你的服务器,看到的回应来自那个真实网站,本机不留可供比对的证书指纹。省掉域名和证书维护的同时,抗探测能力反而更好。协议本身的横向对比可回看 协议深度对比。
伪装目标怎么选
Reality 需要指定一个目标站点(dest),挑选标准就四条:支持 TLS 1.3 且开启了 HTTP/2;在境外;长期稳定在线;不要选全球流量最大的那几个门户,特征太扎眼。用之前可以拿 TLS 1.3 检测工具 验一下是否达标,微软官网和它的登录门户域名是社区用得较多的两类目标。
面板操作
入站列表 → 添加入站,按下表填:
| 字段 | 填法 | 备注 |
|---|---|---|
| 备注 | 如 VLESS-Reality-US | 自己能认出来就行 |
| 协议 | vless | |
| 监听 IP | 留空或 0.0.0.0 | 监听全部网卡 |
| 端口 | 443 | |
| 传输 / 安全 | reality | 新版面板在安全选项里选 |
| Flow | xtls-rprx-vision | 客户端要保持一致 |
| dest | www.microsoft.com:443 | 换成你选定的目标 |
| SNI | www.microsoft.com | 与 dest 的域名一致 |
| 密钥对 | 点生成 | 公钥要发给客户端用 |
| Short ID | 点生成 | 随机短串即可 |
| 客户端 UUID | 点生成 | 每个用户一个 |
保存后别忘了确认:UFW 放行了 443/tcp(前面已开)。回到入站列表,这个节点右侧的操作菜单里有二维码和复制链接,分享链接长这样:
vless://uuid@服务器IP:443?encryption=none&flow=xtls-rprx-vision&security=reality&sni=www.microsoft.com&fp=chrome&pbk=公钥&sid=短ID&type=tcp#VLESS-Reality-US连上之后随便打开一个显示 IP 的网站,确认出口已经变成 VPS 的 IP,就算通了。各客户端的详细导入姿势在下一节统一说。
再补两个入站:备用与加速
主力有了,再按需求补两个角色不同的入站,它们和 Reality 不是替代关系,而是分工。
VMess + WebSocket + TLS:为套 CDN 而生
这条老牌组合最大的价值是能藏到 Cloudflare CDN 后面:流量先到 CDN 再回源到 VPS,就算真实 IP 哪天被封,节点也不至于当场报废。代价是多绕一跳、延迟增加几十毫秒,所以定位是备用通道。
建入站时协议选 vmess、传输选 ws、TLS 打开,路径(path)设一段随机字符串,Host 填你解析到 VPS 的域名。想套 CDN 的话,把域名 DNS 托管到 Cloudflare、A 记录打开橙色云朵代理,SSL/TLS 加密模式设为 Full 或 Full (Strict),客户端里服务器地址写域名。
Hysteria2:弱网和大流量场景
Hysteria2 跑在 QUIC 之上、用 UDP 承载,在丢包率高的网络里比 TCP 稳得多,带宽也更容易跑满,适合下载、拉流这类大流量场景;短板是 UDP 特征相对明显,被运营商压制时会变慢,定位是按需启用的加速通道。建入站选 hysteria2,端口用 443 的 UDP(确认 443/udp 已放行),密码自动生成,TLS 用面板为你的域名申请的证书。客户端侧有个特有参数:上下行带宽声明,按本地宽带实际数值略往低填,虚报并不会让网速变快,只会干扰拥塞控制。
Trojan:一句带过
Trojan 把流量直接扮成普通 HTTPS,结构简单、性能不错,但在 Reality 出现之后优先级已经靠后:它不支持 CDN 中转,伪装强度也不占优势。除非某个特定客户端只认 Trojan,否则新建节点没必要选它。
客户端导入与订阅
分享链接与二维码
每个入站都能单独导出分享链接或二维码:手机端扫码最省事,桌面端复制链接后在客户端里选"从剪贴板导入"。这一步各家客户端的菜单位置大同小异,站内有逐个拆解的教程:
| 客户端 | 教程 |
|---|---|
| Clash Verge Rev | Clash Verge Rev 使用教程 |
| Clash Nyanpasu | Clash Nyanpasu 使用教程 |
| v2rayN | v2rayN 使用教程 |
| Shadowrocket | Shadowrocket 使用教程 |
| FlClash | FlClash 使用教程 |
| NekoBox | NekoBox 使用教程 |
更完整的客户端横向说明见 全平台科学上网客户端配置终极指南。
用订阅统一管理
节点一多,逐条导入就烦了。3X-UI 自带订阅服务:在面板设置里开启订阅功能,设好订阅端口与路径(同样建议改掉默认值),有证书就打开订阅的 TLS,保存重启。之后能拿到一条订阅地址,形如 https://域名:订阅端口/子路径/sub/用户标识,填进客户端的订阅页面即可一次拉取全部节点,增删入站后在客户端点一下更新就行。分发给家人朋友时每人单独建一个客户端账号,订阅互不影响,你也能单独停用某个人。
多用户与流量管理
自建不等于只能自己用。3X-UI 里"客户端"就是账号的概念:在某个入站的编辑页里添加客户端,每人分配独立的 UUID(或对应协议的密码),并可单独设置三样东西——流量上限(跑满自动停)、到期时间(过期自动停)和备注名(认人用)。建议备注直接写使用者的名字加用途,日后查流量一眼就知道是谁。
流量数据在两个地方看:面板首页有整机维度的上下行汇总和实时曲线;入站列表里能下钻到每个客户端的已用流量。这也是排查"网怎么突然变慢"的第一手材料——某台设备半夜跑出异常流量,多半是系统更新或云同步;对不上数就先停用该客户端再慢慢查。每月或换套餐时可以在编辑页手动重置某个人的流量计数;面板目前没有批量操作,人数多了只能逐个处理,算是一个小短板。
IP 被封之后的后手
把最坏情况提前想好:某天直连突然全断,大概率是 IP 被盯上了。你的牌有三张。第一张是前面建好的 VMess + WS + TLS 入站——早早套好 CDN 的话,这时切过去继续用,真实 IP 封不封都不影响入口。第二张是换 IP:有些商家控制台里就能更换,有些需要删机重开(按小时计费的最方便),重开后把面板数据目录迁过去即可。第三张是过渡:先用一份 2026 优质机场推荐 里的订阅顶几天,别让工作和生活断档。
套了 CDN 还想再快一点,可以给客户端到 CDN 这一段做优选:开源工具 CloudflareSpeedTest 能批量测出你本地访问最快的 Cloudflare IP(去它的 Releases 页下对应系统版本,不要记死某个版本号),把测得的 IP 填进客户端的服务器地址、域名保留在 Host/SNI 里即可。优选只优化第一段路程,CDN 到你 VPS 的回源质量不在它管辖范围内。
故障排查表
按"先看面板在不在、再看入站通不通、最后看速度"的顺序往下查,多数问题都能对上号:
| 现象 | 先查什么 | 处理 |
|---|---|---|
| 面板打不开、连接超时 | 防火墙是否放行面板端口;面板服务是否在跑 | 补 ufw allow 面板端口/tcp;SSH 进服务器用面板管理脚本查看状态 |
| 面板报 404 | 访问路径记错了 | 路径是加固时改的那段随机串,地址要带全 |
| 登录凭据忘了 | — | SSH 登录后运行面板管理脚本重置用户名密码 |
| 证书报错登不上 | 证书过期或域名解析变了 | 先用 IP 加路径应急登录,再续签或重签证书 |
| 全部节点超时 | 节点端口未放行;VPS 本身宕机或 IP 已被封 | 逐项验证端口放行;用商家控制台确认机器状态;切 CDN 入站判断是不是 IP 问题 |
| Reality 连不上 | dest 不支持 TLS 1.3;SNI 与 dest 对不上;客户端 flow 不一致 | 换一个达标目标站;SNI 严格等于 dest 域名;flow 两边都设 xtls-rprx-vision |
| VMess 套 CDN 失败 | Cloudflare 加密模式不对;WS 路径两边不一致 | 加密模式改 Full / Full (Strict);核对 path 是否完全相同 |
| Hysteria2 连不上 | UDP 端口没放行;运营商压制 UDP | 放行 ufw allow 端口/udp;换端口再试,仍不行就回落到 TCP 方案 |
| 订阅拉取失败 | 订阅服务未开启;订阅端口未放行 | 面板设置里确认开关;放行订阅端口;检查链接里的路径段 |
| 速度明显变慢 | 线路晚高峰拥堵;VPS 资源跑满 | 换时段对比测速;看面板流量曲线判断是否有人跑大流量;考虑 CDN 中转或换机房 |
| 频繁断线 | 内存不足导致进程被杀;客户端版本过旧 | 升级配置或减少同机服务;更新客户端并重导配置 |
升级与备份
脚本安装的用内置命令更新,Docker 安装的拉新镜像重建即可;两种方式在升级前都先备份一次数据库,万一新版本出问题还能退回去:
# 一键脚本安装
3x-ui update
# 手动备份数据库(脚本安装的默认路径)
cp /etc/3x-ui/3x-ui.db /root/3x-ui.db.bakDocker 用户的数据在挂载目录里,整目录打包拷走就是完整备份。版本上不必追新:面板与 Xray-core 的版本号、发布时间一律以官方仓库当前发布为准,新版稳定几天再跟。
常见问题
3X-UI 和 X-UI 选哪个? X-UI 是原版、已停止维护;3X-UI 是社区延续的分支,补上了 Reality、Hysteria2、TUIC 等新协议和更好的订阅与安全设置。新装没有理由选回老版本。
Reality 的目标站可以随便填吗? 不行。对方站点必须支持 TLS 1.3 和 HTTP/2,而且 SNI 要和 dest 域名严格一致;填一个不达标的站点,表现就是握手失败、怎么都连不上。用命令行 curl -v 打开目标站,看返回里是否协商到 TLS 1.3,是最快的自检办法。
一台小鸡能带几个人? 面板和 Xray 占用很低,1 核 1G 供十来个人日常浏览毫无压力;瓶颈是带宽和流量包,重度看 4K 的人数要按流量总额倒推。
多个协议能共用 443 吗? TCP 和 UDP 互不冲突,Hysteria2 的 UDP 443 与 Reality 的 TCP 443 可以并存;两个 TCP 协议想同端口则要靠入站回落(fallback)分流,配置更复杂,自用场景没必要折腾,分开端口最省心。
证书一定要买吗? 不用。面板支持通过 Let's Encrypt 免费申请并自动续期,你只需要一个能改解析的域名;实在没有域名,就只用 Reality 入站,它根本不需要证书。
组合建议与收尾
落到一套可直接照抄的配置:主力用 VLESS + Reality 走 443 直连;备用建一条 VMess + WebSocket + TLS 套好 Cloudflare CDN,IP 出事时顶上;大流量或弱网需求再开 Hysteria2。面板改端口、改路径、上证书,SSH 只认密钥,防火墙白名单式放行,数据库定期备份——这套组合胜在每一层都有退路。想再细挑机器和机场搭配的,把 VPS 选购指南、机场推荐汇总、客户端配置指南 三篇连起来读即可。
延伸阅读
免责声明
本文仅供技术交流和学习参考。涉及第三方服务的链接可能包含 sponsored 标记,请自行核实服务条款、价格和可用性,并遵守当地法律法规。