这篇 Marzban VLESS Reality 节点搭建教程从已经安装好的面板开始,依次给大家讲解如何添加 VLESS + TCP + REALITY 入站、生成 Reality 密钥、创建用户、获取订阅链接,并导入客户端完成连接测试。
如果还没有安装 Marzban 的网友,可以先参考 Marzban 面板安装教程,确认后台能够正常登录后,再继续下面的操作。
这里需要注意,Marzban 和 3X-UI 面板的操作方式不完全一样。如果您更习惯通过网页表单添加入站,也可以参考:3X-UI 面板 VLESS Reality 搭建教程。Marzban 的用户、流量、到期时间和订阅链接可以直接在网页后台管理,但底层入站仍然需要进入 Marzban 核心设置修改 Xray 配置。
一、生成 VLESS Reality 密钥和 Short ID
在添加 VLESS TCP Reality 入站之前,我们需要先准备 Reality 私钥、公钥和 Short ID。私钥需要填写在服务端的核心配置中,公钥则由客户端连接时使用。
当前我们的 Marzban 面板后台已经使用了 443 端口,所以这里就用 8443 作为 Reality 节点端口,避免两个服务占用同一个端口。
下面的命令需要通过 SSH 连接 VPS 后执行,如果您还在使用密码登录,也可以参考 搬瓦工 SSH 密钥教程,配置 SSH Keys 免密登录并提高服务器登录安全性。
先通过 SSH 登录 VPS,运行下面的命令检查 8443 是否已经被其他程序占用:
ss -lntp | grep -E ':8443[[:space:]]' || echo '8443 端口当前未占用'
如果返回:
8443 端口当前未占用
说明这个端口可以继续使用。
接着运行下面的命令生成 Reality 私钥和公钥:
docker exec marzban-marzban-1 xray x25519
正常会返回类似下面的内容:
Private key: 这里是 Reality 私钥
Public key: 这里是 Reality 公钥
其中:
Private key:服务端私钥,后面需要填写到 Marzban 核心配置中。Public key:客户端连接时使用的公钥,会自动出现在节点配置中。
继续运行下面的命令生成 Short ID:
openssl rand -hex 8
命令会返回一串 16 位字符,例如:
ad3d757c5ac9a5a5
我们需要先把私钥、公钥和 Short ID 暂时保存下来,服务端配置主要会用到私钥和 Short ID,公钥可以用来检查客户端生成的节点参数是否正确。

在 VPS 中检查 8443 端口占用情况,并生成 Reality 私钥、公钥与 Short ID
二、在 Marzban 核心设置中添加 Reality 入站
密钥准备完成后,接下来进入 Marzban 后台添加 VLESS TCP Reality 入站,Marzban 的用户和订阅可以在网页中管理,但底层的 Xray 入站仍然需要在核心设置中添加。
登录 Marzban 后台,点击页面右上角三横线左侧的齿轮按钮,打开核心设置。

在 Marzban 后台点击右上角齿轮,进入 Xray 核心设置并查看当前入站配置内容
进入核心设置后,我们可以看到当前使用的 Xray 配置,刚安装好的 Marzban 通常只有一个默认的 Shadowsocks TCP 入站。
在修改之前,建议先把编辑框中的原始 JSON 复制到本地保存,不同版本或者已经添加过其他入站的用户,原有配置可能并不相同。
如果核心设置中只有默认的 Shadowsocks TCP 入站,可以点击编辑框,按 Ctrl+A 全选,然后替换为下面的完整配置:
{
"log": {
"loglevel": "warning"
},
"routing": {
"rules": [
{
"ip": [
"geoip:private"
],
"outboundTag": "BLOCK",
"type": "field"
}
]
},
"inbounds": [
{
"tag": "VLESS TCP REALITY",
"listen": "0.0.0.0",
"port": 8443,
"protocol": "vless",
"settings": {
"clients": [],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"tcpSettings": {},
"security": "reality",
"realitySettings": {
"show": false,
"dest": "www.samsung.com:443",
"xver": 0,
"serverNames": [
"www.samsung.com"
],
"privateKey": "这里填写刚才生成的 Private key",
"shortIds": [
"这里填写刚才生成的 Short ID"
]
}
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls",
"quic"
]
}
},
{
"tag": "Shadowsocks TCP",
"listen": "0.0.0.0",
"port": 1080,
"protocol": "shadowsocks",
"settings": {
"clients": [],
"network": "tcp,udp"
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "DIRECT"
},
{
"protocol": "blackhole",
"tag": "BLOCK"
}
]
}
粘贴完成后,需要修改下面两处内容:
- 把
这里填写刚才生成的 Private key替换为自己的 Reality 私钥。 - 把
这里填写刚才生成的 Short ID替换为自己的Short ID。
公钥不需要填写到服务端 JSON 中,Marzban 会根据私钥生成对应的客户端公钥,并将它写入订阅和单节点配置。
这份配置使用 www.samsung.com 作为 Reality 伪装目标,后面的 SNI 也需要填写相同的域名。
如果您的核心设置中已经存在其他入站,不要直接覆盖整份配置,需要保留原有内容,只把 VLESS TCP REALITY 这一段加入 inbounds 数组。
检查开头和结尾的花括号没有缺失后,点击右下角的保存。
页面顶部出现“核心设置更新成功”,日志中同时出现类似下面的内容:
Xray 24.12.31 started
说明新的 Reality 入站已经被 Xray 正常读取。
如果保存成功后窗口没有自动关闭,直接点击右上角的关闭按钮即可。

保存 VLESS Reality 核心配置后,Marzban 提示更新成功,Xray 核心也已正常启动
三、设置 Reality 节点地址、SNI 和指纹
Reality 入站添加完成后,还需要设置订阅中使用的服务器地址、端口、SNI 和客户端指纹。
这时回到 Marzban 首页,点击右上角的三横线菜单,然后点击设置。

点击 Marzban 后台右上角三横线菜单,选择“设置”进入 Reality 节点连接参数页面
设置窗口中会显示当前已经添加的入站,这时可以看到:
VLESS TCP REALITYShadowsocks TCP

可以看到 VLESS TCP REALITY 和 Shadowsocks TCP 入站
点击 VLESS TCP REALITY 将它展开。
节点名称可以保持默认,服务器地址也继续使用:
{SERVER_IP}
{SERVER_IP} 会自动读取这台 VPS 的公网 IP,不需要手动填写。

展开 VLESS TCP REALITY 入站
继续点击左下方的高级选项,可以看到端口、SNI、请求主机、路径、安全层、ALPN 和指纹等设置。
这里只需要修改两项:
SNI:填写www.samsung.com- 指纹:选择
chrome
其余选项保持原样:
- 端口:保持
8443 - 请求主机:留空
- 路径:留空
- 安全层:保持
Inbound's default - ALPN:留空
- 碎片图案和噪声模式:留空
- 下面的复选框:不用勾选

填写 www.samsung.com,并将客户端指纹选择为 Chrome
这里的 SNI 必须与核心配置中的 serverNames 保持一致,我们在前面的核心配置使用了 www.samsung.com,所以这里也填写相同域名。
确认设置无误后,点击右下角的保存。
四、创建 Marzban VLESS Reality 用户
入站和 Host Settings 配置完成后,下面开始创建用户,Marzban 会为每个用户生成独立的 UUID、订阅链接和节点配置。
我们再次回到首页,点击右侧的创建用户按钮。

进入 Marzban 用户管理页面,点击“创建用户”开始添加 VLESS Reality 用户
打开创建新用户窗口后,左侧可以填写用户名、流量、过期日期和备注,右侧则用来选择协议和入站。
Marzban 可能会默认同时选中 VLESS 和 Shadowsocks。

打开 Marzban 创建新用户窗口,可以看到默认选中的 VLESS 和 Shadowsocks 协议
这里搭建的是 VLESS Reality 节点,所以需要先点击 Shadowsocks 卡片将它取消,只保留蓝色边框的 VLESS。
接着点击 VLESS 右侧的三个点,展开入站和 Flow 设置,确认 VLESS TCP REALITY 入站已经勾选,然后把 Flow 从 none 改为:
xtls-rprx-vision
接下来填写用户信息,可以参考下面的设置:
- 用户名:
vless_reality - 保持:关闭
- 流量限制:
100 GB - 定期重置流量:选择“无”
- 过期日期:不需要限制时可以留空
- 备注:
VLESS Reality 测试用户 - ID:保持自动生成
- 入站:勾选
VLESS TCP REALITY - Flow:
xtls-rprx-vision
确认各项设置无误后,点击右下角的创建用户。

设置 VLESS Reality 用户名、流量限制、Flow 和入站参数,确认无误后点击创建用户
创建完成后会返回用户列表。新用户状态显示为“活跃”,流量栏显示刚才设置的 100 GB,说明用户已经创建成功。
用户名旁边暂时显示 Not Connected Yet 也正常,它表示这个用户还没有通过客户端建立过连接。
用户右侧还提供了三个功能入口:
- 链条图标:复制完整订阅链接。
- 剪贴板图标:复制当前用户的单节点配置。
- 二维码图标:查看订阅二维码和单节点二维码。
订阅链接、单节点配置和二维码都包含用户的连接信息,不要随意公开分享。

VLESS Reality 用户创建成功并显示活跃状态,右侧可复制订阅链接、单节点配置或查看二维码
Marzban 可以通过网页后台创建多个用户,并为每个用户生成独立的 UUID、流量限制和订阅链接。如果您想了解不使用面板时如何手动添加多个用户,可以继续参考 V2Ray 多用户配置教程。
五、导入订阅并测试 Reality 节点
订阅链接可以导入支持 VLESS Reality 和 xtls-rprx-vision 的客户端,本站使用 Clash Verge 给大家进行演示,其他支持相同协议的客户端也可以使用。
打开 Clash Verge,点击左侧的订阅。
把从 Marzban 复制的订阅地址粘贴到顶部的“订阅文件链接”输入框中,然后点击右侧的导入。

在 Clash Verge 订阅页面粘贴 Marzban 订阅链接,点击“导入”添加 VLESS Reality 节点
导入成功后,页面会出现一个新的订阅卡片,并显示订阅流量和更新时间。
点击订阅卡片或者右上角的刷新按钮,确保客户端已经读取到最新的节点配置。

Marzban VLESS Reality 订阅已成功导入 Clash Verge,并显示订阅流量和更新时间
接着点击左侧的代理,顶部暂时选择全局模式。
在代理组中点击:
Marz (vless_reality) [VLESS - tcp]
让这个节点卡片变成蓝色。
这里不要选择 DIRECT,否则访问流量仍然会直接连接,不会经过刚搭建的 Reality 节点。
点击节点测试延迟,能够正常显示延迟数值,说明客户端已经可以连接到 Marzban 服务器。

在 Clash Verge 全局模式中选择 VLESS Reality 节点,测试后可以正常显示连接延迟
最后回到 Clash Verge 首页,确认“当前节点”已经显示刚才选择的 VLESS 节点,然后打开系统代理。
首页同时显示当前节点、延迟、全局模式和系统代理开启状态后,就可以通过浏览器测试网络连接。

Clash Verge 已选择 Marzban VLESS Reality 节点并开启系统代理,可以开始测试浏览器网络连接
全局模式适合检查节点是否能够连接,测试完成后,可以根据自己的代理规则切回规则模式。
接着打开浏览器访问任意可以正常打开的网站,如果页面能够正常加载,就说明系统流量已经通过刚才选择的 VLESS Reality 节点。
除了 Marzban,S-UI 也可以通过面板配置 Reality 入站,如果您想对比另一种面板的操作方式,可以参考 S-UI 面板 VLESS Reality 节点搭建教程。
六、总结
到这里,Marzban VLESS Reality 节点已经配置完成。整个过程包括生成 Reality 密钥和 Short ID、添加 Xray 核心入站、设置 SNI 和指纹、创建用户、复制订阅链接以及导入客户端测试。
这次使用的主要参数如下:
- 协议:
VLESS - 传输方式:
TCP - 安全方式:
REALITY - Flow:
xtls-rprx-vision - 节点端口:
8443 - 伪装目标:
www.samsung.com:443 - SNI:
www.samsung.com - 客户端指纹:
chrome
核心入站只需要添加一次,以后创建新的 VLESS Reality 用户时,不需要再次修改核心 JSON,直接在 Marzban 后台设置用户名、流量和过期时间,并勾选已经添加好的 VLESS TCP REALITY 入站,就可以生成新的订阅链接。
| 机房位置 | 带宽 | 流量 | 设备 | 价格 | 购买 |
|---|---|---|---|---|---|
| 洛杉矶 500 | 2.5Gbit | 500GB/月 | 5台 | $5.88/月-$58.88/年 | 购买 |
| 洛杉矶 1000 | 5Gbit | 1T/月 | 无限 | $9.88/月-$98.88/年 | 购买 |
| 洛杉矶 5000 | 5Gbit | 5T/月 | 无限 | $48.99/月-$489.99/年 | 购买 |
| 洛杉矶 10000 | 5Gbit | 10T/月 | 无限 | $93.99/月-$948.99/年 | 购买 |
| 香港 CMI+NTT | 2.5Gbps | 500GB/月 | 5台 | $8.99/月-$89.99/年 | 购买 |
| 香港 CMI+NTT | 5Gbps | 1T/月 | 无限 | $14.90/月-$113.99/年 | 购买 |
| 香港 CMI+NTT | 5Gbps | 5T/月 | 无限 | $59.99/月-$599.99/年 | 购买 |
| 香港 IPLC 专线 | 300MB 独享 | 300GB/月 | 3台 | $21.00/月-$210.00/年 | 购买 |
| 香港 IPLC 专线 | 1G 独享 | 1T/月 | 无限 | $59.00/月-$589.00/年 | 购买 |
| 香港 CN2 GIA | 100MB 独享 | 100GB/月 | 3台 | $34.99/月-$349.99/年 | 购买 |
| 香港 CN2 GIA | 500MB 独享 | 500GB/月 | 5台 | $149.99/月-$1499.99/年 | 购买 |
| 香港 CN2 GIA | 1G 独享 | 1T/月 | 无限 | $279.99/月-$2799.99/年 | 购买 |
| 日本 CN2 GIA | 100MB 独享 | 100GB/月 | 3台 | $29.99/月-$299.99/年 | 购买 |
| 日本 CN2 GIA | 200MB 独享 | 500GB月 | 5台 | $135.99/月-$1349.99/年 | 购买 |
| 日本 CN2 GIA | 500MB 独享 | 1T/月 | 无限 | $239.00/月-$2399.00/年 | 购买 |
| 日本 CN2 GIA | 700MB 独享 | 5T/月 | 无限 | $1135.00/月-$11395.00/年 | 购买 |
| 伦敦 500 | 2.5Gbps | 500GB/月 | 5台 | $6.8/月-$67.99/年 | 购买 |
| 伦敦 1000 | 5Gbps | 1T/月 | 无限 | $11.29/月-$113.99/年 | 购买 |
| 伦敦 5000 | 5Gbps | 5T/月 | 无限 | $59.99/月-$559.99/年 | 购买 |
需要 VPS 服务器?Just My Socks 更适合直接使用代理服务;如果您需要建站、部署项目、搭建环境或学习 Linux,可以选择搬瓦工 VPS,参考 搬瓦工在售 VPS 套餐整理与购买推荐。 |
|||||

搬瓦工教程