V2Ray 多用户配置教程:在一台 VPS 上为多个用户分配独立账号,核心是修改 /etc/v2ray/config.json。常见做法有两种:一种是“同端口不同 UUID”,多个用户共用同一个端口;另一种是“一人一端口”,不同用户使用不同端口。本文以 VMess 为例,整理普通版 V2Ray 与带 Nginx 伪装版 V2Ray 的多用户配置方法,并补充客户端填写、配置检查和常见排错步骤。

Nginx 配合 V2Ray 搭建多用户共存
在前面的一系列文章中,搬瓦工教程网已经介绍过 V2Ray 的安装、使用以及客户端下载等教程。今天这篇文章继续围绕 V2Ray 多用户配置展开,重点解决同一台 VPS 如何给不同用户分配独立 UUID、独立端口以及客户端应该怎么填写的问题。
很多人搭建 V2Ray 后,会遇到多台设备、朋友或不同用户同时使用的情况。不建议所有人共用同一个 UUID,因为后续排查问题、停用单个用户都会比较麻烦。给每个用户分配独立 UUID,后面管理起来会更方便。
V2Ray 多用户配置主要分为两类:
- 同端口不同 UUID:多个用户共用一个端口,每个用户使用自己的 UUID。
- 多端口独立用户:不同用户使用不同端口和不同 UUID。
如果只是给少量用户使用,优先选择同端口不同 UUID;如果需要按端口区分用户、单独放行端口或单独排查连接问题,再使用多端口方案。
一、准备工作:远程连接 VPS 服务器
在操作前需要具备基础 Linux 操作能力,因为后面会用到 vi、vim、nano 等编辑器。也可以把 V2Ray 配置文件下载到本地修改,确认无误后再上传到服务器。
Windows 系统:Windows 用户可以使用 Xshell 远程连接 VPS 服务器。
- Xshell 下载地址:最新免费版 Xshell 和 Xftp 下载地址(中文版永久免费)
- Xshell 使用教程:利用 Xshell 远程登录 SSH 连接 VPS 服务器教程
Mac OS X(苹果)系统:Mac OS X 用户可以直接使用系统自带终端。打开终端工具,或者按 Command+空格 组合键搜索“终端”,然后输入下面的 SSH 命令:
ssh root@ip_address -p ssh_port
例如:
ssh root@192.168.0.1 -p 23456
其中,ip_address 需要替换为 VPS 的 IP 地址,ssh_port 需要替换为 VPS 的 SSH 端口。回车后输入 VPS 的 SSH 密码,登录成功后就可以编辑 V2Ray 配置文件。
常见 V2Ray 配置文件路径是:
/etc/v2ray/config.json
注意:V2Ray 配置文件是 JSON 格式,不能把 # 注释复制进去,也不能少逗号、少括号。很多 V2Ray 配置失败并不是命令问题,而是 config.json 格式写错。
二、普通版 V2Ray 多用户配置方法
普通版 V2Ray 指的是没有通过 Nginx 做 WebSocket / TLS 反代的基础配置。配置多用户之前,原来的 V2Ray 服务端必须已经可以正常连接。此教程是在原服务端已经跑通的前提下,继续修改 /etc/v2ray/config.json 来增加用户。
如果还没有安装 V2Ray,可以先参考 CentOS 系统 V2Ray 一键脚本安装教程 完成基础环境搭建。该教程同时兼容 Ubuntu、Debian,适合先把普通版 V2Ray 服务端跑通,再回到本文继续配置多用户。
习惯使用 Ubuntu 系统的用户,安装命令和依赖包会有所不同。遇到包管理器报错或环境装不上的情况,可以参考 Ubuntu 系统带伪装 V2Ray 一键脚本安装教程,先完成前置安装。
如果您准备搭建的是普通 VMess-TCP 节点,而不是带 Nginx 伪装的 WebSocket / TLS 节点,也可以参考 Ubuntu 搭建 V2Ray 教程,先完成 V2Ray 一键脚本安装和 VMess-TCP 基础配置,再回到本文继续添加多用户。
普通版 VMess 服务端配置通常类似下面这样:
{
"log": {
"loglevel": "info",
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log"
},
"inbounds": [
{
"port": 12345,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "6be0aa25-09c1-4d8b-a96f-75cd3485021f",
"level": 1,
"alterId": 0
}
]
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
},
{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}
],
"routing": {
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "blocked"
}
]
}
}
这段 V2Ray VMess 配置里,需要重点看三个字段:
port:V2Ray 服务端监听端口,客户端也要填写同一个端口。id:VMess 用户 UUID,每个用户应该使用不同 UUID。alterId:现在新配置一般使用0,客户端也要填写0。
在 VMess 配置中,alterId 建议统一填写 0。新增 V2Ray 用户时,服务端 config.json 里怎么写,客户端就要怎么填,尤其是 UUID、端口和 alterId 这几个参数不能对不上。
1. V2Ray 同端口不同 UUID 配置
同端口不同 UUID 是最常用的 V2Ray 多用户配置方法。它的做法是在同一个 inbound 下面的 clients 数组里增加用户。端口保持不变,每个用户分配一个独立 UUID。
例如原来只有一个用户:
"clients": [
{
"id": "6be0aa25-09c1-4d8b-a96f-75cd3485021f",
"level": 1,
"alterId": 0
}
]
现在要增加第二个用户,可以改成下面这样:
"clients": [
{
"id": "6be0aa25-09c1-4d8b-a96f-75cd3485021f",
"level": 1,
"alterId": 0,
"email": "user1@example.com"
},
{
"id": "2a1292fd-07be-37e7-af20-57668b4a546a",
"level": 1,
"alterId": 0,
"email": "user2@example.com"
}
]
如果您想直接对照完整配置,可以参考下面这个同端口多用户示例:
{
"log": {
"loglevel": "info",
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log"
},
"inbounds": [
{
"port": 12345,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "6be0aa25-09c1-4d8b-a96f-75cd3485021f",
"level": 1,
"alterId": 0,
"email": "user1@example.com"
},
{
"id": "2a1292fd-07be-37e7-af20-57668b4a546a",
"level": 1,
"alterId": 0,
"email": "user2@example.com"
}
]
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
},
{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}
],
"routing": {
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "blocked"
}
]
}
}
上面示例中,两个用户共用 12345 端口,但 UUID 不同:
- user1 使用
6be0aa25-09c1-4d8b-a96f-75cd3485021f - user2 使用
2a1292fd-07be-37e7-af20-57668b4a546a
email 字段不是邮箱登录功能,主要用于区分不同用户。如果后面需要看日志或做流量统计,给每个用户写一个容易识别的名称会更方便。
同端口不同 UUID 配置完成后,客户端填写方式也很简单:服务器地址、端口、传输协议保持原来的设置,只把 UUID 换成新增用户自己的 UUID,alterId 填 0。
2. 生成新的 V2Ray UUID
每增加一个 V2Ray 用户,都应该生成一个新的 UUID,不要让多个用户共用同一个 UUID。
可以在服务器上执行下面的命令生成 UUID:
cat /proc/sys/kernel/random/uuid
如果系统安装了 uuidgen,也可以执行:
uuidgen
有些旧脚本环境也支持下面的命令:
/usr/bin/v2ray/v2ctl uuid
生成后把 UUID 保存好,服务端 clients 里要填一次,客户端也要填同一个 UUID。
3. V2Ray 多端口多用户配置
如果需要不同用户使用不同端口,可以使用多端口独立用户方案。这个方案是在 inbounds 数组里增加新的入站配置,每个入站配置使用不同端口和不同 UUID。
例如原来的用户使用 12345 端口,现在给第二个用户增加 23456 端口,可以参考下面的完整配置:
{
"log": {
"loglevel": "info",
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log"
},
"inbounds": [
{
"port": 12345,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "6be0aa25-09c1-4d8b-a96f-75cd3485021f",
"level": 1,
"alterId": 0,
"email": "user1@example.com"
}
]
}
},
{
"port": 23456,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "24813255-228d-b0e0-c3fa-e5d4c9defda1",
"level": 1,
"alterId": 0,
"email": "user2@example.com"
}
]
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
},
{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}
],
"routing": {
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "blocked"
}
]
}
}
多端口配置时要注意:
- 新端口不能和服务器上已有服务冲突。
- 客户端要填写新增用户对应的新端口和新 UUID。
- 系统防火墙和 VPS 后台安全组都要放行新增端口。
- 如果只是普通 VMess TCP 连接,一般放行 TCP 端口即可。
多端口方案比同端口不同 UUID 多了端口维护成本。如果没有按端口区分用户的需求,不需要为每个用户单独开一个端口。
4. 防火墙放行 V2Ray 新增端口
如果使用同端口不同 UUID,不需要新增防火墙端口。如果使用多端口独立用户,就必须放行新增端口。
CentOS / Rocky Linux / AlmaLinux 常用命令:
firewall-cmd --permanent --add-port=23456/tcp firewall-cmd --reload
Ubuntu / Debian 使用 UFW 时,可以执行:
ufw allow 23456/tcp
如果您的配置确实需要 UDP,再额外放行 UDP:
firewall-cmd --permanent --add-port=23456/udp firewall-cmd --reload
ufw allow 23456/udp
这里的 23456 要替换成您新增的 V2Ray 端口。除了系统防火墙,还要检查 VPS 后台安全组。有些 VPS 商家后台也会拦截端口,即使系统里已经放行,外部仍然无法连接。
三、带 Nginx 伪装版 V2Ray 多用户配置
带伪装版 V2Ray 通常是指前端使用 Nginx 监听 443 端口,再通过 WebSocket / TLS 等方式转发到本机 V2Ray 服务。相比普通版,带 Nginx 转发的架构更适合配合域名、证书和 WebSocket 路径使用。
如果还没有部署 Nginx+WS+TLS 环境,可以先参考 CentOS 系统带伪装 V2Ray 一键脚本安装教程:Nginx+WS+TLS 部署 完成基础安装,再回到本文添加多用户。
如果已经能正常连接带伪装版 V2Ray,但还想了解路径分流、证书和伪装站点的作用,可以参考 V2Ray 高级使用技巧之流量伪装。先分清 Nginx、WebSocket 路径和 V2Ray 后端端口,后面修改多用户配置时不容易混在一起。
带伪装版 V2Ray 配置多用户前,也要求原来的节点已经能正常连接。下面只讨论在原服务正常的基础上增加用户。
1. 带伪装版同端口不同 UUID 配置
带伪装版使用同端口不同 UUID 时,操作方法和普通版基本一样:只需要修改 V2Ray 的 clients 用户列表,增加新的 UUID,然后重启 V2Ray。
这种情况下,不需要修改 Nginx 配置。客户端填写时,服务器地址、端口、TLS、Host、SNI、WebSocket 路径等参数都沿用原来的配置,只把 UUID 换成新增用户自己的 UUID,alterId 填 0。
例如原来的客户端参数是:
- 地址:您的域名
- 端口:443
- UUID:原用户 UUID
- alterId:0
- 传输协议:WebSocket
- TLS:开启
- 路径:原来的 WebSocket 路径
新增用户后,只替换 UUID,其它参数不要改。很多带伪装版连接失败,不是 V2Ray 多用户配置错了,而是客户端把路径、Host 或 SNI 填错了。
2. 带伪装版新增 Nginx 监听端口
带伪装版也可以使用多端口方案,但要先分清楚两件事:V2Ray 后端端口和 Nginx 对外监听端口不是一回事。
如果您只是想让不同用户用不同 UUID,继续用 443 端口即可,不需要新增 Nginx 监听端口。
如果您希望不同用户使用不同的对外端口,例如原来用 443,新用户改用 4433,可以按下面的方法处理。
第一步,先按照普通版“同端口不同 UUID”的方法,在 /etc/v2ray/config.json 里增加新的用户 UUID。
第二步,编辑 Nginx 配置文件,常见路径类似:
/etc/nginx/conf.d/您的域名.conf
找到原来的监听配置,例如:
listen 443 ssl http2;
在下面增加新的监听端口,例如:
listen 4433 ssl http2;
保存后检查 Nginx 配置:
nginx -t
如果没有报错,再重启 Nginx:
systemctl restart nginx
既然用到了 Nginx 监听 443 端口,服务器前端最好有一个正常网页承接访问。为了避免外部访问时只看到默认欢迎页,可以参考 V2Ray 伪装搭建网站教程,给前端挂一个简单网页。
需要注意的是,这种做法只是给同一个 Nginx 站点增加一个新的对外连接端口,并不等于把某个 UUID 强制绑定到某个端口。
如果要让不同用户真正走不同的 V2Ray 后端端口,需要额外增加 V2Ray inbounds,并在 Nginx 中把不同端口或不同路径转发到对应的本机端口。这个配置更容易出错,新手不建议一开始就这样做。
3. 防火墙与安全组放行新增端口
带伪装版新增对外端口后,也要放行对应端口。例如 Nginx 新增监听 4433,就要放行 4433/tcp。
CentOS / Rocky Linux / AlmaLinux:
firewall-cmd --permanent --add-port=4433/tcp firewall-cmd --reload
Ubuntu / Debian:
ufw allow 4433/tcp
如果您新增的是 23456,就把命令里的 4433 换成 23456。放行后,客户端端口填写新增端口,其它伪装参数按原配置填写。
四、V2Ray 多用户客户端填写与排错
服务端多用户配置完成后,不少人会卡在客户端无法连接。排查时不要急着重装系统,先按顺序检查配置文件、服务状态、端口放行和客户端参数。
1. 检查 V2Ray config.json 配置文件
修改 config.json 后,不建议直接重启。可以先用 V2Ray 自带的 -test 参数检查配置文件:
v2ray -test -config=/etc/v2ray/config.json
如果提示找不到 v2ray 命令,可以试试旧脚本常见路径:
/usr/bin/v2ray/v2ray -test -config=/etc/v2ray/config.json
如果配置文件有问题,命令会输出错误信息。常见错误包括少逗号、括号不匹配、把 # 注释复制进 JSON、字符串没有使用英文双引号等。
如果您对 JSON 配置文件结构不熟,也可以参考 sing-box 配置文件入门 了解 inbounds、outbounds 和路由规则这类基础概念。虽然 sing-box 和 V2Ray 字段不同,但排查配置错误时,先看懂配置结构会省很多时间。
配置检查通过后,再重启 V2Ray:
systemctl restart v2ray
查看 V2Ray 服务状态:
systemctl status v2ray --no-pager
查看监听端口:
ss -lntp | grep v2ray
如果系统没有 ss 命令,可以使用:
netstat -nltp | grep v2ray
查看最近的 V2Ray 日志:
journalctl -u v2ray -n 50 --no-pager
如果配置文件里写了错误日志路径,也可以查看:
tail -n 50 /var/log/v2ray/error.log
2. V2Ray 客户端参数怎么填写
V2Ray 多用户配置完成后,客户端参数要和服务端一一对应。很多连接失败都是这里填错。
| 项目 | 同端口不同 UUID | 多端口独立用户 |
|---|---|---|
| 服务器地址 | 填写原来的 IP 或域名 | 填写原来的 IP 或域名 |
| 端口 | 填写原来的端口 | 填写新增用户对应的新端口 |
| UUID | 填写新增用户自己的 UUID | 填写新增用户自己的 UUID |
| alterId | 填写 0 | 填写 0 |
| 传输协议 | 沿用原配置 | 按新增端口对应配置填写 |
| TLS / Host / SNI / 路径 | 带伪装版沿用原配置 | 按 Nginx 和 V2Ray 配置填写 |
简单来说,同端口多用户只换 UUID;多端口多用户要同时换端口和 UUID。带伪装版不要随便改路径、Host、SNI 和 TLS 设置,除非您同步修改了 Nginx 和 V2Ray 后端配置。
3. V2Ray 多用户连接失败原因
如果客户端导入新 UUID 后无法联网,可以按下面顺序排查:
- JSON 格式错误:
config.json不能包含#注释,新增用户时要注意逗号位置。 - UUID 填错:服务端
clients里的 UUID 必须和客户端填写的 UUID 完全一致。 - alterId 不一致:服务端使用
alterId: 0,客户端也要填写0。 - 端口没有放行:多端口方案需要检查系统防火墙和 VPS 后台安全组。
- Nginx 没有重启:带伪装版新增监听端口后,要先执行
nginx -t,再重启 Nginx。 - 伪装参数填错:WebSocket 路径、Host、SNI、TLS 任一项不匹配,都可能导致连接失败。
- 服务器时间误差过大:VMess 对系统时间有要求,服务器和客户端时间差距过大时可能连接失败。
如果遇到连接超时,不要只看客户端提示。先确认 V2Ray 是否正常运行,再确认端口是否监听,最后看 /var/log/v2ray/error.log 或 journalctl 日志。
另外提个备选方案。自建 V2Ray 需要自己维护服务器、端口、防火墙、Nginx 和客户端参数;如果只是想减少维护时间,可以直接使用搬瓦工官方成品服务。具体操作可参考 搬瓦工机场 Just My Socks 官方客户端 Jamjams 下载与使用。
在使用上述成品搬瓦工机场服务期间,如果遇到网络阻断,处理方式和自建 VPS 不一样。自建 VPS 通常要查日志、换端口或改配置;Just My Socks 用户可以参考 Just My Socks 修改端口 – Just My Socks 怎么更改端口,在后台重置端口。
五、总结
V2Ray 多用户配置的核心是修改 /etc/v2ray/config.json。如果只是给多个用户分配独立账号,优先使用同端口不同 UUID:在 clients 里添加多个用户,每个用户使用自己的 UUID,客户端端口保持不变。
如果需要按端口区分用户,再使用多端口独立用户方案:在 inbounds 里增加新的端口和 UUID,并放行对应端口。带伪装版 V2Ray 还要注意 Nginx 监听端口、WebSocket 路径、Host、SNI 和 TLS 参数是否匹配。
在 VMess 配置中,alterId 建议统一填写 0。新增用户时,服务端 config.json 里的 UUID、端口和 alterId 要与客户端保持一致。修改完成后,先用 v2ray -test -config=/etc/v2ray/config.json 检查配置,再重启 V2Ray,这样可以减少因为 JSON 格式错误导致服务启动失败的问题。
| 机房位置 | 带宽 | 流量 | 设备 | 价格 | 购买 |
|---|---|---|---|---|---|
| 洛杉矶 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 套餐整理与购买推荐。 |
|||||

搬瓦工教程