1.
准备与前提
步骤A:准备一台台湾 VPS(Ubuntu 20.04/22.04 推荐),已具备 root 权限。
步骤B:确保已开放常用管理端口(SSH)、以及待分配给 v2ray 的端口范围(如 10000-10100)。
步骤C:建议先安装 curl、wget、unzip、iptables、tc、cron 等基础工具,命令示例:apt update && apt install -y curl wget unzip iptables iproute2 cron。
2.
安装 v2ray/xray(推荐 Xray-core)
步骤1:使用官方脚本快速安装 Xray(示例):bash <(curl -L -s https://raw.githubusercontent.com/XTLS/Xray-install/main/install-release.sh) install。
步骤2:检查服务状态:systemctl status xray;启动/重启:systemctl enable --now xray。
3.
多用户结构设计(端口+UUID 分配)
方案说明:为便于统计与控制,建议每个用户分配独立端口与 UUID(而非共用端口),例如 10001、10002。
小步骤:在 /etc/xray/config.json 的 inbounds 中为每个端口添加一项 inbound,或使用 single inbound + 多 users(但单端口统计不便)。示例 JSON 片段:{"port":10001,"protocol":"vmess","settings":{"clients":[{"id":"UUID1","alterId":0,"email":"user1"}]}}。
4.
通过 x-ui/v2-ui 面板快速管理(推荐)
优点:面板自带用户添加、流量统计、配额、限速等功能,省时省力。
安装要点:以 x-ui 为例,执行官方一键脚本(请使用可信来源),安装后访问面板,创建用户时填写端口、UUID、流量配额(GB)、上传/下载限速(KB/s)。面板会自动写入 xray 配置并重载服务。
5.
不使用面板时的手动配额思路(iptables + 脚本)
思路概述:按端口统计字节数,定期读取并累计,超额则用 iptables 加入 DROP 规则或将端口改为黑名单。
示例命令:为用户端口 10001 添加统计规则:iptables -I INPUT -p tcp --dport 10001 -j ACCEPT;查询流量:iptables -L INPUT -v -n --line-numbers | grep 10001。脚本示例(伪代码):读取初始字节,间隔 cron 调用,累计字节换算 GB,超限则 iptables -I INPUT -p tcp --dport 10001 -j DROP。
6.
示例:基于端口统计并自动封禁脚本
步骤A:创建脚本 /root/check_quota.sh,逻辑如下:1) 读取 /var/log/quota_state.json 保存的已用字节;2) 用 iptables -L -v 采集当前字节数并累加;3) 若超额调用 iptables -I INPUT -p tcp --dport $PORT -j REJECT 并记录时间。
步骤B:把脚本加入 crontab(每 10 分钟运行):*/10 * * * * /bin/bash /root/check_quota.sh >> /var/log/check_quota.log 2>&1。注意保存并测试脚本以免误封。
7.
使用 tc 做带宽限速(按用户 IP 或端口)
说明:若要精确限制实时速度,可用 tc(traffic control)配合 iptables 标记。
步骤简要:1) 用 iptables mangle 表打 mark:iptables -t mangle -A PREROUTING -p tcp --dport 10001 -j MARK --set-mark 101;2) 创建 tc qdisc 和 class,并用 tc filter 匹配 mark 101 分配带宽,例如 tc qdisc add dev eth0 root handle 1: htb;tc class add ...;tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 101 fw flowid 1:101。
8.
权限控制(访问级别与路由限制)
v2ray/xray 支持 users 的 level 与 policy 配合限制。例如在 config 中定义 policy 字段,并将特定用户设置为 level=1,然后在 policy.profile 中为 level=1 指定更严格的 connIdle、downlink/uplink 限制。
此外可在路由(routing)里用 inboundTag/outboundTag 控制某些用户只能访问特定出口(例如仅允许国内直连或只走特定 outbound)。
9.
账户生命周期与日志审计
实践建议:为每个用户记录创建时间、到期时间、流量上限与当前用量。
日志方案:开启 xray 的访问日志并写入 /var/log/xray/access.log,结合日志分析工具(如 goaccess、自写脚本)每日统计并同步到 quota 状态文件,便于自动扣减和告警。
10.
问:如何为新用户快速生成 UUID 与配置链接?
答:可以使用 uuidgen 命令生成 UUID:uuidgen。将端口、UUID、加密方式等代入 vmess/vless 链接模板,或使用 x-ui 面板“导出配置/生成二维码”功能,面板会自动生成客户端订阅链接。
11.
问:如果用户被误封如何快速恢复?
答:先用 iptables -L --line-numbers 找到对应 DROP/REJECT 规则编号,然后用 iptables -D INPUT
删除该规则;若用面板,直接在用户管理界面解除封禁。恢复后检查脚本阈值和计数逻辑避免再次误封。
12.
问:在台湾 VPS 上有特殊注意事项吗?
答:注意当地带宽计费与网络质量,避免使用过低延迟端口导致被 ISP 限制;建议选用 VPS 提供商支持流量监控的面板(方便核对账单),并对面板及服务启用防火墙和 fail2ban,定期备份 xray 配置与 quota 状态文件。
来源:多用户管理 台湾vps v2ray 账号权限与配额控制方法