作为「社会工程烟酒院灵魂设计师」和「资深二手垃圾收藏家」,我始终坚信,技术的终极浪漫在于分享。独乐乐不如众乐乐,一个强大的代理节点亦是如此。今天,我们就来聊聊如何为你的v2ray服务器开设“分店”,实现优雅的多用户管理,让一台服务器化作一座通往广阔天地的巴别塔,允许多人并行,却互不干扰。
[members_only]

为何需要多用户?
在你亲手搭建起第一个v2ray节点,享受着“天高任鸟飞”的快感之后,或许会萌生这样的念头:
- •赠予挚友:如此利器,岂可独享?分发给三五知己,共览墙外风景。
- •家庭共用:为家人统一配置,免去逐一指导的繁琐。
- •小型团队协作:为项目组成员提供稳定、统一的外部访问通道。
- •精细化权限管理:为不同用户分配不同的流量额度、速度限制,实现资源的合理调度。
单一的配置已无法满足这些需求,这时,多用户配置便从“可选”变成了“必选”。
部分网友自行搭建好v2ray科学上网环境后,不好意思拒绝朋友的分享请求,所以想设置一个不同的端口或者id再分享。类似的需求v2ray都是支持的,配置起来也不算麻烦。本文就v2ray普通版、伪装版分别介绍v2ray多用户配置。
注意:自行更改配置文件需要用到 vi/vim/nano 等编辑器,或者把配置文件下载到本地修改,修改完再上传到服务端。下载和上传教程请参考:Bitvise连接Linux服务器教程(Windows用户)。
普通版多用户配置
v2ray一键脚本 运行完后,会输出配置文件路径,默认是 /etc/v2ray/config.json,其内容类似这样:
{
"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": 53
}
]
}
}],
"outbounds": [{
"protocol": "freedom",
"settings": {}
},{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}],
"routing": {
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "blocked"
}
]
}
}
下文教程的修改都是参考这个文件,如果出现问题,请注意与原来文件的差异。
v2ray多用户分成两种:同端口不同id,不同端口不同id。v2ray两种类型都支持,接下来分别做介绍。
同端口不同id
这是最简单的配置多用户方式。方法是编辑 /etc/v2ray/config.json 文件,在”clients“一节中增加新增用户配置。例如在上面配置基础上增加一个用户:
{
"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": 53
}, # 逗号不能少
# 下面是新增的内容
{
"id": "2a1292fd-07be-37e7-af20-57668b4a546a", # id可以用 /usr/bin/v2ray/v2ctl uuid生成
"level": 1, # 这个不用改
"alterId": 63 # 建议50-150之间的一个整数
}
# 新增内容结束
]
}
}],
# 下面的内容保持不变
注意:“#”和后面的东西都不能出现在配置文件中,上面只是为了解释说明。
编辑好文件后,重启 v2ray:systemctl restart v2ray。如果命令失败,或者 netstat -nltp | grep v2ray 输出为空,说明配置文件有错误,请仔细检查,改好后再重启。
接下来就可以用新的id和alterId配置客户端,其余信息保持不变。
不同端口不同id
如果希望端口也不一样,请按照如下步骤做:
1. 首先编辑 /etc/v2ray/config.json 文件,按照”inbounds“格式新增入口和用户。例如新增一个端口和用户后,配置文件变成:
{
"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": 53
}
]
}
}, # 逗号不能省,原来这里是"}],"
# 以下是新增的配置
{
"port": 54321, # 端口是1000-65535之间的一个整数
"protocol": "vmess", # 也可以改成其他协议,如果你知道怎么配置的话
"settings": {
"clients": [
{
"id": "24813255-228d-b0e0-c3fa-e5d4c9defda1", # id可以用 /usr/bin/v2ray/v2ctl uuid生成
"level": 1, # 0或1都可以
"alterId": 57 # 建议50-150之间的一个整数
}
]
}
}],
# 新增内容结束
# 下面的内容保持不变
注意:“#”和后面的东西都不能出现在配置文件中,上面只是为了解释说明。
编辑好文件后,重启 v2ray:systemctl restart v2ray。如果命令失败,或者 netstat -nltp | grep v2ray 输出为空,说明配置文件有错误,请仔细检查,改好后再重启。
2. 设置防火墙放行新增的端口。CentOS系统命令是:
firewall-cmd --permanent --add-port=54321/tcp # 注意:54321要改成你的端口号 firewall-cmd --permanent --add-port=54321/udp # 注意:54321要改成你的端口号 firewall-cmd --reload
Ubuntu系统命令是:
ufw allow 54321/tcp # 注意:54321要改成你的端口 ufw allow 54321/udp # 注意:54321要改成你的端口
接下来用新的端口、id和alterId配置客户端,其余信息保持不变。
带伪装多用户配置
同端口不同id的配置和普通版操作方法一样,配置好后重启v2ray就行了,这里不再重复。
接下来说说不同端口不同id的情形。伪装有了Nginx的介入,所以有多种情况,这里只介绍最简单的一种实现方式。
1. 编辑 /etc/v2ray/config.json 文件,按照 普通版同端口不同id 中的方法添加用户;
2. 编辑 /etc/nginx/conf.d/你的域名.conf 文件,找到 “listen 443 ssl http2;” 这一行,在这行下面添加“listen 新的端口号 ssl http2;”一行(新的端口号要改成整数,例如8443,不能是443)。然后保存文件, nginx -t 检查配置有没有错误,没有错误的话重启Nginx:systemctl restart nginx;
3. 设置防火墙放行端口,请参考 普通版设置防火墙 中的命令。
接下来用新的端口、id和alterId配置客户端,其余信息保持不变。
如果你想添加多个端口或多个用户,重复上面的过程就可以了。
[/members_only]
哲思——技术背后的分享精神
从独享到共享,不仅是配置文件的几行变更,更是一种技术理念的升华。我们折腾VPS,研究协议,不仅仅是为了满足一己之需,更是为了构建一个更自由、更互联的小世界。这座用代码砌成的巴别塔,其意义不在于高度,而在于它能容纳多少渴望交流的灵魂。
「三分妖娆予技术,七分才貌显人心。」 配置终会过时,协议亦会迭代,但这份乐于分享、追求开放的精神,才是我们这些“AIGC街的一名小学生”和“灵魂设计师”最宝贵的财富。