主题
v2rayA
介绍
v2rayA 是一个以 Web 界面管理代理节点的客户端,支持 VMess、VLESS、Shadowsocks、Trojan、TUIC 等协议,并可在 Linux 上提供全局透明代理。Docker 镜像已集成 Xray 内核,不需要额外安装代理核心。
Docker Compose
以下配置适用于 Linux,并允许 v2rayA 管理宿主机的透明代理规则。
创建部署目录:
bash
mkdir -p ~/apps/v2raya/data
cd ~/apps/v2raya创建 compose.yml:
yaml
services:
v2raya:
image: mzz2017/v2raya:latest
container_name: v2raya
restart: unless-stopped
privileged: true
network_mode: host
environment:
V2RAYA_LOG_FILE: /tmp/v2raya.log
V2RAYA_V2RAY_BIN: /usr/local/bin/xray
V2RAYA_NFTABLES_SUPPORT: 'off'
IPTABLES_MODE: legacy
TZ: Asia/Shanghai
volumes:
- /lib/modules:/lib/modules:ro
- /etc/resolv.conf:/etc/resolv.conf:ro
- ./data:/etc/v2raya./data 保存节点、订阅和路由等配置,重建或更新容器时必须保留。
防火墙相关环境变量需要与宿主机匹配:
- 使用原生 nftables 时,将
V2RAYA_NFTABLES_SUPPORT设置为'on'。 - 使用 iptables 的 nft 后端时,将
IPTABLES_MODE设置为nftables。 - 使用传统 iptables 后端时,保留示例中的
off和legacy。
可以使用以下命令查看 iptables 后端:
bash
iptables --version启动服务:
bash
docker compose up -d
docker compose logs --tail 100 v2raya访问 http://<服务器地址>:2017,首次进入时创建管理员账户,然后导入订阅或节点并配置代理模式。
仅提供代理端口
如果不需要全局透明代理,或宿主机不支持 host 网络模式,可以改用普通端口映射。该模式不需要特权容器和宿主机内核模块:
yaml
services:
v2raya:
image: mzz2017/v2raya:latest
container_name: v2raya
restart: unless-stopped
ports:
- '2017:2017'
- '20170-20172:20170-20172'
environment:
V2RAYA_LOG_FILE: /tmp/v2raya.log
V2RAYA_V2RAY_BIN: /usr/local/bin/xray
TZ: Asia/Shanghai
volumes:
- ./data:/etc/v2raya默认端口用途:
| 端口 | 用途 |
|---|---|
2017 | Web 管理界面。 |
20170 | SOCKS5 代理。 |
20171 | HTTP 代理。 |
20172 | 带 PAC 的 HTTP。 |
更新
更新前应备份 ./data。生产环境建议使用经过验证的固定版本标签,避免不可控升级。
bash
docker compose pull
docker compose up -d
docker compose logs --tail 100 v2raya安全注意事项
- 全局透明代理配置使用
privileged: true,容器将获得接近宿主机 root 的权限,只应使用可信镜像,并限制部署目录和 Docker 管理权限。 - Web 管理界面应设置强密码,不要直接暴露到公网;需要远程访问时,应通过防火墙、VPN 或可信反向代理限制来源。
./data包含订阅地址、节点和路由配置,不应提交到公开仓库。- 启用透明代理会修改宿主机防火墙和路由规则。远程服务器上操作时,应保留独立的管理连接和恢复手段,避免配置错误后无法连接服务器。
