跳到正文
不翻车专注 VPN 软件评测

3x-ui 自建节点完整教程(v3.10):从装面板到 iPhone 连上

不翻车编辑部 · 更新于

iPhone 上的 Clash Mi 已连接,规则模式,代理走 bufanche-reality 节点

自建节点要做的事只有七步:登录服务器、装面板、建节点、开用户、准备订阅、两项安全设置、手机导入连上。2026 年 10 月 15 日,我们把测试服务器重装成全新状态,用当天的最新版 3x-ui v3.10.2(自带 Xray v26.10.10)从头走了一遍,最后在 iPhone 17 上用 Clash Mi 连上,Google、YouTube 都能打开。下面的终端输出和截图都来自这一次。

这篇有视频版:YouTube 上看《自建节点折腾一晚连不上?3x-ui从零到iPhone连上》。

之前这些步骤分散在好几篇里(安装、面板配置、iPhone 连接),这篇把它们按新版界面合成一篇,中间几个最容易卡住的地方单独标出来。

开始前要准备什么?

  • 一台海外 VPS,系统选 Ubuntu 或 Debian。
  • 服务商给的 IP 地址和 root 密码。
  • 一台电脑。Windows 用自带的 PowerShell,Mac 用“终端”,命令都一样。

服务商后台如果有防火墙或“安全组”,先放开 80 端口,申请证书要用。

第 1 步:登录服务器

ssh root@你的服务器IP

第一次连会问 Are you sure you want to continue connecting (yes/no/[fingerprint])?,输入 yes 回车。再粘贴 root 密码回车,密码粘进去屏幕上什么都不显示,这是正常的。最后一行变成 root@ 开头、# 结尾,就登进去了。

第 2 步:一条命令装 3x-ui

命令只从 3x-ui 项目首页的 Quick Start 复制。它要用 root 权限在你的服务器上跑,网上转来转去的版本万一被改过一个网址,装上的就不是 3x-ui 了。

3x-ui GitHub 项目首页的 Quick Start:一行 bash 安装命令

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

脚本会自己下载,屏幕上能看到 Got x-ui latest version: v3.10.2,然后停下来问几个问题:

屏幕上的提示 怎么答
Database Selection … Choose [1]: 直接回车(SQLite,自己用够了)
Would you like to customize the Panel Port settings? … [y/n]: 输入 n 回车,随机分一个端口
Choose an option (default 2 for IP): 直接回车,给 IP 申请证书,不需要域名
Is 147.125.■■■.■■ the correct incoming public IPv4 address … 直接回车
Do you have an IPv6 address to include? 直接回车跳过
Port to use for ACME HTTP-01 listener (default 80): 直接回车

证书申请走 80 端口验证。这一次日志里是 Verifying 之后几秒出现 Success,80 端口没放开的话,就卡在这一步失败。

我们这次从回车到装完不到一分半。最后打印一张 x-ui control menu usages 命令表,登录信息在它上面,往上翻能看到:

═══════════════════════════════════════════
     Panel Installation Complete!
═══════════════════════════════════════════
Username:    6iG■■■■■■■
Password:    ■■■■■■■■■■
Port:        8122
WebBasePath: aOt6■■■■■■■■■■■■■/
Database:    SQLite (/etc/x-ui/x-ui.db)
Access URL:  https://147.125.■■■.■■:8122/aOt6■■■■■■■■■■■■■/
API Token:   ■■■■■■■■■■■■■■■■■■■■■■■■

马上截图存好。谁拿到这几行,谁就能登录你的面板。真忘了:登录服务器输入 x-ui 回车,管理菜单里能查看设置,也能重置用户名和密码。

面板打不开,一直转圈?

把 Access URL 整行复制到浏览器。一直转圈、最后提示连接超时,多半是面板端口没放行。

  • 服务商有安全组的:去后台放开这个端口。
  • 服务器自己开着 ufw 防火墙的:
root@srv-463■■■:~# ufw allow 8122/tcp
Rule added
Rule added (v6)

我们这台随机分到 8122 端口,就是被 ufw 挡住了,放行以后马上打开。把 8122 换成你自己的端口号。

登录后左上角显示“Xray · 运行中”,面板就装好了。v3.10 默认是深色界面,左边的菜单平时收着,鼠标移过去会展开。

3x-ui v3.10.2 首页:Xray 运行中 v26.10.10,下面是 CPU、内存等状态

第 3 步:建节点(入站)

3x-ui 里节点叫“入站”。点“入站”→“添加入站”,在“基础配置”:备注写个自己认得的名字,协议保持 vless,端口改成 443。

添加入站的基础配置:备注 bufanche-reality,协议 vless,端口 443

切到“安全”,选 Reality。“目标”填一个借来当门面的网站,SNI 只留一个、和目标一样。

Reality 设置:目标和 SNI 都填同一个网站(域名中间已打码)

目标填什么,有两个坑:

  1. 别用微软、苹果的域名。 Xray-core v26.10.10 的源码(infra/conf/transport_security.go)里写着,目标含 apple、icloud、microsoft,或者以 .cn、.ru、.ir 结尾,启动时直接警告“更容易让服务器 IP 被墙”。
  2. 最好挑和服务器同一个机房网络的网站。 怎么找看Reality 的 SNI 填什么,挑好以后可以用本站的 REALITY 目标网站检测查一遍。

往下是 Short IDs、公钥和私钥,面板已经自动填好了,私钥别给任何人看。

Short IDs、SpiderX、公钥、私钥由面板自动填好(截图已打码)

最后切到“嗅探”,把“启用”打开,后面的路由规则靠它认出流量。点“创建”。

嗅探页:启用已打开,HTTP、TLS、QUIC、FAKEDNS

入站列表多了一行:bufanche-reality,443,vless、TCP、Reality

第 4 步:开用户,Flow 一定选 xtls-rprx-vision

用户叫“客户端”。点“客户端”→“添加客户端”:邮箱其实就是名字,不用填真邮箱,我们写 my-phone;流量上限想限就填,我们填了 100 GB;“关联入站”选刚建的节点。

添加客户端:邮箱 my-phone,流量上限 100

关联入站选 bufanche-reality

然后切到“凭据”,最下面的 Flow 默认是“无”,这里一定要选 xtls-rprx-vision。这是最容易漏的一步,不选的话,带 Vision 的客户端连不上。

凭据页的 Flow 下拉框:无、xtls-rprx-vision、xtls-rprx-vision-udp443(UUID 等已打码)

第 5 步:打开 Clash 订阅,加三行直连规则

iPhone 这篇用 Clash Mi,它要 Clash 格式的订阅,面板默认没开。v3.10 的订阅设置挪了位置:面板设置 → 订阅设置。

v3.10 左侧菜单:面板设置下面的订阅设置

在“常规”里打开 Clash / Mihomo 订阅,点“保存”,再点“重启面板”。

订阅设置:Clash / Mihomo 订阅已打开

同一页切到“Clash / Mihomo”,打开“启用路由”,在“全局路由规则”里填:

GEOSITE,private,DIRECT
GEOSITE,cn,DIRECT
GEOIP,CN,DIRECT

局域网、国内域名、国内 IP 直连,剩下的走服务器。不填的话,订阅里只有一条 MATCH,PROXY,国内网站也会绕到国外。保存,再重启一次面板。

Clash / Mihomo 页:启用路由已打开,全局路由规则填了三行

我们用 mihomo 内核拉了一遍这份订阅,规则就是上面三行加 MATCH,PROXY,节点里也带了新版 Reality 要的 support-x25519mlkem768: true。

第 6 步:两项安全设置

路由 → 阻止 IP 加上中国。 输入 cn,点列表里带国旗的那一项 China。别直接打字回车,在 v3.9 上试过,那样会被当成一条自定义规则,Xray 直接起不来。“阻止域名”留空,选了中国会误伤 www.gstatic.com 这类谷歌域名(原因见面板配置那篇)。

路由:阻止 IP 里有 Private IPs 和 China,阻止域名留空

Xray 配置 → 配置路由域策略改成 IPIfNonMatch。 默认的 AsIs 不解析域名,客户端发来的是域名时,“阻止 IP”这条规则匹配不上(Xray 路由文档)。保存,回首页点“重启”。

Xray 配置:配置路由域策略下拉框,选 IPIfNonMatch

第 7 步:iPhone 用 Clash Mi 连上

回到“客户端”,点 my-phone 这一行的详细信息,最下面“订阅信息”有 SUB 和 CLASH 两条,复制 CLASH 这一条。这条链接等于账号的钥匙,发给自己就行,别发到群里。

客户端详情的订阅信息:SUB 和 CLASH 两条链接(订阅 ID 已打码)

Clash Mi 免费、开源,内核是 mihomo,我们用的是 1.0.30。国区 App Store 搜不到,要用外区 Apple ID 下载,注册方法见外区 Apple ID 下载全流程。

打开 Clash Mi,“我的配置”右边点加号 →“添加配置链接”,把链接粘贴进去,备注写个名字,点右上角的对勾,提示“添加成功”。

Clash Mi 加号菜单:获取配置、添加配置链接、从剪贴板导入、扫描二维码

添加配置链接页:粘贴了订阅地址(已打码),备注 my-phone

回首页打开右上角的开关。第一次会弹窗问要不要添加 VPN 配置,点“允许”,再输一次锁屏密码。显示“已连接”,模式保持“规则”,别切“全局”。

Clash Mi 已连接,规则模式,代理走 bufanche-reality-my-phone

我们这台没给用户设到期时间,Clash Mi 的配置里到期日显示成了 1969/12/31,红色。面板发过来的到期时间是 0(不限),Clash Mi 把它当成了一个日期,不影响使用。

为什么不用小火箭?

小火箭 2.2.92(10 月 15 日 App Store 上还是这一版)连不上 Xray 26.9.8 以后的 Reality 节点:服务器要求握手里带 X25519MLKEM768,小火箭还没跟上。连通性测试是绿的,网页却打不开。原因和临时办法见小火箭连不上 3x-ui 新版 Reality。

怎么确认连好了?

用 Safari 打开本站的分流检测。海外的几家查询看到的都是服务器的 IP,说明流量走了节点。

分流检测:IP.SB 和 ipify 看到的都是服务器 IP(已打码)

往下看网站连通性:百度、淘宝、哔哩哔哩能打开,Google、YouTube、GitHub 也都能打开。

网站连通性:百度、淘宝、哔哩哔哩、Google、YouTube、GitHub 都显示可访问

常见问题对照

现象 先查什么
面板打不开,提示连接超时 面板端口有没有放行(安全组或 ufw)
安装时证书申请失败 80 端口有没有放开
客户端连不上 用户的 Flow 选没选 xtls-rprx-vision;SNI 是不是只留一个、和目标一样
连通性测试是绿的,网页打不开 用的是小火箭的话,换 Clash Mi
国内网站变慢 客户端是不是切成了“全局”
Google 打不开 路由的“阻止域名”是不是选了中国

更细的排查顺序见3x-ui 节点超时怎么办。

常见问题

**3x-ui 装完要多久?**我们这次从回车到装完不到一分半,大部分时间在下载和申请证书。

**没有域名能装吗?**能。安装时 SSL 选默认的 2,给 IP 申请证书。日志里写着 IP 证书有效期约 6 天,脚本用 acme.sh 自动续期。

**v3.10 的订阅设置在哪?**左侧菜单“面板设置”下面的“订阅设置”,菜单平时收着,鼠标移过去才展开。

**Reality 的目标能填 www.apple.com 吗?**不建议。Xray 新版源码里,目标含 apple、icloud、microsoft 的会直接警告更容易被墙。

**Clash Mi 里到期日显示 1969 年怎么回事?**这个用户在面板里没设到期时间,面板发的是 0,Clash Mi 把 0 当成了日期,不影响使用。

资料来源

核对日期均为 2026 年 10 月 15 日。